/*!
 * B-LineXpress Bookings — Complete Booking / checkout
 * Version: 0.6.0
 */
.blxco{color:#e8e6e1;font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#0a0a0a;}
.blxco-boot{padding:80px 24px;text-align:center;color:#8d8a82;}
.blxco-wrap{max-width:1100px;margin:0 auto;padding:0 24px;}

/* ---- artistic route banner ---- */
.blxco-hero{position:relative;height:48vh;min-height:380px;overflow:hidden;background:#0e0e0c;}
.blxco-map{position:absolute;inset:0;width:100%;height:100%;filter:saturate(.9) contrast(1.05);}
.blxco-hero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.35) 0%,rgba(10,10,10,.2) 40%,rgba(10,10,10,.92) 100%);pointer-events:none;}
.blxco-hero .glow{position:absolute;inset:0;background:radial-gradient(1100px 420px at 75% -10%,rgba(201,162,39,.18),transparent 60%);pointer-events:none;}
.blxco-hero .inner{position:absolute;left:0;right:0;bottom:0;padding:40px 0;}
.blxco-hero .eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:#c9a227;}
.blxco-hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(34px,5.5vw,60px);line-height:1.02;color:#f6f3ec;margin:10px 0 0;}
.blxco-hero .leg{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#d8d5cd;font-size:clamp(15px,2vw,19px);margin-top:14px;}
.blxco-hero .leg .arrow{color:#c9a227;}
.blxco-hero .sub{color:#a6a39b;font-size:14px;margin-top:10px;letter-spacing:.02em;}

/* ---- body ---- */
.blxco-body{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,4vw,56px);padding:48px 0 80px;}
.blxco-sec-eyebrow{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:#c9a227;display:block;margin-bottom:14px;}
.blxco-h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:26px;color:#f3f1ec;margin:0 0 16px;}

/* route detail list */
.blxco-route{display:flex;flex-direction:column;}
.blxco-rstop{position:relative;display:grid;grid-template-columns:24px 1fr;gap:12px;padding:8px 0;}
.blxco-rstop i{width:11px;height:11px;border-radius:50%;background:#e3c25a;border:2px solid #0a0a0a;box-shadow:0 0 0 1px #c9a227;margin:5px auto 0;}
.blxco-rstop.o i{background:#5cb87a;box-shadow:0 0 0 1px #5cb87a;}
.blxco-rstop.d i{border-radius:50% 50% 50% 0;transform:rotate(45deg);background:#c9a227;}
.blxco-rstop::before{content:"";position:absolute;left:11px;top:-4px;height:14px;width:2px;background:repeating-linear-gradient(#3a3833 0 4px,transparent 4px 8px);}
.blxco-rstop:first-child::before{display:none;}
.blxco-rstop .a{color:#e8e6e1;font-size:14.5px;line-height:1.4;}
.blxco-rstop .k{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#7d7a72;margin-bottom:2px;}

.blxco-facts{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0;}
.blxco-fact{flex:1;min-width:130px;background:#0e0e0c;border:1px solid #1d1c19;border-radius:10px;padding:14px 16px;}
.blxco-fact .k{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8d8a82;}
.blxco-fact .v{font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;font-weight:600;color:#f3f1ec;margin-top:4px;}

.blxco-est{background:linear-gradient(135deg,#1a1814,#0c0c0b);border:1px solid #2a2823;border-radius:14px;padding:20px 22px;margin-top:8px;}
.blxco-est .lbl{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#c9a227;}
.blxco-est .amt{font-family:'Cormorant Garamond',Georgia,serif;font-size:40px;font-weight:600;color:#f6f3ec;line-height:1;margin-top:6px;}
.blxco-est .note{color:#8d8a82;font-size:12.5px;margin-top:8px;line-height:1.5;}

/* checkout form (Stripe-shaped) */
.blxco-card{background:#0e0e0c;border:1px solid #26241f;border-radius:16px;padding:28px;box-shadow:0 40px 90px -50px rgba(0,0,0,.9);}
.blxco-form label{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#8d8a82;margin:14px 0 6px;}
.blxco-form input{width:100%;background:#0a0a0a;border:1px solid #2a2823;border-radius:9px;color:#f0eee8;font:inherit;font-size:15px;padding:12px 13px;outline:none;}
.blxco-form input:focus{border-color:#c9a227;}
.blxco-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.blxco-3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;}
.blxco-cardbox{margin-top:18px;border:1px solid #2a2823;border-radius:12px;padding:16px;background:#0c0c0b;}
.blxco-cardbox .ttl{display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#c9a227;}
.blxco-cardbox .secure{color:#7d7a72;font-size:10.5px;letter-spacing:.06em;}
.blxco-submit{width:100%;justify-content:center;margin-top:20px;}
.blxco-fine{color:#6f6c64;font-size:12px;margin:12px 0 0;line-height:1.5;}
.blxco-err{color:#ff8a7a;font-size:13px;margin-top:10px;}

/* success */
.blxco-done{max-width:620px;margin:0 auto;text-align:center;padding:70px 24px;}
.blxco-done .check{width:72px;height:72px;border-radius:50%;border:2px solid #c9a227;color:#c9a227;font-size:36px;line-height:68px;margin:0 auto 20px;}
.blxco-done h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:38px;color:#f3f1ec;margin:0 0 12px;}
.blxco-done p{color:#cfccc4;font-size:15px;line-height:1.7;}

/* gate */
.blxco-gate{background:#0a0a0a;padding:80px 0;}
.blxco-gatecard{max-width:520px;margin:0 auto;text-align:center;background:#0e0e0c;border:1px solid #26241f;border-radius:16px;padding:40px 32px;}
.blxco-gatecard .eyebrow{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#c9a227;}
.blxco-gatecard h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:30px;color:#f3f1ec;margin:10px 0 12px;}
.blxco-gatecard p{color:#a6a39b;font-size:14px;line-height:1.6;margin-bottom:22px;}

@media(max-width:880px){
  .blxco-body{grid-template-columns:1fr;padding:32px 0 60px;}
  .blxco-hero{height:auto;min-height:0;}
  .blxco-map{position:relative;height:280px;}
  .blxco-hero .inner{position:relative;padding:24px 0 8px;}
  .blxco-hero .scrim,.blxco-hero .glow{display:none;}
}

/* ===== Checkout — mobile polish ===== */
@media(max-width:880px){
  .blxco-card{padding:20px;}
  .blxco-2,.blxco-3{grid-template-columns:1fr;}
  .blxco-form input{font-size:16px;} /* no iOS zoom */
  .blxco-hero .inner{padding:20px 0 6px;}
  .blxco-wrap{padding:0 16px;}
  .blxco-est .amt{font-size:34px;}
}

/* dark-mode native pickers + account fields */
.blxco-form input{color-scheme:dark;}
.blxco-form input::-webkit-calendar-picker-indicator{filter:invert(0.85);opacity:.55;}
.blxco-signin{color:#8d8a82;font-size:12.5px;margin:12px 0 0;}
.blxco-signin a{color:#c9a227;text-decoration:none;}
.blxco-signin a:hover{text-decoration:underline;}

/* ---------- phones ---------- */
@media(max-width:560px){
  .blxco-hero{height:38vh;min-height:280px;}
  .blxco-hero h1{font-size:30px;}
  .blxco-wrap{padding:0 16px;}
  .blxco-form input{height:48px;font-size:16px;}
  .blxco-2, .blxco-3{grid-template-columns:1fr;}
  .blxco-cardbox{padding:14px;}
  .blxco-submit{width:100%;min-height:50px;justify-content:center;}
  .blxco-facts{grid-template-columns:1fr 1fr;}
}
