/* ================= AIR TICKETING ================= */
.fsw{background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow);border:1px solid rgba(28,59,107,.08);overflow:hidden}
.fsw__tabs{display:flex;gap:.2rem;background:var(--bordeaux);padding:.5rem .5rem 0;flex-wrap:wrap}
.fsw__tab{display:flex;align-items:center;gap:.5rem;padding:.85rem 1.4rem;color:var(--sand);font-weight:600;font-size:.92rem;border-radius:12px 12px 0 0;cursor:pointer;transition:.25s;border:none;background:transparent;text-decoration:none}
.fsw__tab.on{background:var(--white);color:var(--bordeaux)}
.fsw__tab:not(.on):hover{color:var(--brass)}
.fsw__body{padding:1.5rem}
.fsw__trip{display:flex;gap:.5rem;margin-bottom:1.2rem;flex-wrap:wrap}
.trip-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:999px;border:1.5px solid rgba(28,59,107,.18);font-size:.88rem;font-weight:500;color:var(--wine);cursor:pointer;transition:.25s;background:none}
.trip-pill.on{background:var(--bordeaux);color:var(--cream);border-color:var(--bordeaux)}
.fsw__row{display:grid;grid-template-columns:1.2fr auto 1.2fr 1fr 1fr 1.1fr auto;gap:.6rem;align-items:end}
.fsw__field{display:flex;flex-direction:column;gap:.3rem;position:relative}
.fsw__field label{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--brass-d)}
.fsw__field input,.fsw__field select{border:1.5px solid rgba(28,59,107,.16);border-radius:12px;padding:.75rem .85rem;font-family:var(--f-body);font-size:.95rem;font-weight:500;color:var(--bordeaux);background:var(--paper);outline:none;transition:.2s;width:100%}
.fsw__field input:focus,.fsw__field select:focus{border-color:var(--brass);background:var(--white)}
.fsw__swap{width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(28,59,107,.16);background:var(--white);color:var(--wine);cursor:pointer;display:grid;place-items:center;margin-bottom:.2rem;transition:.25s;flex:none}
.fsw__swap:hover{background:var(--bordeaux);color:var(--cream);transform:rotate(180deg)}
.fsw__search{background:var(--brass);color:var(--bordeaux);border:none;border-radius:12px;padding:.85rem 1.6rem;font-weight:700;font-size:.98rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;justify-content:center;min-height:48px;white-space:nowrap;transition:.3s var(--ease)}
.fsw__search:hover{background:#d8b25f;transform:translateY(-2px)}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;counter-reset:st}
.stepc{position:relative;background:var(--white);border-radius:var(--r);padding:2rem 1.5rem 1.6rem;box-shadow:var(--shadow-sm);border:1px solid rgba(28,59,107,.07);counter-increment:st}
.stepc::before{content:counter(st,decimal-leading-zero);position:absolute;top:1.2rem;right:1.3rem;font-family:var(--f-display);font-size:2.2rem;font-weight:600;color:rgba(201,162,75,.35)}
.stepc__ic{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--bordeaux),var(--wine));color:var(--brass);font-size:1.4rem;margin-bottom:1rem}
.stepc h3{font-family:var(--f-display);font-weight:600;font-size:1.25rem;color:var(--bordeaux);margin-bottom:.4rem}
.stepc p{font-size:.9rem;color:#5a6b7a}

.ftypes{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.ftype{position:relative;min-height:280px;border-radius:var(--r);overflow:hidden;display:flex;align-items:flex-end;color:var(--cream);isolation:isolate;box-shadow:var(--shadow-sm)}
.ftype__img{position:absolute;inset:0;background-size:cover;background-position:center;z-index:-2;transition:transform .6s var(--ease)}
.ftype:hover .ftype__img{transform:scale(1.06)}
.ftype::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(7,22,48,.94),rgba(7,22,48,.2) 70%)}
.ftype__body{padding:1.8rem}
.ftype h3{font-family:var(--f-display);font-weight:600;font-size:1.7rem;margin-bottom:.4rem}
.ftype p{font-size:.95rem;color:rgba(244,246,250,.85);max-width:46ch}

.airlines{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}
.airline-chip{padding:.6rem 1.1rem;border-radius:999px;background:var(--white);border:1px solid rgba(28,59,107,.1);font-size:.9rem;font-weight:500;color:var(--wine);box-shadow:var(--shadow-sm)}

