/*!
 * B-LineXpress Bookings — single tour page + booking widget
 * Version: 0.4.0
 * Customer-facing: keeps the dark luxury brand (tokens from blinexpress.css).
 */
.blxb-tourpage .blxb-back{display:inline-block;color:var(--gold,#c9a227);text-decoration:none;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;}
.blxb-tourpage .blxb-back:hover{color:var(--gold-2,#e3c25a);}
.blxb-tourpage .blxb-meta{color:#cfccc4;font-size:15px;letter-spacing:.04em;margin:14px 0 0;}

.blxb-layout{display:grid;grid-template-columns:1.5fr .95fr;gap:clamp(32px,5vw,64px);align-items:start;}
.blxb-detail .blxb-lede{font-family:var(--serif,'Cormorant Garamond',serif);font-weight:500;
  font-size:clamp(19px,2vw,24px);line-height:1.5;color:#e9e6df;margin:18px 0 0;}

.blxb-facts{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0;}
.blxb-facts .fact{flex:1;min-width:150px;background:var(--panel,#0c0c0b);border:1px solid var(--line,#1c1b18);
  border-radius:8px;padding:16px 18px;display:flex;flex-direction:column;gap:6px;}
.blxb-facts .fact .k{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted,#8d8a82);}
.blxb-facts .fact .v{font-family:var(--serif,'Cormorant Garamond',serif);font-size:20px;font-weight:600;color:var(--heading,#f3f1ec);}

.blxb-includes{margin-top:30px;}
.blxb-includes h3{font-family:var(--serif,'Cormorant Garamond',serif);font-weight:600;font-size:24px;
  color:var(--heading,#f3f1ec);margin:0 0 16px;}

/* ---------- widget ---------- */
.blxb-widget{position:sticky;top:96px;}
.blxb-card{background:var(--panel,#0c0c0b);border:1px solid var(--line-2,#26241f);border-radius:14px;
  padding:30px;box-shadow:0 30px 70px -30px rgba(0,0,0,.8);}
.blxb-card h3{font-family:var(--serif,'Cormorant Garamond',serif);font-weight:600;font-size:28px;
  color:var(--heading,#f3f1ec);margin:8px 0 0;}
.blxb-card-sub{color:var(--muted,#8d8a82);font-size:13.5px;line-height:1.6;margin:12px 0 22px;}

/* fieldsets / steps */
.blxb-step{border:0;padding:0;margin:0 0 22px;}
.blxb-step legend{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold,#c9a227);
  padding:0;margin:0 0 14px;border-bottom:1px solid rgba(201,162,39,.22);padding-bottom:10px;width:100%;}

.blxb-form .blxb-f{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;}
.blxb-form label{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted,#8d8a82);}
.blxb-form input,.blxb-form textarea,.blxb-form select{background:var(--bg,#0a0a0a);border:1px solid #2a2823;border-radius:8px;
  color:#f0eee8;font-family:inherit;font-size:14px;padding:12px 13px;outline:none;width:100%;resize:vertical;color-scheme:dark;}
.blxb-form input:focus,.blxb-form textarea:focus,.blxb-form select:focus{border-color:var(--gold,#c9a227);box-shadow:0 0 0 3px rgba(201,162,39,.12);}
.blxb-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

/* address fields — pin icon + clear affordance */
.blxb-addr{background-image:linear-gradient(transparent,transparent);}
.blxb-f.blxb-has-pin{position:relative;}

/* segmented trip-type control */
.blxb-seg{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.blxb-segopt{position:relative;display:flex;}
.blxb-segopt input{position:absolute;opacity:0;inset:0;cursor:pointer;width:100%;height:100%;}
.blxb-segopt span{flex:1;text-align:center;padding:11px 8px;border:1px solid #2a2823;border-radius:8px;
  background:var(--bg,#0a0a0a);color:#cfccc4;font-size:12.5px;letter-spacing:.03em;transition:all .18s;cursor:pointer;
  text-transform:none;}
.blxb-segopt:hover span{border-color:#3a382f;}
.blxb-segopt input:checked + span{border-color:var(--gold,#c9a227);background:rgba(201,162,39,.12);color:var(--gold-2,#e3c25a);font-weight:600;}

/* distance readout */
.blxb-distance{display:flex;align-items:center;gap:10px;background:rgba(201,162,39,.08);
  border:1px solid rgba(201,162,39,.28);border-radius:8px;padding:11px 14px;margin:0 0 14px;}
.blxb-distance .ico{color:var(--gold,#c9a227);font-size:18px;line-height:1;}
.blxb-distance .txt{color:#e9e6df;font-size:13px;letter-spacing:.02em;}

.blxb-submit{width:100%;justify-content:center;margin-top:6px;}
.blxb-submit[disabled]{opacity:.7;cursor:default;}
.blxb-fineprint{text-align:center;color:#6f6c64;font-size:12px;margin:14px 0 0;}
.blxb-hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0;}
.blxb-err{color:#ff8a7a;font-size:13px;margin:10px 0 0;}

.blxb-success{text-align:center;padding:18px 6px;}
.blxb-success .blxb-check{width:60px;height:60px;border-radius:50%;border:2px solid var(--gold,#c9a227);
  color:var(--gold,#c9a227);font-size:30px;line-height:56px;margin:0 auto 16px;}
.blxb-success h3{font-family:var(--serif,'Cormorant Garamond',serif);font-size:26px;color:var(--heading,#f3f1ec);}
.blxb-success p{color:#cfccc4;font-size:14px;line-height:1.6;margin:10px 0 0;}

/* Google Places dropdown — themed to match the dark widget */
.pac-container{background:#15140f;border:1px solid #2a2823;border-radius:10px;margin-top:6px;
  box-shadow:0 24px 60px -28px rgba(0,0,0,.85);font-family:'Manrope',-apple-system,sans-serif;overflow:hidden;z-index:100001;}
.pac-item{border-top:1px solid #211f1b;padding:9px 12px;color:#cfccc4;font-size:13px;cursor:pointer;}
.pac-item:hover,.pac-item-selected{background:rgba(201,162,39,.12);}
.pac-item-query{color:#f0eee8;font-size:13px;}
.pac-matched{color:var(--gold-2,#e3c25a);}
.pac-icon{filter:grayscale(1) brightness(1.6);}
.pac-logo:after{filter:grayscale(1) opacity(.5);}

@media(max-width:900px){
  .blxb-layout{grid-template-columns:1fr;}
  .blxb-widget{position:static;}
  .blxb-form input,.blxb-form textarea,.blxb-form select{font-size:16px;}
  .blxb-card{padding:22px;}
}
@media(max-width:480px){
  .blxb-row{grid-template-columns:1fr;}
  .blxb-seg{grid-template-columns:1fr;}
}

/* logged-in booking context */
.blxb-asyou{font-size:12.5px;color:var(--muted,#8d8a82);margin:0 0 14px;}
.blxb-asyou strong{color:#e9e6df;}
.blxb-asyou a{color:var(--gold,#c9a227);text-decoration:none;}
.blxb-form input[readonly]{opacity:.75;cursor:not-allowed;}

/* New Google Places element */
.blxb-pac-new{display:block;width:100%;margin-bottom:0;}
gmp-place-autocomplete{width:100%;--gmp-mat-color-surface:#0a0a0a;}
