.elementor-845 .lux-route-booking { width: 100%; margin: 32px 0; scroll-margin-top: calc(100px + var(--lux-admin-offset, 0px)); }
.elementor-845 .lux-route-booking, .elementor-845 .lux-route-booking * { box-sizing: border-box; }
.elementor-845 .lux-route-booking__panel { width: min(100%, 860px); margin: 0 auto; padding: 28px 24px; background: #ffdf2c; border-radius: 12px; color: #111; font-family: Arial, Helvetica, sans-serif; }
.elementor-845 .lux-route-booking h2 { margin: 0 0 28px !important; text-align: center; color: #111; font: 700 clamp(25px, 2.4vw, 32px)/1.25 Arial, Helvetica, sans-serif !important; text-transform: none !important; }
#lux-route-booking .elementor-form-fields-wrapper { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px 12px; margin: 0; padding: 0; }
#lux-route-booking .elementor-field-group { display: block; grid-column: 1 / -1; width: auto; max-width: none; min-width: 0; margin: 0; padding: 0; }
#lux-route-booking .elementor-field-group-field_6b965ab,
#lux-route-booking .elementor-field-group-field_ccb1d82,
#lux-route-booking .elementor-field-group-field_e26af5b,
#lux-route-booking .elementor-field-group-field_7c10ee8 { grid-column: span 6; }
#lux-route-booking .lux-route-flight-group { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: end; gap: 12px; grid-column: span 6; min-width: 0; }
#lux-route-booking .lux-route-flight-group .elementor-field-group:not(.elementor-field-type-html) { grid-column: span 1; }
#lux-route-booking .elementor-field-type-html { font-size: 21px; line-height: 1.3; font-weight: 700; }
#lux-route-booking .elementor-field-group-field_a909637 { grid-column: span 4; }
#lux-route-booking .elementor-field-group-field_23a9aa9 { grid-column: span 5; align-self: end; padding-bottom: 12px; }
#lux-route-booking .elementor-field-group-field_f7405c7 { grid-column: span 3; align-self: end; padding-bottom: 12px; }
#lux-route-booking .elementor-form-fields-wrapper > .elementor-field-type-text:not(.elementor-field-group),
#lux-route-booking .elementor-field-type-recaptcha_v3 { display: none !important; }
#lux-route-booking .elementor-field-label { display: block; margin: 0 0 7px; padding: 0; color: #111; font: 400 15px/1.4 Arial, Helvetica, sans-serif; }
#lux-route-booking .elementor-mark-required .elementor-field-label::after { content: " *"; color: #b02000; }
#lux-route-booking input:not([type="checkbox"]):not([type="hidden"]),
#lux-route-booking select,
#lux-route-booking textarea { display: block; width: 100%; min-width: 0; min-height: 46px; max-width: 100%; margin: 0; padding: 10px 12px; border: 1px solid #8c8c8c; border-radius: 6px; background: #fff; color: #252525; font: 400 16px/1.4 Arial, Helvetica, sans-serif; box-shadow: none; }
#lux-route-booking select { padding-right: 30px; appearance: auto; }
#lux-route-booking .select-caret-down-wrapper { display: none; }
#lux-route-booking textarea { min-height: 96px; resize: vertical; }
#lux-route-booking .elementor-select-wrapper { width: 100%; }
#lux-route-booking .elementor-field-option { display: flex; align-items: flex-start; gap: 7px; }
#lux-route-booking input[type="checkbox"] { flex: 0 0 16px; width: 16px; height: 16px; min-height: 0; margin: 3px 0 0; accent-color: #252525; }
#lux-route-booking .elementor-field-option label { color: #111; font: 400 15px/1.5 Arial, Helvetica, sans-serif; }
#lux-route-booking .elementor-field-type-acceptance label { font-size: 13px; }
#lux-route-booking a { color: #111; text-decoration: underline; }
#lux-route-booking input:focus-visible, #lux-route-booking select:focus-visible, #lux-route-booking textarea:focus-visible { outline: 2px solid #222; outline-offset: 2px; }
#lux-route-booking button[type="submit"] { display: flex; justify-content: center; align-items: center; width: 100%; min-height: 48px; padding: 13px 24px; border: 1px solid #282828; border-radius: 6px; background: #282828 !important; color: #fff !important; font: 600 16px/1.25 Arial, Helvetica, sans-serif !important; text-transform: none !important; }
#lux-route-booking button[type="submit"]:hover { background: #111 !important; }
#lux-route-booking button[type="submit"]:focus-visible { outline: 3px solid #111; outline-offset: 4px; }
#lux-route-booking .lux-form-message { margin: 16px 0 0; font-size: 16px; line-height: 1.5; }
@media (max-width: 640px) {
  .elementor-845 .lux-route-booking { margin: 24px 0; }
  .elementor-845 .lux-route-booking__panel { padding: 24px 16px; }
  #lux-route-booking .elementor-form-fields-wrapper { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  #lux-route-booking .elementor-field-group, #lux-route-booking .lux-route-flight-group { grid-column: 1 / -1; }
  #lux-route-booking .lux-route-flight-group { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 12px; }
  #lux-route-booking .elementor-field-group-field_23a9aa9, #lux-route-booking .elementor-field-group-field_f7405c7 { padding-bottom: 0; }
  #lux-route-booking input[type="date"], #lux-route-booking input[type="time"] { padding: 10px 6px; font-size: 14px; }
}