.callback{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow)}
.callback__side{background:linear-gradient(150deg,var(--bordeaux),var(--wine));color:var(--cream);padding:3rem;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.callback__side::after{content:"";position:absolute;right:-60px;bottom:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,75,.3),transparent 70%)}
.callback__side h3{font-family:var(--f-display);font-weight:600;font-size:2rem;margin-bottom:.8rem;position:relative}
.callback__side p{color:rgba(244,246,250,.82);position:relative;margin-bottom:1.6rem}
.callback__contact{position:relative;display:grid;gap:.8rem}
.callback__contact a{display:flex;align-items:center;gap:.7rem;color:var(--cream)}
.callback__contact .ic{color:var(--brass)}
.callback__form{background:var(--white);padding:2.6rem}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.form-field{display:flex;flex-direction:column;gap:.35rem}
.form-field.full{grid-column:1/-1}
.form-field label{font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--brass-d)}
.form-field input,.form-field select,.form-field textarea{border:1.5px solid rgba(28,59,107,.16);border-radius:10px;padding:.8rem .9rem;font-family:var(--f-body);font-size:.95rem;color:var(--bordeaux);background:var(--paper);outline:none;transition:.2s}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--brass);background:var(--white)}
.form-field textarea{resize:vertical;min-height:100px}
.form-note{font-size:.82rem;color:#7f93a8;margin-top:.4rem}
.form-ok{display:none;background:rgba(46,140,90,.12);border:1px solid rgba(46,140,90,.4);color:#2e6b4f;border-radius:10px;padding:.9rem 1rem;font-size:.9rem;margin-top:1rem}
.form-ok.show{display:block}
.form-ok.err{background:rgba(192,57,43,.1);border-color:rgba(192,57,43,.4);color:#a33}

.results-bar{background:var(--bordeaux);color:var(--cream);position:sticky;top:0;z-index:50}
.results-bar__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 0;flex-wrap:wrap}
.results-route{display:flex;align-items:center;gap:1rem;font-family:var(--f-display);font-size:1.3rem}
.results-route .ic{color:var(--brass)}
.results-meta{font-size:.86rem;color:var(--sand);display:flex;gap:1rem;flex-wrap:wrap}
.results-edit{background:var(--brass);color:var(--bordeaux);border:none;border-radius:999px;padding:.55rem 1.2rem;font-weight:600;font-size:.85rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}
.results-layout{display:grid;grid-template-columns:270px 1fr;gap:1.8rem;align-items:start}
.filters{background:var(--white);border-radius:var(--r);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid rgba(28,59,107,.07);position:sticky;top:90px}
.filters h4{font-family:var(--f-display);font-weight:600;font-size:1.15rem;color:var(--bordeaux);margin-bottom:1rem}
.filter-group{margin-bottom:1.4rem}
.filter-group h5{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brass-d);margin-bottom:.7rem}
.filter-opt{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:#33475a;padding:.35rem 0;cursor:pointer}
.filter-opt input{accent-color:var(--brass);width:16px;height:16px}
.flights-list{display:grid;gap:1rem}
.fcard{background:var(--white);border-radius:var(--r);padding:1.4rem 1.5rem;box-shadow:var(--shadow-sm);border:1px solid rgba(28,59,107,.07);display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;transition:.3s var(--ease)}
.fcard:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.fcard__air{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:88px}
.fcard__logo{width:52px;height:52px;border-radius:12px;background:linear-gradient(135deg,var(--bordeaux),var(--wine));color:var(--brass);display:grid;place-items:center;font-family:var(--f-display);font-weight:700;font-size:1.1rem}
.fcard__airname{font-size:.78rem;color:#5a6b7a;text-align:center;font-weight:500}
.fcard__route{display:flex;align-items:center;gap:1.2rem}
.fcard__time{text-align:center}
.fcard__time b{font-family:var(--f-display);font-size:1.5rem;color:var(--bordeaux);display:block;line-height:1}
.fcard__time span{font-size:.8rem;color:#7f93a8}
.fcard__mid{display:flex;flex-direction:column;align-items:center;gap:.2rem;flex:1;min-width:110px}
.fcard__mid .dur{font-size:.78rem;color:#5a6b7a}
.fcard__line{width:100%;height:2px;background:rgba(28,59,107,.15);position:relative;border-radius:2px}
.fcard__line::after{content:"";position:absolute;right:0;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--brass)}
.fcard__stops{font-size:.72rem;color:var(--brass-d);font-weight:600}
.fcard__buy{text-align:right;display:flex;flex-direction:column;gap:.5rem;align-items:flex-end;min-width:150px}
.fcard__price{font-family:var(--f-display);font-size:1.6rem;color:var(--wine);font-weight:600}
.fcard__price small{display:block;font-size:.72rem;color:#7f93a8;font-family:var(--f-body);font-weight:400}
.fcard__tags{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end;margin-top:.2rem}
.ftag{font-size:.68rem;padding:.2em .6em;border-radius:999px;background:rgba(201,162,75,.14);color:var(--brass-d);font-weight:600}
.select-btn{background:var(--brass);color:var(--bordeaux);border:none;border-radius:10px;padding:.7rem 1.4rem;font-weight:700;font-size:.9rem;cursor:pointer;transition:.25s;text-decoration:none;display:inline-block}
.select-btn:hover{background:#d8b25f}

.form-card{background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow);border:1px solid rgba(28,59,107,.07);padding:2.4rem;max-width:820px;margin:0 auto}
.form-card h2{font-family:var(--f-display);font-weight:600;font-size:1.8rem;color:var(--bordeaux);margin-bottom:.3rem}
.form-card .sub{color:#5a6b7a;margin-bottom:1.8rem}
.summary-card{background:var(--cream);border-radius:var(--r);padding:1.6rem;border:1px solid rgba(28,59,107,.08);margin-bottom:1.6rem}
.summary-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.95rem;color:#33475a;border-bottom:1px dashed rgba(28,59,107,.12)}
.summary-row:last-child{border-bottom:none}
.summary-row.total{font-family:var(--f-display);font-size:1.3rem;color:var(--bordeaux);font-weight:600;padding-top:1rem}
.pay-note{display:flex;gap:.8rem;align-items:flex-start;background:rgba(201,162,75,.1);border:1px solid rgba(201,162,75,.3);border-radius:12px;padding:1rem 1.2rem;font-size:.88rem;color:var(--brass-d);margin:1.4rem 0}
.pay-note .ic{color:var(--brass);flex:none;margin-top:.15em}
.stepper{display:flex;gap:.5rem;margin-bottom:2rem;justify-content:center;flex-wrap:wrap;align-items:center}
.stepper span{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#7f93a8;font-weight:500}
.stepper span.on{color:var(--bordeaux)}
.stepper b{width:26px;height:26px;border-radius:50%;background:rgba(28,59,107,.12);color:#5a6b7a;display:grid;place-items:center;font-size:.8rem;font-weight:700}
.stepper span.on b{background:var(--brass);color:var(--bordeaux)}
.stepper i.sep{width:26px;height:1px;background:rgba(28,59,107,.2);display:inline-block}

@media(max-width:1080px){
  .fsw__row{grid-template-columns:1fr 1fr;gap:.8rem}
  .fsw__swap{display:none}
  .steps{grid-template-columns:repeat(2,1fr)}
  .results-layout{grid-template-columns:1fr}
  .filters{position:static}
}
@media(max-width:760px){
  .fsw__row{grid-template-columns:1fr}
  .ftypes{grid-template-columns:1fr}
  .callback{grid-template-columns:1fr}
  .field-grid{grid-template-columns:1fr}
  .fcard{grid-template-columns:1fr;gap:1rem;text-align:center}
  .fcard__buy{align-items:center}
  .fcard__air{flex-direction:row;justify-content:center}
  .results-route{font-size:1.1rem}
  .steps{grid-template-columns:1fr}
}


/* ---- service assurance strip (adds life under hero) ---- */
.assure{background:var(--white);border-radius:var(--r-lg);box-shadow:var(--shadow);border:1px solid rgba(28,59,107,.08);display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;padding:1.5rem 1.9rem;margin-top:-3rem;position:relative;z-index:5}
.assure__item{display:flex;align-items:center;gap:.9rem}
.assure__item+.assure__item{border-left:1px solid rgba(28,59,107,.1);padding-left:1.4rem}
.assure__ic{width:48px;height:48px;border-radius:13px;background:linear-gradient(135deg,var(--bordeaux),var(--wine));color:var(--brass);display:grid;place-items:center;font-size:1.25rem;flex:none}
.assure__item b{display:block;font-family:var(--f-display);font-weight:600;color:var(--bordeaux);font-size:1.08rem;line-height:1.1}
.assure__item div span{font-size:.82rem;color:#5a6b7a}
@media(max-width:760px){.assure{grid-template-columns:1fr;gap:1rem;margin-top:-1.8rem;padding:1.3rem 1.4rem}.assure__item+.assure__item{border-left:none;padding-left:0;border-top:1px solid rgba(28,59,107,.1);padding-top:1rem}}
