/* ============================================================
   Visati — Application wizard (apply.html)
   Light theme, 4-step form + order summary sidebar
   ============================================================ */
.apply-body{background:var(--bg-alt);}
.apply-main{padding-top:70px;}

/* hero */
.apply-hero{padding:46px 28px 26px;}
.back{font-family:"Poppins";font-weight:600;font-size:13.5px;color:var(--grey);display:inline-block;margin-bottom:18px;transition:.15s;}
.back:hover{color:var(--gold);}
.apply-hero h1{font-size:46px;letter-spacing:-1.5px;}
.apply-hero__sub{font-size:15.5px;color:var(--grey);margin-top:12px;font-weight:600;}

/* stepper */
.stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:22px 26px;box-shadow:var(--shadow-sm);}
.stp{display:flex;align-items:center;gap:13px;position:relative;}
.stp:not(:last-child)::after{content:"";position:absolute;right:-4px;top:18px;width:calc(100% - 60px);left:50px;height:2px;background:var(--line);}
.stp.is-done:not(:last-child)::after{background:var(--gold);}
.stp__dot{flex:none;width:36px;height:36px;border-radius:50%;border:2px solid var(--line);background:#fff;color:var(--muted);
  font-family:"Poppins";font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;z-index:1;transition:.2s;}
.stp__txt small{display:block;font-family:"Poppins";font-weight:600;font-size:9.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);}
.stp__txt b{font-family:"Poppins";font-weight:600;font-size:14px;color:var(--ink-2);}
.stp.is-active .stp__dot{background:var(--gold);border-color:var(--gold);color:#1a1408;}
.stp.is-active .stp__txt b{color:var(--ink);}
.stp.is-done .stp__dot{background:var(--navy);border-color:var(--navy);color:var(--gold);}

/* body grid */
.applywrap{display:grid;grid-template-columns:1fr 360px;gap:26px;padding-top:24px;padding-bottom:70px;align-items:start;}

/* form card */
.fcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:38px 40px;box-shadow:var(--shadow-sm);}
.panel{display:none;}
.panel.is-active{display:block;animation:fade .25s ease;}
@keyframes fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.panel__step{font-family:"Poppins";font-weight:600;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);}
.panel h2{font-size:27px;margin:8px 0 24px;letter-spacing:-.8px;}
.panel__lead{font-size:14.5px;color:var(--grey);margin:-12px 0 22px;}

/* fields */
.field{display:block;margin-bottom:20px;}
.row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field__lbl{display:block;font-family:"Poppins";font-weight:600;font-size:13px;color:var(--ink);margin-bottom:8px;}
.field input,.field select{width:100%;background:#fff;border:1.5px solid var(--line);border-radius:11px;
  font-family:"Nunito";font-weight:600;font-size:15px;color:var(--ink);padding:14px 16px;outline:none;transition:.15s;}
