:root{
  --ink:#08162e;
  --navy:#0C4476;
  --mist:#f6f8fb;
  --card:#ffffff;
  --line:rgba(8,22,46,.12);
  --shadow:0 10px 30px rgba(8,22,46,.08);
  --radius:18px;
  --radius2:22px;
  --focus:0 0 0 3px rgba(12,68,118,.15);
  --sans:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

/* Base */
.voyage-form-wrap{margin:18px 0;font-family:var(--sans);color:var(--ink)}
.voyage-form{max-width:820px}
.voyage-grid{display:grid;grid-template-columns:1fr;gap:12px}
.voyage-label{display:block;font-weight:700;margin:0 0 6px}
.voyage-req{color:#d63638}
.voyage-input{
  width:100%; padding:12px 12px; border-radius:14px;
  border:1px solid var(--line);
  outline:none; background:var(--card);
  transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease;
}
.voyage-input:focus{border-color:rgba(12,68,118,.55); box-shadow:var(--focus)}
.voyage-choice{display:flex;flex-direction:column;gap:8px}
.voyage-choice-item{display:flex;align-items:center;gap:10px}
.voyage-btn{
  margin-top:10px; padding:12px 16px; border-radius:14px;
  border:0; cursor:pointer; font-weight:800;
  background:var(--navy); color:#fff;
  box-shadow:0 10px 22px rgba(12,68,118,.18);
}
.voyage-btn:hover{transform:translateY(-1px)}
.voyage-msg{margin-top:10px;padding:10px 12px;border-radius:14px}
.voyage-msg.ok{background:rgba(70,180,80,.12);border:1px solid rgba(70,180,80,.35)}
.voyage-msg.err{background:rgba(214,54,56,.10);border:1px solid rgba(214,54,56,.35)}

/* Templates */
.voyage-template-classic .voyage-form{padding:0}

/* JainVoyagers Inc — Navy Card */
.voyage-template-navy_card .voyage-form{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:18px;
  box-shadow:var(--shadow);
}

/* Minimal Glass */
.voyage-template-minimal_glass .voyage-form{
  background:rgba(255,255,255,.7);
  backdrop-filter: blur(10px);
  border:1px solid var(--line);
  border-radius:var(--radius2);
  padding:18px;
  box-shadow:0 12px 30px rgba(8,22,46,.06);
}

/* Outback */
.voyage-template-outback .voyage-form{
  background:linear-gradient(180deg, rgba(246,248,251,.95), rgba(255,255,255,.98));
  border:1px solid var(--line);
  border-radius:var(--radius2);
  padding:20px;
  box-shadow:var(--shadow);
}
.voyage-template-outback .voyage-btn{border-radius:999px}

/* Airline */
.voyage-template-airline .voyage-form{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
  box-shadow:var(--shadow);
}
.voyage-template-airline .voyage-label{font-size:13px; letter-spacing:.02em; text-transform:uppercase; opacity:.9}

/* Custom HTML helpers */
.voyage-template-custom_html .vf-card{
  max-width:820px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius2);
  padding:18px;
  box-shadow:var(--shadow);
}
.voyage-template-custom_html .vf-head{padding-bottom:10px;border-bottom:1px solid rgba(8,22,46,.08);margin-bottom:14px}
.voyage-template-custom_html .vf-badge{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:800;font-size:12px;letter-spacing:.04em;text-transform:uppercase;
  padding:6px 10px;border-radius:999px;
  background:rgba(12,68,118,.10); color:var(--navy);
  border:1px solid rgba(12,68,118,.18);
}
.voyage-template-custom_html .vf-title{margin:10px 0 6px;font-size:24px;line-height:1.15;color:var(--ink)}
.voyage-template-custom_html .vf-sub{margin:0 0 6px;opacity:.82}
.voyage-template-custom_html .vf-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.voyage-template-custom_html .vf-col.full{grid-column:1 / -1}
.voyage-template-custom_html .vf-foot{margin-top:12px;display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.voyage-template-custom_html .vf-note{opacity:.75;font-size:12px;max-width:520px}
@media (max-width:820px){
  .voyage-template-custom_html .vf-grid{grid-template-columns:1fr}
  .voyage-template-custom_html .vf-col.full{grid-column:auto}
}
