/* Compact journey timing uses the existing theme palette and calendar. */
/* Persistent decorative location icons share the timing controls' visual language. */
form.booking-form-1.tm24-journey-form input:is(.pickup-address, .dropoff-address) { box-sizing: border-box; width: 100%; padding-left: 34px; background-repeat: no-repeat; background-position: 10px center; background-size: 18px 18px; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23358c2b%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2010c0%206-8%2012-8%2012S4%2016%204%2010a8%208%200%201%201%2016%200Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%222.5%22%2F%3E%3C%2Fsvg%3E"); }
.tm24-journey-fields { clear: both; }
.tm24-journey-row { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 12px; }
.tm24-journey-leg { margin-bottom: 10px; }
.tm24-journey-leg[hidden] { display: none; }
.tm24-journey-row > div { min-width: 0; }
.tm24-journey-control { position: relative; }
.tm24-journey-control > .tm24-journey-icon { position: absolute; z-index: 1; left: 10px; top: 50%; transform: translateY(-50%); color: var(--tm24-theme-main, #358c2b); pointer-events: none; }
.tm24-journey-icon { width: 18px; height: 18px; flex: 0 0 18px; }
.booking-form-1 .tm24-journey-label { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.booking-form-1 .tm24-journey-row input[type="text"], .booking-form-1 .tm24-journey-row select { box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; margin: 0; padding: 10px 6px 10px 34px; font-size: 16px; line-height: 1.4; }
.booking-form-1 .tm24-journey-row select { display: block; appearance: auto; background-color: #f8fcf8; color: #26332a; border: 1px solid #d5e8d1; border-radius: 10px; }
.booking-form-1 .tm24-journey-row input::placeholder,
.booking-form-1 .tm24-journey-control:has(> select[data-journey-time] > option[value=""]:checked) > .chauffeur-count-control > .chauffeur-count-value { color: #757575; opacity: 1; }
.booking-form-1 .tm24-journey-control .chauffeur-count-control > .chauffeur-count-arrow { margin-left: 4px; }
.tm24-calendar.qs-datepicker-container { border-radius: 10px; }
.tm24-journey-row :is(input, select):focus-visible, .tm24-trip-edit button:focus-visible, .tm24-journey-switch button:focus-visible { outline: 2px solid var(--tm24-theme-main, #358c2b); outline-offset: 3px; }
.tm24-journey-switch { position: relative; isolation: isolate; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 4px; margin-bottom: 12px; border: 1px solid var(--tm24-theme-border, #d5e8d1); border-radius: 12px; background: var(--tm24-theme-light, #eaf7e7); }
.tm24-journey-switch::before { content: ""; position: absolute; z-index: -1; inset: 4px auto 4px 4px; width: calc(50% - 6px); border-radius: 9px; background: #fff; box-shadow: 0 1px 3px rgb(31 91 40 / 9%); transition: transform 160ms ease; pointer-events: none; }
.tm24-journey-switch[data-round="true"]::before { transform: translateX(calc(100% + 4px)); }
form.booking-form-1.tm24-journey-form .tm24-journey-switch .tm24-journey-choice { position: relative; display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; min-width: 0; max-width: none; height: 36px; min-height: 36px; max-height: 36px; margin: 0; padding: 6px; border: 0; border-radius: 9px; background: transparent; color: #51634f; box-shadow: none; transform: none; cursor: pointer; font: inherit; font-size: 14px; line-height: 1.3; text-transform: none; white-space: nowrap; }
form.booking-form-1.tm24-journey-form .tm24-journey-switch .tm24-journey-choice::before, form.booking-form-1.tm24-journey-form .tm24-journey-switch .tm24-journey-choice::after { display: none; }
form.booking-form-1.tm24-journey-form .tm24-journey-switch .tm24-journey-choice[aria-pressed="true"] { color: var(--tm24-theme-dark, #246f22); font-weight: 600; }
form.booking-form-1.tm24-journey-form .tm24-journey-switch .tm24-journey-choice span { margin: 0; padding: 0; font: inherit; color: inherit; text-transform: none; }
form.booking-form-1.tm24-journey-form .tm24-journey-switch .tm24-journey-choice span::after { display: none; }
.tm24-journey-choice:hover { filter: brightness(.9); }
form.booking-form-1.tm24-journey-form .tm24-journey-zone { margin: 0 0 14px; font-size: 12px; line-height: 1.5; }
.trip-details-wrapper .tm24-trip-edit { clear: both; margin: 0 0 24px; }
.trip-details-wrapper .trip-details-wrapper-2 > p { padding-bottom: 20px; }
.full-booking-wrapper-3 .passenger-details-wrapper:not(.additional-information-wrapper) { margin-bottom: 30px; }
.trip-details-wrapper .booking-form-1 .bookingbutton1 { width: fit-content; max-width: 100%; padding-inline: 30px; gap: 10px; }
.main-content .full-booking-wrapper #place_order { position: relative; overflow: hidden; isolation: isolate; }
.main-content .full-booking-wrapper #place_order::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: -75%; width: 50%; pointer-events: none; background: linear-gradient(120deg, transparent, rgb(255 255 255 / 55%), transparent); transform: translateX(0) skewX(-20deg); animation: tm24-payment-reflection 6s ease-in-out infinite; }
.main-content .full-booking-wrapper #place_order { --tm24-action-base: #246f22; --tm24-action-hover: #174f1c; --tm24-action-shadow: 0 6px 14px rgb(11 110 55 / 18%), inset 0 1px 0 rgb(255 255 255 / 18%); min-height: 49px; max-width: 100%; padding: 13px 30px; font-size: 16px; line-height: 1.4; white-space: normal; background-color: var(--tm24-action-base); background-image: linear-gradient(135deg, #358c2b, #246f22); color: #fff; }
.main-content .full-booking-wrapper #place_order:is(:hover, :focus-visible):not(:disabled) { background-image: linear-gradient(135deg, #2c6e26, #174f1c); box-shadow: 0 9px 18px rgb(11 110 55 / 24%), inset 0 1px 0 rgb(255 255 255 / 20%); }
.main-content .full-booking-wrapper #place_order:focus-visible { outline-color: #174f1c; }
.main-content .full-booking-wrapper table.shop_table.woocommerce-checkout-review-order-table { border-collapse: separate; border-spacing: 0; border: 1px solid rgb(43 103 44 / 13%); border-radius: 12px; overflow: hidden; }
.main-content .full-booking-wrapper table.shop_table.woocommerce-checkout-review-order-table tr > :is(th, td) { border-width: 0 1px 1px 0; border-color: rgb(53 140 43 / 13%); }
.main-content .full-booking-wrapper table.shop_table.woocommerce-checkout-review-order-table tr > :last-child { border-right-width: 0; }
.main-content .full-booking-wrapper table.shop_table.woocommerce-checkout-review-order-table tfoot > tr:last-child > :is(th, td) { border-bottom-width: 0; }
.main-content .full-booking-wrapper table.shop_table.woocommerce-checkout-review-order-table tr.fee > :is(th, td),
.main-content .full-booking-wrapper table.shop_table.woocommerce-checkout-review-order-table tr.fee .amount { font-weight: 700; }
@keyframes tm24-payment-reflection { to { transform: translateX(400%) skewX(-20deg); } }
.tm24-trip-edit button { min-height: 44px; padding: 8px 0; border: 0; background: transparent; color: var(--tm24-theme-dark, #246f22); text-decoration: none; cursor: pointer; font: inherit; }
.tm24-trip-edit button:hover { color: var(--tm24-theme-deep, #174f1c); }
@media (max-width: 380px) {
    .tm24-journey-row { gap: 8px; }
    .tm24-journey-control > .tm24-journey-icon { left: 8px; width: 16px; height: 16px; }
    .booking-form-1 .tm24-journey-row input[type="text"], .booking-form-1 .tm24-journey-row select { padding-left: 28px; padding-right: 4px; }
    .booking-form-1 .tm24-journey-control.chauffeur-count .chauffeur-count-control { padding-left: 28px; padding-right: 4px; }
}
@media (prefers-reduced-motion: reduce) {
    .tm24-journey-switch::before { transition: none; }
    .main-content .full-booking-wrapper #place_order::before { animation: none; opacity: 0; }
}