.field input::placeholder{color:#aab2bd;font-weight:500;}
.field input:focus,.field select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,162,58,.16);}
.field input.err,.field select.err{border-color:#e0563f;box-shadow:0 0 0 3px rgba(224,86,63,.12);}
.field__hint{display:block;font-size:12.5px;color:var(--muted);margin-top:7px;}

.req{color:#e0563f;font-style:normal;font-weight:700;}

/* multi-traveller blocks */
.applicant{border:1px solid var(--line);border-radius:14px;padding:22px 22px 8px;margin-bottom:18px;background:#fcfcfd;}
.applicant__hd{display:flex;align-items:center;gap:11px;margin-bottom:18px;}
.applicant__n{display:inline-flex;width:28px;height:28px;border-radius:50%;background:var(--navy);color:var(--gold);
  font-family:"Poppins";font-weight:700;font-size:13px;align-items:center;justify-content:center;flex:none;}
.applicant__hd b{font-family:"Poppins";font-weight:600;font-size:16px;color:var(--ink);}
.applicant__tag{font-family:"Poppins";font-weight:600;font-size:11px;color:#9a6f12;background:var(--gold-soft);border-radius:999px;padding:4px 10px;}
.docgroup{border:1px solid var(--line);border-radius:14px;padding:20px 20px 8px;margin-bottom:16px;background:#fcfcfd;}
.docgroup .divider-lbl{color:var(--violet,#9a6f12);color:#9a6f12;}
.divider-lbl{font-family:"Poppins";font-weight:600;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);
  margin:6px 0 18px;padding-top:18px;border-top:1px solid var(--line);}
.notice{display:flex;gap:10px;align-items:flex-start;background:var(--gold-soft);border:1px solid #f0dcae;border-radius:11px;
  padding:13px 16px;font-size:13px;color:#7a5a14;margin-top:6px;}
.notice span{font-size:15px;line-height:1.2;flex:none;}
.notice b{color:#5f450f;}

/* uploads */
.drop{position:relative;display:flex;align-items:center;gap:15px;border:1.5px dashed var(--line);border-radius:13px;
  padding:18px 20px;margin-bottom:14px;cursor:pointer;transition:.18s;background:#fcfcfd;}
.drop:hover{border-color:var(--gold);background:var(--gold-soft);}
.drop.filled{border-style:solid;border-color:#5bbd7e;background:#f3fbf6;}
.drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;}
.drop__ic{font-size:24px;flex:none;}
.drop__txt{flex:1;}
.drop__txt b{display:block;font-family:"Poppins";font-weight:600;font-size:14.5px;color:var(--ink);}
.drop__txt small{font-size:12.5px;color:var(--muted);}
.drop__state{font-family:"Poppins";font-weight:600;font-size:12.5px;color:var(--grey);background:#fff;border:1px solid var(--line);
  border-radius:8px;padding:7px 12px;flex:none;}
.drop.filled .drop__state{color:#2e9e57;border-color:#bfe6cd;background:#fff;}

/* review */
.review{border:1px solid var(--line);border-radius:13px;overflow:hidden;margin-bottom:22px;}
.rgroup{padding:6px 0;}
.rgroup__h{display:flex;justify-content:space-between;align-items:center;background:var(--bg-alt);padding:11px 18px;}
.rgroup__h b{font-family:"Poppins";font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--ink-2);}
.rgroup__h a{font-family:"Poppins";font-weight:600;font-size:12px;color:var(--gold);}
.ritem{display:flex;justify-content:space-between;gap:16px;padding:9px 18px;font-size:14px;border-top:1px solid var(--line);}
.ritem span{color:var(--grey);}
.ritem b{font-family:"Poppins";font-weight:600;color:var(--ink);text-align:right;}

/* payment block */
.pay{background:var(--bg-alt);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:20px;}
.pay__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.pay__head b{font-family:"Poppins";font-weight:600;font-size:15px;color:var(--ink);}
.pay__secure{font-family:"Poppins";font-weight:600;font-size:11.5px;color:#2e9e57;}
.pay__row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;}
.pay__row span{font-size:14px;color:var(--grey);}
.pay__row b{font-family:"Poppins";font-weight:700;font-size:21px;color:var(--ink);}
.pay__brands{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 10px;}
.brandchip{font-family:"Poppins";font-weight:700;font-size:10.5px;letter-spacing:.5px;color:var(--ink-2);
  background:#fff;border:1px solid var(--line);border-radius:7px;padding:6px 10px;}
.pay__note{font-size:12.5px;color:var(--muted);margin:0;}

/* trust row */
.trustrow{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:center;padding:4px 2px;}
.trustrow__i{font-family:"Poppins";font-weight:600;font-size:11.5px;color:var(--grey);}

/* checkbox */
.check{display:flex;gap:11px;align-items:flex-start;font-size:14px;color:var(--grey);cursor:pointer;}
.check input{margin-top:3px;width:17px;height:17px;accent-color:var(--gold);flex:none;}
.check a{color:var(--gold);font-weight:700;}

/* nav buttons */
.navbtns{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line);}
.btn--light{background:#fff;border-color:var(--line);color:var(--ink);}
.btn--light:hover{background:var(--bg-alt);border-color:#d8dde3;}

/* sidebar */
.side{position:sticky;top:90px;display:flex;flex-direction:column;gap:16px;}
.summary{background:var(--bg-alt);border:1px solid var(--line);border-radius:16px;padding:24px;}
.summary__eyebrow{font-family:"Poppins";font-weight:600;font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);}
.summary h3{font-size:21px;margin:9px 0 4px;}
.summary__meta{font-size:13px;color:var(--grey);margin-bottom:18px;}
.summary__rows{border-top:1px solid var(--line);padding-top:16px;}
.srow{display:flex;justify-content:space-between;font-size:14.5px;color:var(--grey);margin-bottom:11px;}
.srow b{font-family:"Poppins";font-weight:600;color:var(--ink);}
.summary__total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:6px;padding-top:16px;}
.summary__total span{font-family:"Poppins";font-weight:600;font-size:15px;color:var(--ink);}
.summary__total b{font-family:"Poppins";font-weight:700;font-size:25px;color:var(--ink);letter-spacing:-.5px;}

.guarantee{background:var(--navy);color:#fff;border-radius:16px;padding:22px 24px;}
.guarantee__ic{font-size:20px;}
.guarantee__eyebrow{font-family:"Poppins";font-weight:600;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold-2);margin-left:6px;}
.guarantee b{display:block;font-family:"Poppins";font-size:16px;color:#fff;margin:12px 0 7px;}
.guarantee p{font-size:13px;color:#aab6c4;margin:0;}

.help{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 20px;transition:.18s;}
.help:hover{border-color:#bfe6cd;box-shadow:var(--shadow-sm);}
.help__ic{display:inline-flex;width:42px;height:42px;border-radius:50%;background:var(--wa);color:#fff;font-size:21px;align-items:center;justify-content:center;flex:none;}
.help b{font-family:"Poppins";font-size:14.5px;display:block;color:var(--ink);}
.help small{font-size:12.5px;color:var(--muted);}

/* success */
.success{position:fixed;inset:0;z-index:90;background:rgba(12,26,43,.55);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .25s ease;}
.success[hidden]{display:none;}
.success__card{background:#fff;border-radius:22px;max-width:480px;width:100%;padding:42px 40px;text-align:center;box-shadow:0 40px 90px -30px rgba(0,0,0,.5);}
.success__ic{display:inline-flex;width:64px;height:64px;border-radius:50%;background:#eafaf1;color:#2e9e57;font-size:30px;align-items:center;justify-content:center;margin-bottom:18px;}
.success__card h2{font-size:26px;margin-bottom:10px;}
.success__card p{font-size:14.5px;color:var(--grey);margin-bottom:18px;}
.success__ref{background:var(--bg-alt);border:1px dashed var(--gold);border-radius:13px;padding:16px;margin-bottom:18px;}
.success__ref small{font-family:"Poppins";font-weight:600;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);}
.success__ref b{display:block;font-family:"Poppins";font-weight:700;font-size:24px;color:var(--ink);letter-spacing:1px;margin-top:5px;}
.success__note{font-size:13px;color:var(--grey);}
.success__btns{display:flex;gap:12px;justify-content:center;margin-top:22px;}

/* ===== Track page ===== */
.track-wrap{padding-top:24px;padding-bottom:24px;display:flex;flex-direction:column;gap:20px;}
.track-search{display:flex;gap:16px;align-items:flex-end;padding:24px 28px;}
.track-search .btn{flex:none;}
.track-empty{text-align:center;color:var(--grey);padding:30px 20px;}
.track-empty__ic{font-size:34px;display:block;margin-bottom:12px;}
.track-empty .note{margin-top:8px;}
.track-empty a{color:var(--gold);font-weight:700;}
.track-result{padding:30px 32px;}
.track-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;}
.track-head h3{font-size:23px;letter-spacing:.5px;margin-top:3px;}
.track-pill{font-family:"Poppins";font-weight:600;font-size:12px;padding:7px 14px;border-radius:999px;flex:none;}
.track-pill.live{background:var(--gold-soft);color:#9a6f12;}
.track-pill.ok{background:#eafaf1;color:#2e9e57;}

/* timeline */
.tl{display:flex;flex-direction:column;gap:0;margin:6px 0 24px;}
.tl__step{display:flex;align-items:flex-start;gap:14px;position:relative;padding-bottom:22px;}
.tl__step:not(:last-child)::before{content:"";position:absolute;left:15px;top:30px;bottom:0;width:2px;background:var(--line);}
.tl__step.is-done:not(:last-child)::before{background:#5bbd7e;}
.tl__dot{flex:none;width:32px;height:32px;border-radius:50%;border:2px solid var(--line);background:#fff;color:var(--muted);
  font-family:"Poppins";font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;z-index:1;}
.tl__step.is-done .tl__dot{background:#5bbd7e;border-color:#5bbd7e;color:#fff;}
.tl__step.is-now .tl__dot{background:var(--gold);border-color:var(--gold);color:#1a1408;box-shadow:0 0 0 4px rgba(212,162,58,.18);}
.tl__txt b{font-family:"Poppins";font-weight:600;font-size:15px;color:var(--ink);display:block;}
.tl__step:not(.is-done):not(.is-now) .tl__txt b{color:var(--muted);}
.tl__txt small{font-size:12.5px;color:var(--grey);}

.track-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;border-top:1px solid var(--line);padding-top:20px;}
.tm{display:flex;justify-content:space-between;gap:12px;font-size:14px;}
.tm span{color:var(--grey);}
.tm b{font-family:"Poppins";font-weight:600;color:var(--ink);text-align:right;}
.paidtag{display:inline-block;background:#eafaf1;color:#2e9e57;font-size:10.5px;font-weight:700;border-radius:6px;padding:2px 7px;vertical-align:middle;}
.track-none{text-align:center;padding:18px 10px;}
.track-none__ic{font-size:30px;display:block;margin-bottom:10px;}
.track-none h3{font-size:20px;margin-bottom:8px;}
.track-none p{font-size:14px;color:var(--grey);max-width:420px;margin:0 auto;}

/* responsive */
@media(max-width:980px){
  .applywrap{grid-template-columns:1fr;}
  .side{position:static;flex-direction:row;flex-wrap:wrap;}
  .summary,.guarantee,.help{flex:1;min-width:220px;}
}
@media(max-width:760px){
  .apply-hero{padding:32px 28px 20px;}
  .apply-hero h1{font-size:31px;line-height:1.1;}
  .fcard{padding:26px 20px;}
  .stepper{grid-template-columns:1fr 1fr;gap:18px 10px;padding:20px;}
  .stp:not(:last-child)::after{display:none;}
  .stp__txt b{font-size:13px;}
  .panel h2{font-size:23px;}
  .row{grid-template-columns:1fr;gap:0;}
  .side{flex-direction:column;}
  .success__btns{flex-direction:column;}
  .track-search{flex-direction:column;align-items:stretch;}
  .track-meta{grid-template-columns:1fr;}
}
@media(max-width:420px){
  .apply-hero h1{font-size:26px;}
  .stp{gap:10px;}
  .stp__dot{width:32px;height:32px;font-size:14px;}
}
