.jtb-wrap{max-width:1100px;margin:30px auto;font-family:inherit;color:#172033}.jtb-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:28px;box-shadow:0 18px 55px rgba(15,23,42,.08)}.jtb-head span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.jtb-head h2{font-size:34px;margin:6px 0}.jtb-head p{margin:0 0 22px;color:#667085}.jtb-steps{display:flex;gap:8px;margin:20px 0 28px;overflow:auto}.jtb-steps b{white-space:nowrap;background:#f2f4f7;border-radius:999px;padding:8px 12px;font-size:12px;color:#667085}.jtb-steps b.active{background:#172033;color:#fff}.jtb-form,.jtb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.jtb-form>button,.jtb-primary{grid-column:1/-1;border:0;border-radius:12px;background:#172033;color:#fff;padding:14px 18px;font-weight:800;cursor:pointer}.jtb-wrap label{font-size:13px;font-weight:700;display:block}.jtb-wrap input,.jtb-wrap select{box-sizing:border-box;width:100%;margin-top:7px;border:1px solid #d0d5dd;border-radius:11px;padding:12px;background:#fff;font:inherit}.jtb-place{position:relative}.jtb-suggest{position:absolute;z-index:20;left:0;right:0;top:70px;background:#fff;border-radius:12px;box-shadow:0 14px 35px rgba(0,0,0,.15);overflow:hidden}.jtb-suggest button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:11px 14px;cursor:pointer}.jtb-suggest button:hover{background:#f2f4f7}.jtb-loading{padding:12px;color:#667085}.jtb-result{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;border:1px solid #e5e7eb;border-radius:15px;padding:16px;margin-top:12px}.jtb-result small{display:block;color:#667085;margin-top:5px}.jtb-price{font-size:20px;font-weight:800}.jtb-result button,.jtb-back,#jtb-refresh{border:1px solid #d0d5dd;background:#fff;border-radius:10px;padding:10px 14px;cursor:pointer}.jtb-choice,.jtb-summary{display:flex;justify-content:space-between;gap:18px;background:#f8fafc;border-radius:14px;padding:16px;margin:12px 0 20px}.jtb-summary>div{display:flex;flex-direction:column;gap:4px}.jtb-summary small{color:#667085}fieldset{border:1px solid #e5e7eb;border-radius:14px;padding:16px;margin:15px 0}legend{font-weight:800;padding:0 8px}.jtb-term{display:flex!important;gap:10px;align-items:flex-start;border:1px solid #e5e7eb;border-radius:12px;padding:12px;margin:10px 0;font-weight:400!important}.jtb-term input{width:auto!important;margin-top:4px!important}.jtb-ticket{display:flex;justify-content:space-between;text-decoration:none;border:1px solid #d0d5dd;border-radius:12px;padding:15px;margin:10px 0;font-weight:800}.jtb-ticket span{font-weight:500}.jtb-primary{width:100%;margin-top:18px}.jtb-primary[hidden]{display:none}#jtb-message,#jtb-booking-message{padding-top:12px;color:#475467}@media(max-width:700px){.jtb-card{padding:18px;border-radius:16px}.jtb-head h2{font-size:27px}.jtb-form,.jtb-grid{grid-template-columns:1fr}.jtb-result{grid-template-columns:1fr auto}.jtb-result button{grid-column:1/-1}.jtb-summary{flex-direction:column}}
/* v4 station autocomplete safety */
.jtb-wrap .jtb-station-id{display:none!important;visibility:hidden!important;position:absolute!important;width:0!important;height:0!important;opacity:0!important;pointer-events:none!important}
.jtb-place-input[aria-invalid="true"]:not(:placeholder-shown){border-color:#d0d5dd}
.jtb-place-input[aria-invalid="false"]{border-color:#98a2b3}
.jtb-suggest:empty{display:none}.jtb-suggest button.active,.jtb-suggest button:focus{background:#f2f4f7;outline:none}
.jtb-search-button:disabled{opacity:.45;cursor:not-allowed!important}

/* v8: keep autocomplete station names readable with any WordPress/theme styles */
.jtb-wrap .jtb-suggest,
.jtb-wrap .jtb-suggest button,
.jtb-wrap .jtb-suggest button span{
  color:#000!important;
}
.jtb-wrap .jtb-suggest button{
  background:#fff!important;
}
.jtb-wrap .jtb-suggest button:hover,
.jtb-wrap .jtb-suggest button:focus,
.jtb-wrap .jtb-suggest button.active{
  color:#000!important;
  background:#f2f4f7!important;
}

/* v10 payment diagnostics */
.jtb-diagnostic{margin-top:14px;padding:16px;border:1px solid #d9dee7;border-radius:12px;background:#f8fafc;color:#111827}.jtb-diagnostic>strong{display:block;margin-bottom:8px}.jtb-diagnostic dl{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:7px 14px;margin:12px 0}.jtb-diagnostic dt{font-weight:700;color:#374151}.jtb-diagnostic dd{margin:0;overflow-wrap:anywhere;color:#111827}.jtb-diagnostic details{margin-top:12px}.jtb-diagnostic summary{cursor:pointer;font-weight:700}.jtb-diagnostic pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px;font-size:12px;color:#111827}@media(max-width:640px){.jtb-diagnostic dl{grid-template-columns:1fr}.jtb-diagnostic dt{margin-top:5px}}

.jtb-product-form .jtb-calendar{border:1px solid #e2e5eb;border-radius:12px;padding:12px;margin-top:8px;min-height:130px}.jtb-cal-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.jtb-cal-head button{border:1px solid #ddd;border-radius:7px;background:#fff;color:#111;padding:4px 12px;cursor:pointer}.jtb-cal-head button:disabled{opacity:.3;cursor:not-allowed}.jtb-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.jtb-cal-grid span{font-size:12px;color:#666;padding:6px 0}.jtb-cal-grid button{border:1px solid #d6e4dd;border-radius:7px;background:#eaf8f0;color:#175c35;padding:8px 0;cursor:pointer;min-width:0}.jtb-cal-grid button:disabled{border-color:transparent;background:#f6f6f6;color:#bbb;cursor:not-allowed}.jtb-cal-grid button.jtb-cal-selected{background:#175c35;color:white}.jtb-product-form .jtb-product-fields{align-items:start}

.jtb-price-quote{font-weight:600;margin-top:14px;color:#195a3a}

/* v26: Elementor/theme-safe product booking form */
.jtb-product-form{box-sizing:border-box;width:100%;max-width:680px;box-shadow:0 8px 30px rgba(17,24,39,.04);font-family:inherit}
.jtb-product-form *{box-sizing:border-box}
.jtb-product-form h2{font-size:clamp(24px,3vw,30px)!important;line-height:1.2!important;letter-spacing:-.03em;margin:0 0 22px!important;color:#162235!important}
.jtb-product-form .jtb-product-fields{gap:20px!important}
.jtb-product-form label{display:block;color:#263447;font-size:14px;font-weight:600;line-height:1.6}
.jtb-product-form input,.jtb-product-form select{border:1px solid #dce3ea!important;background:#fff!important;border-radius:10px!important;color:#17263a!important;min-height:44px;font-size:15px!important;box-shadow:none!important}
.jtb-product-form .jtb-date-field{grid-column:1/-1;min-width:0}
.jtb-product-form .jtb-calendar{border:1px solid #e5eaf0;border-radius:14px;padding:16px;margin-top:8px;min-height:220px;background:#fff;max-width:390px}
.jtb-product-form .jtb-cal-head{margin-bottom:16px}
.jtb-product-form .jtb-cal-head strong{font-size:15px;font-weight:700;color:#162235}
.jtb-product-form .jtb-cal-head button{width:36px;height:36px;padding:0!important;border:1px solid #dce3ea!important;background:#fff!important;color:#1e293b!important;border-radius:10px!important;font-size:22px!important;line-height:1!important;box-shadow:none!important}
.jtb-product-form .jtb-cal-head button:disabled{opacity:.25!important}
.jtb-product-form .jtb-cal-grid{gap:5px}
.jtb-product-form .jtb-cal-grid span{font-size:12px;color:#64748b;padding:8px 0}
.jtb-product-form .jtb-cal-grid button{min-width:0!important;width:100%!important;aspect-ratio:1!important;min-height:0!important;padding:0!important;display:flex!important;align-items:center;justify-content:center;border-radius:9px!important;border:1px solid #bce5d2!important;background:#e9f8f0!important;color:#13673e!important;font-size:13px!important;font-weight:650!important;line-height:1!important;box-shadow:none!important;transition:background .15s ease}
.jtb-product-form .jtb-cal-grid button:hover:not(:disabled){background:#c6edda!important;border-color:#62bc8b!important}
.jtb-product-form .jtb-cal-grid button:disabled{background:#f7f8fa!important;color:#c3cad2!important;border:1px solid transparent!important;opacity:1!important;cursor:not-allowed!important}
.jtb-product-form .jtb-cal-grid button.jtb-cal-selected{background:#176b48!important;color:#fff!important;border-color:#176b48!important}
.jtb-product-form .jtb-product-status{font-size:13px;color:#64748b;line-height:1.5}
.jtb-product-form .jtb-price-quote{font-size:18px;color:#16613d;font-weight:700}
.jtb-product-form .jtb-calendar-skeleton{height:185px;border-radius:10px;background:linear-gradient(100deg,#f3f5f7 20%,#e9eef3 40%,#f3f5f7 60%);background-size:200% 100%;animation:jtb-shimmer 1.3s ease-in-out infinite}
@keyframes jtb-shimmer{to{background-position-x:-200%}}
@media(max-width:520px){.jtb-product-form{padding:18px!important}.jtb-product-form .jtb-calendar{max-width:100%;padding:10px}.jtb-product-form .jtb-cal-grid{gap:3px}}

/* v27: strong theme/Elementor isolation for the dynamic calendar */
.jtb-product-form .jtb-calendar .jtb-cal-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:6px!important;width:100%!important;align-items:stretch!important}
.jtb-product-form .jtb-calendar .jtb-cal-grid button{appearance:none!important;-webkit-appearance:none!important;display:flex!important;align-items:center!important;justify-content:center!important;position:static!important;float:none!important;width:100%!important;height:38px!important;min-height:38px!important;max-height:38px!important;min-width:0!important;padding:0!important;margin:0!important;border:1px solid #bce5d2!important;border-radius:9px!important;background:#e9f8f0!important;color:#13673e!important;font-size:13px!important;font-weight:600!important;line-height:1!important;box-shadow:none!important;text-shadow:none!important;transform:none!important}
.jtb-product-form .jtb-calendar .jtb-cal-grid button:disabled{background:#f6f7f9!important;color:#b5bdc7!important;border-color:transparent!important;opacity:1!important;cursor:not-allowed!important}
.jtb-product-form .jtb-calendar .jtb-cal-grid button.jtb-cal-selected:not(:disabled){background:#176b48!important;color:#fff!important;border-color:#176b48!important}
.jtb-product-form .jtb-calendar .jtb-cal-grid span{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;padding:5px 0!important;font-size:12px!important;color:#64748b!important}
.jtb-product-form .jtb-calendar .jtb-cal-head{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;margin:0 0 12px!important}
.jtb-product-form .jtb-calendar .jtb-cal-head button{appearance:none!important;width:36px!important;height:36px!important;min-height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid #dce3ea!important;border-radius:9px!important;background:#fff!important;color:#17263a!important;font-size:23px!important;padding:0!important;box-shadow:none!important}
.jtb-product-form .jtb-calendar{max-width:420px!important;width:100%!important;border:1px solid #e5eaf0!important;border-radius:14px!important;padding:16px!important;background:#fff!important}
.jtb-product-form .jtb-product-fields{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
.jtb-product-form .jtb-date-field{grid-column:1/-1!important}
@media(max-width:540px){.jtb-product-form .jtb-product-fields{grid-template-columns:1fr!important}.jtb-product-form .jtb-calendar{padding:10px!important}.jtb-product-form .jtb-calendar .jtb-cal-grid{gap:3px!important}}

/* v28: booking-specific brand color and clean empty state */
.jtb-product-form{--jtb-accent:#d81b75;--jtb-accent-light:#fff0f7}
.jtb-product-form .jtb-calendar .jtb-cal-grid button:not(:disabled){background:var(--jtb-accent-light)!important;color:#9b1758!important;border-color:#f5b8d5!important}
.jtb-product-form .jtb-calendar .jtb-cal-grid button:not(:disabled):hover{background:#ffd5e9!important;border-color:var(--jtb-accent)!important}
.jtb-product-form .jtb-calendar .jtb-cal-grid button.jtb-cal-selected:not(:disabled){background:var(--jtb-accent)!important;color:#fff!important;border-color:var(--jtb-accent)!important}
.jtb-product-form .jtb-price-quote{color:#b41361!important;font-weight:750!important;font-size:18px!important;line-height:1.4;margin-top:14px}
.jtb-product-form .jtb-product-status{color:#526173;font-size:14px;line-height:1.6}
.jtb-product-form .jtb-date-field[style*="display: none"]{display:none!important}
.jtb-product-form input[type=number]:focus{outline:2px solid #e94895!important;outline-offset:1px;border-color:#e94895!important}

/* v31: complete passenger step and theme-isolated booking actions */
.jtb-product-form .jtb-continue,.jtb-product-form .jtb-test-checkout button[type="submit"],.jtb-product-form .jtb-test-checkout button[type="button"]{appearance:none!important;display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%!important;min-height:52px!important;padding:14px 22px!important;margin:0!important;background:#d81b75!important;border:1px solid #d81b75!important;border-radius:12px!important;color:#fff!important;font-size:15px!important;font-weight:700!important;line-height:1.35!important;letter-spacing:0!important;text-decoration:none!important;box-shadow:0 8px 20px rgba(216,27,117,.16)!important;cursor:pointer!important;transition:background .2s,transform .2s,box-shadow .2s!important}
.jtb-product-form .jtb-continue:hover:not(:disabled),.jtb-product-form .jtb-test-checkout button:hover:not(:disabled){background:#b91362!important;border-color:#b91362!important;transform:translateY(-1px)!important;box-shadow:0 10px 24px rgba(216,27,117,.22)!important}
.jtb-product-form .jtb-continue:disabled,.jtb-product-form .jtb-test-checkout button:disabled{opacity:.55!important;cursor:wait!important}
.jtb-product-form .jtb-continue:focus-visible,.jtb-product-form .jtb-test-checkout button:focus-visible{outline:3px solid #f9a8d4!important;outline-offset:3px!important}
.jtb-product-form .jtb-test-checkout[hidden]{display:none!important}
.jtb-product-form .jtb-test-checkout{margin-top:24px;padding:24px;border:1px solid #f5c4dc;border-radius:16px;background:#fffafd}
.jtb-product-form .jtb-test-checkout h3{margin:0 0 8px!important;font-size:22px!important;color:#17263a!important}
.jtb-product-form .jtb-test-checkout h4{margin:20px 0 10px!important;color:#17263a!important}
.jtb-product-form .jtb-test-checkout p{color:#586477;font-size:14px}
.jtb-product-form .jtb-test-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.jtb-product-form .jtb-test-fields fieldset{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;border:1px solid #e5eaf0;border-radius:12px;background:#fff;min-width:0}
.jtb-product-form .jtb-test-fields legend{padding:0 6px;font-weight:700;color:#17263a}
.jtb-product-form .jtb-test-fields h4,.jtb-product-form .jtb-test-fields button,.jtb-product-form .jtb-test-fields label:has(input[type="checkbox"]){grid-column:1/-1}
.jtb-product-form .jtb-test-fields input:not([type="checkbox"]){display:block;width:100%;margin-top:5px;padding:10px}
.jtb-product-form .jtb-test-fields input[type="checkbox"]{min-height:0!important;width:auto;margin-right:8px;accent-color:#d81b75}
@media(max-width:600px){.jtb-product-form .jtb-test-checkout{padding:16px}.jtb-product-form .jtb-test-fields,.jtb-product-form .jtb-test-fields fieldset{grid-template-columns:1fr}.jtb-product-form .jtb-continue{font-size:14px!important}}

/* v33: official requested brand accent */
.jtb-product-form{--jtb-accent:#e41f37!important;--jtb-accent-light:#fff0f2!important}
.jtb-product-form .jtb-calendar .jtb-cal-grid button:not(:disabled){background:#fff0f2!important;color:#b8162b!important;border-color:#f6aeb8!important}
.jtb-product-form .jtb-calendar .jtb-cal-grid button:not(:disabled):hover{background:#ffe1e5!important;border-color:#e41f37!important}
.jtb-product-form .jtb-calendar .jtb-cal-grid button.jtb-cal-selected:not(:disabled){background:#e41f37!important;color:#fff!important;border-color:#e41f37!important}
.jtb-product-form .jtb-price-quote{color:#e41f37!important}
.jtb-product-form .jtb-continue,.jtb-product-form .jtb-test-checkout button[type="submit"],.jtb-product-form .jtb-test-checkout button[type="button"]{background:#e41f37!important;border-color:#e41f37!important;box-shadow:0 8px 20px rgba(228,31,55,.16)!important}
.jtb-product-form .jtb-continue:hover:not(:disabled),.jtb-product-form .jtb-test-checkout button:hover:not(:disabled){background:#bc172d!important;border-color:#bc172d!important;box-shadow:0 10px 24px rgba(228,31,55,.2)!important}
.jtb-product-form .jtb-test-checkout{border-color:#fac4cb!important;background:#fffafb!important}
.jtb-product-form .jtb-test-fields input[type="checkbox"]{accent-color:#e41f37!important}
.jtb-product-form input[type=number]:focus{outline:2px solid #e41f37!important;border-color:#e41f37!important}


/* v34: fluid Elementor/container-responsive booking layout */
.jtb-product-form{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-inline:0!important;
  container-type:inline-size;
  overflow-wrap:anywhere;
}
.jtb-product-form .jtb-product-fields{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(12px,2cqw,24px)!important;
  align-items:start!important;
}
.jtb-product-form .jtb-product-fields > *{min-width:0!important;max-width:100%!important}
.jtb-product-form .jtb-date-field{grid-column:1/-1!important;width:100%!important;min-width:0!important}
.jtb-product-form .jtb-calendar{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  padding:clamp(10px,2cqw,24px)!important;
}
.jtb-product-form .jtb-calendar .jtb-cal-grid{
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:clamp(3px,1cqw,12px)!important;
}
.jtb-product-form .jtb-calendar .jtb-cal-grid button{
  width:100%!important;
  height:clamp(34px,5.8cqw,54px)!important;
  min-height:34px!important;
  max-height:54px!important;
  font-size:clamp(12px,1.8cqw,16px)!important;
}
.jtb-product-form .jtb-calendar .jtb-cal-grid span{font-size:clamp(11px,1.6cqw,14px)!important}
.jtb-product-form .jtb-test-checkout{min-width:0!important;width:100%!important}
.jtb-product-form .jtb-test-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.jtb-product-form .jtb-test-fields > *{min-width:0!important}
.jtb-product-form .jtb-test-fields fieldset{grid-template-columns:repeat(3,minmax(0,1fr))!important;min-width:0!important}
@container (max-width:540px){
  .jtb-product-form .jtb-product-fields{grid-template-columns:1fr!important;gap:14px!important}
  .jtb-product-form .jtb-date-field{grid-column:1!important}
  .jtb-product-form .jtb-test-fields,.jtb-product-form .jtb-test-fields fieldset{grid-template-columns:1fr!important}
  .jtb-product-form .jtb-calendar .jtb-cal-grid{gap:3px!important}
  .jtb-product-form .jtb-calendar .jtb-cal-grid button{height:clamp(32px,8cqw,42px)!important;min-height:32px!important}
}
@media (max-width:420px){
  .jtb-product-form{padding:14px!important}
  .jtb-product-form .jtb-calendar{padding:8px!important}
}

/* v35: collapsed mobile form; progressive disclosure without reserved empty space */
.jtb-product-form{height:auto!important;min-height:0!important;max-height:none!important}
.jtb-product-form .jtb-continue-wrap[hidden],
.jtb-product-form .jtb-test-checkout[hidden],
.jtb-product-form .jtb-time-wrap[style*="display:none"],
.jtb-product-form .jtb-product-status:empty,
.jtb-product-form .jtb-price-quote:empty{display:none!important;margin:0!important;padding:0!important;min-height:0!important;height:0!important}
.jtb-product-form .jtb-continue-wrap:not([hidden]){display:block!important;margin-top:16px!important}
.jtb-product-form .jtb-product-status:not(:empty){margin-top:12px!important}
.jtb-product-form .jtb-product-fields{margin-bottom:0!important}
.jtb-product-form .jtb-test-checkout:not([hidden]){height:auto!important;min-height:0!important}

/* v36: next step is only laid out after a verified quote */
.jtb-product-form .jtb-continue-wrap[hidden],.jtb-product-form .jtb-test-checkout[hidden]{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important}
.jtb-product-form .jtb-continue-wrap:not([hidden]){height:auto!important;margin:16px 0 0!important}
.jtb-product-form .jtb-continue-wrap:not([hidden]) .jtb-continue{display:flex!important;width:100%!important}

.jtb-joch-banner{padding:14px 18px;border-left:4px solid #e41f37;background:#fff5f6;border-radius:8px;margin-bottom:16px}.jtb-joch-test{width:100%;min-width:0}.jtb-refund-test input{min-width:0}

.jtb-cert-warning{background:#fff4f4;color:#7d1524;border-left:4px solid #e41f37;padding:12px 16px;border-radius:7px;margin-bottom:16px;font-size:14px;line-height:1.5}
