/* Scoped to the new Taxi Solution reservation; old forms remain untouched. */
form.webform-submission-taxi-reservation-form {--ts-ink:#23333b;--ts-green:#6d8375;--ts-orange:#e98538;--ts-line:#e3e7e0;color:var(--ts-ink);font-family:inherit;background:#fff;border:1px solid var(--ts-line);border-radius:20px;box-shadow:0 12px 40px #26373109;padding:30px!important;margin:0!important;min-width:0;}
.ts-booking-shell{display:grid;grid-template-columns:minmax(330px,510px) minmax(300px,1fr);gap:25px;align-items:start;margin:10px 0 35px;width:100%;}
.ts-booking-shell .webform-progress{margin:0 0 25px!important;padding:0 0 16px;border-bottom:1px solid #e3e7e0;}
.ts-booking-shell .progress-tracker{display:flex;padding:0!important;margin:0!important;gap:4px;}
.ts-booking-shell .progress-step{min-width:0;flex:1;}
.ts-booking-shell .progress-marker{width:28px;height:28px;min-width:28px;background:#edf1eb;color:#68796c;border:0;}
.ts-booking-shell .is-active .progress-marker,.ts-booking-shell .is-complete .progress-marker{background:#f9e8d8;color:#ab622d;}
.ts-booking-shell .progress-marker:after{background:#e2e7df;}
.ts-booking-shell .progress-title{font-size:12px!important;line-height:1.35;color:#516056;font-weight:600;margin-top:7px;}
.ts-booking-shell .progress-text{padding:8px 2px!important;}
.ts-booking-shell .webform-wizard-page{padding:0!important;margin:0!important;border:0!important;}
.ts-booking-shell h2{font-size:26px!important;line-height:1.18!important;letter-spacing:-.5px;color:#23333b!important;margin:0 0 9px!important;}
.ts-booking-shell .ts-intro{font-size:14px;color:#758078;line-height:1.65;margin:0 0 22px;}
.ts-booking-shell .form-item{margin:0 0 19px!important;}
.ts-booking-shell label{font-weight:600;font-size:13px;color:#415249;line-height:1.5;display:block;margin-bottom:7px;}
.ts-booking-shell input.form-text,.ts-booking-shell input.form-email,.ts-booking-shell input.form-tel,.ts-booking-shell input.form-number,.ts-booking-shell input.form-date,.ts-booking-shell input.form-time,.ts-booking-shell select,.ts-booking-shell textarea{height:48px!important;background:#fcfdfa!important;border:1px solid #dfe5dc!important;border-radius:9px!important;box-shadow:none!important;padding:11px 13px!important;font:inherit!important;font-size:14px!important;width:100%!important;color:#263b30!important;max-width:100%;}
.ts-booking-shell select{appearance:auto!important;}
.ts-booking-shell textarea{height:auto!important;min-height:100px;resize:vertical;}
.ts-booking-shell input:focus,.ts-booking-shell select:focus,.ts-booking-shell textarea:focus{outline:2px solid #e9853866!important;outline-offset:2px;border-color:#e98538!important;}
.ts-booking-shell .webform-flexbox{margin:0!important;gap:12px;}
.ts-booking-shell .webform-flex{margin:0!important;min-width:0;}
.ts-booking-shell .form-type-checkbox label{display:inline;font-size:13px;font-weight:400;margin:0 0 0 6px;line-height:1.6;}
.ts-booking-shell input[type=checkbox]{accent-color:#c97838;width:17px;height:17px;vertical-align:middle;margin:0;}
.ts-booking-shell .form-type-checkbox{padding-top:4px;}
.ts-booking-shell .description,.ts-booking-shell .ts-confirm-note{color:#78847b;font-size:12px;line-height:1.65;margin:7px 0 0;}
.ts-booking-shell .ts-confirm-note{background:#f5f7f1;border-radius:9px;padding:13px;margin-top:15px;}
.ts-booking-shell .form-actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0!important;padding:0!important;}
.ts-booking-shell .form-actions input,.ts-booking-shell .form-actions button{border-radius:9px!important;min-height:47px;padding:12px 20px!important;font-size:14px!important;font-weight:600;line-height:1.5!important;text-transform:none!important;letter-spacing:0!important;white-space:normal;}
.ts-booking-shell .webform-button--next,.ts-booking-shell .webform-button--submit{background:#e98538!important;color:white!important;border:1px solid #e98538!important;flex:1;}
.ts-booking-shell .webform-button--previous{background:#f4f6ef!important;color:#526653!important;border:1px solid #e1e5dc!important;}
.ts-booking-aside{border:1px solid #e0e6db;border-radius:20px;background:linear-gradient(145deg,#f6f8ee,#edf0e4);overflow:hidden;position:sticky;top:100px;}
.ts-coverage{min-height:330px;position:relative;padding:27px;overflow:hidden;}
.ts-coverage .ts-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid #dce4d7;background:#ffffffe6;color:#6b806a;padding:7px 10px;border-radius:25px;font-size:11px;position:relative;z-index:1;}
.ts-chip:before{content:'';width:5px;height:5px;border-radius:50%;background:#82956e;}
.ts-coverage h3{font-size:24px!important;font-weight:600;line-height:1.25;margin:27px 0 8px!important;max-width:240px;color:#59725e!important;position:relative;z-index:1;}
.ts-coverage p{font-size:13px;color:#859079;position:relative;z-index:1;max-width:240px;line-height:1.6;}
.ts-coverage svg{position:absolute;width:260px;height:320px;right:-5px;bottom:-30px;opacity:.7;pointer-events:none;}
.ts-fare{background:#fff;border:1px solid #e2e6dd;margin:0 20px 20px;padding:23px;border-radius:16px;position:relative;}
.ts-fare small{color:#859080;font-size:12px;display:block;}
.ts-fare strong{font-size:34px;line-height:1.5;letter-spacing:-1px;color:#263b32;}
.ts-fare strong span{font-size:15px;font-weight:400;letter-spacing:0;color:#8d9687;}
.ts-fare dl{display:grid;grid-template-columns:1fr auto;gap:8px 15px;margin:16px 0;padding-top:16px;border-top:1px solid #e7eade;font-size:12px;color:#7c8778;}
.ts-fare dt{font-weight:400;}.ts-fare dd{font-weight:600;color:#5e6f5a;margin:0;}
.ts-fare p{font-size:12px;line-height:1.7;color:#7c8877;margin:0;}
.ts-fare a{display:inline-block;color:#b76c32!important;font-size:13px;font-weight:600;padding-top:15px;}
.ts-booking-shell .messages--error{border-radius:10px;box-shadow:none;margin:0 0 20px!important;}
.ts-booking-shell .form-item--error-message{font-size:12px;color:#ad3e2b;}
@media(max-width:1000px){.ts-booking-shell{grid-template-columns:minmax(300px,1fr) minmax(250px,.8fr);gap:18px;}.ts-coverage{padding:23px;}.ts-coverage svg{right:-60px;opacity:.5;}.ts-fare{margin:0 14px 14px;padding:18px;}form.webform-submission-taxi-reservation-form{padding:24px!important;}}
@media(max-width:750px){.ts-booking-shell{display:flex;flex-direction:column;gap:18px;}.ts-booking-shell form{width:100%;}.ts-booking-aside{position:static;width:100%;}.ts-coverage{min-height:145px;padding:20px;}.ts-coverage h3{font-size:21px!important;margin-top:16px!important;max-width:65%;}.ts-coverage svg{height:220px;width:180px;right:0;bottom:-55px;}.ts-coverage p{max-width:70%;}.ts-fare{margin:0 14px 14px;}form.webform-submission-taxi-reservation-form{padding:22px!important;}.ts-booking-shell h2{font-size:24px!important;}}
/* The Gavias theme adds list icons; replace them with simple step numbers. */
.ts-booking-shell .progress-step{padding:0!important;list-style:none!important;background:none!important;}
.ts-booking-shell .progress-step::before{display:none!important;content:none!important;}
.ts-booking-shell .progress-marker{position:relative!important;display:flex!important;align-items:center;justify-content:center;border-radius:50%!important;background:#eef1e8!important;width:28px!important;height:28px!important;min-width:28px!important;margin:0 auto!important;color:#71806b!important;}
.ts-booking-shell .progress-marker::before{content:attr(data-text)!important;font-family:inherit!important;display:block!important;position:static!important;width:auto!important;height:auto!important;background:none!important;border:0!important;color:inherit!important;font-size:12px!important;font-weight:600;}
.ts-booking-shell .progress-marker::after{display:none!important;content:none!important;}
.ts-booking-shell .is-active .progress-marker,.ts-booking-shell .is-complete .progress-marker{background:#fae6d5!important;color:#ad682f!important;}
.ts-booking-shell label{text-transform:none!important;letter-spacing:0!important;}
