.booking-form{--text-xs:12px;--text-sm:14px;--text-base:15px;border:1px solid var(--border);background:var(--card);width:100%;color:var(--foreground);box-shadow:0 12px 40px color-mix(in srgb, var(--secondary) 7%, transparent);border-radius:24px;margin-inline:auto}.booking-form-header{background:var(--secondary);color:var(--secondary-foreground);border-radius:23px 23px 0 0;padding:24px 32px}.booking-form-caption{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;font-size:14px;font-weight:600;display:flex}.booking-step-counter{font-variant-numeric:tabular-nums;flex-shrink:0;font-size:22px;font-weight:700}.booking-step-counter>span{opacity:.7;font-size:13px;font-weight:400}.booking-progress{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.booking-progress li{border:1px solid color-mix(in srgb, var(--secondary-foreground) 15%, transparent);border-radius:14px;align-items:center;gap:10px;min-width:0;padding:12px;font-size:14px;font-weight:600;display:flex}.booking-progress-icon{background:color-mix(in srgb, var(--secondary-foreground) 10%, transparent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.booking-progress [aria-current=step]{background:var(--card);color:var(--foreground);border-color:var(--card)}.booking-progress [aria-current=step] .booking-progress-icon{background:var(--accent);color:var(--primary-text,var(--primary))}.booking-progress [data-completed=true] .booking-progress-icon{background:var(--primary);color:var(--primary-foreground)}.booking-progress-label{overflow-wrap:anywhere}.booking-form-body{padding:32px}.booking-step-heading{margin-bottom:28px}.booking-step-heading h2{letter-spacing:-.025em;scroll-margin-top:110px;font-size:clamp(22px,3vw,28px);font-weight:700;line-height:1.25}.booking-step-heading h2:focus{outline:none}.booking-step-heading p{color:var(--muted-foreground);margin-top:8px;font-size:14px;line-height:1.6}.booking-panel{border:1px solid var(--border);background:var(--card);border-radius:18px;min-width:0}.booking-legs{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;display:grid}.booking-leg{border-top:3px solid var(--primary);container-type:inline-size}.booking-leg-return{border-top-color:var(--secondary)}.booking-leg-heading{border-bottom:1px solid var(--border);background:var(--accent);border-radius:15px 15px 0 0;align-items:center;gap:12px;padding:20px;display:flex}.booking-leg-heading h3{flex:1;font-size:18px;font-weight:700;line-height:1.4}.booking-leg-number{background:var(--primary);width:36px;height:36px;color:var(--primary-foreground);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:inline-flex}.booking-leg-return .booking-leg-heading{background:var(--muted)}.booking-leg-return .booking-leg-number{background:var(--secondary);color:var(--secondary-foreground)}.booking-leg-schedule{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr);gap:16px;padding:20px;display:grid}@container (min-width:460px){.booking-leg-schedule{grid-template-columns:repeat(2,minmax(0,1fr))}}.booking-leg-schedule h4{grid-column:1/-1;font-size:14px;font-weight:600}.booking-legs[data-roundtrip=true]{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr))}.booking-leg-direction{color:var(--muted-foreground);flex-shrink:0;align-items:center;gap:5px;font-size:12px;font-weight:600;display:inline-flex}.booking-route{padding:20px 20px 20px 60px;position:relative}.booking-route:before{content:"";background:var(--border);width:1px;position:absolute;top:34px;bottom:48px;left:33px}.booking-route[data-editable=true]:before{top:60px;bottom:48px}.booking-route>*+*,.booking-route-stage>*+*{margin-top:24px}.booking-route-point{min-width:0;position:relative}.booking-route-marker{background:var(--muted);width:28px;height:28px;color:var(--foreground);box-shadow:0 0 0 5px var(--card);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;position:absolute;top:0;left:-40px}.booking-route-point[data-editable=true]>.booking-route-marker{top:28px}.booking-route-marker[data-point=A]{background:var(--primary);color:var(--primary-foreground)}.booking-route-marker[data-point=B]{background:var(--secondary);color:var(--secondary-foreground)}.booking-stop-marker{border:1px solid var(--border);top:18px;left:-41px}.booking-stop-add{position:relative}.booking-stop-add:before{content:"";background:var(--border);width:26px;height:1px;position:absolute;top:22px;left:-26px}.booking-route-address p:first-child{color:var(--muted-foreground);margin-bottom:4px;font-size:12px}.booking-route-address p:last-child{overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.6}.booking-return-empty{color:var(--muted-foreground);padding:24px 20px;font-size:14px;line-height:1.7}.booking-return-status{padding:16px 20px 0}.booking-return-status>p{color:var(--muted-foreground);font-size:12px}.booking-return-edit{text-align:left;align-items:center;gap:8px;min-height:44px;padding-block:8px;font-size:13px;font-weight:600;display:flex}.booking-return-edit:hover{text-underline-offset:4px;text-decoration:underline}@media (max-width:479px){.booking-leg-heading{flex-wrap:wrap;gap:8px;padding:16px 12px}.booking-leg-heading h3{font-size:16px}.booking-leg-direction{width:100%;padding-left:44px}.booking-route{padding-left:46px;padding-right:12px}.booking-route:before{left:23px}.booking-route-marker{left:-36px}.booking-stop-marker{left:-37px}.booking-stop-add:before{width:22px;left:-22px}.booking-stop-row{padding:10px}.booking-stop-row>div:first-of-type{flex-wrap:wrap}.booking-stop-row>div:first-of-type>span{flex-basis:calc(100% - 50px)}.booking-stop-row>div:first-of-type>button{width:40px;height:40px}.booking-leg-schedule{padding:16px 12px}}.booking-panel-heading{background:var(--muted);color:var(--foreground);border-bottom:1px solid var(--border);border-radius:17px 17px 0 0;align-items:center;gap:10px;padding:15px 20px;display:flex}.booking-panel-heading>svg{box-sizing:content-box;background:var(--accent);color:var(--primary-text,var(--primary));border-radius:9px;padding:7px}.booking-panel-heading>span{font-size:14px;font-weight:600}.booking-form :is(input:not([type=checkbox]):not([type=radio]),textarea,[data-slot=select-trigger]){min-height:48px;box-shadow:none;border-width:1px;border-radius:12px;font-size:14px}.booking-form textarea{padding-top:12px}.booking-form button[data-slot=popover-trigger]{background:var(--card);min-height:48px;box-shadow:none;white-space:normal;border-radius:12px}.booking-form :is(input,textarea,button,select):focus-visible{outline:2px solid var(--primary);outline-offset:3px}.booking-form :is(label,[data-slot=form-label]){line-height:1.5}.booking-form input[type=checkbox]{accent-color:var(--primary)}.booking-form .uppercase{text-transform:none;letter-spacing:normal}.booking-form .text-primary{color:var(--primary-text,var(--primary))}.booking-trip-choice,.booking-payment{border-radius:14px}.booking-trip-choice[aria-pressed=true],.booking-payment[aria-pressed=true]{box-shadow:0 0 0 1px var(--primary)}.booking-contact-section{border:1px solid var(--border);border-radius:18px;padding:20px}.booking-contact-section>div:first-child>span{color:var(--foreground);font-size:14px}.booking-actions{border-top:1px solid var(--border)}.booking-form .booking-next{background:var(--primary);color:var(--primary-foreground);min-height:48px;box-shadow:0 4px 12px color-mix(in srgb, var(--primary) 15%, transparent);border:1px solid #0000;border-radius:12px}.booking-form .booking-next:hover:not(:disabled){background:var(--color-primary-hover,var(--primary))}.booking-form .booking-back{border-color:var(--border);background:var(--card);color:var(--foreground);border-radius:12px}.booking-form .booking-vehicle-card,.booking-form .booking-extra-card{background:var(--card);border-width:1px;border-radius:18px}.booking-vehicle-card.border-primary{box-shadow:0 0 0 1px var(--primary)}.booking-vehicle-card>.h-1{display:none}.booking-vehicle-card>.flex{grid-template-columns:160px minmax(0,1fr) 200px;display:grid}.booking-vehicle-card>.flex>:first-child{background:var(--muted);width:auto}.booking-vehicle-card>.flex>:nth-child(2){min-width:0;padding:20px}.booking-vehicle-card>.flex>:last-child{border-left:1px solid var(--border);width:100%;min-width:0;padding:20px}.booking-vehicle-card h3{text-transform:none;letter-spacing:normal;font-size:18px}.booking-vehicle-card button,.booking-extra-card button{text-transform:none;letter-spacing:normal;border-radius:10px;min-height:40px}.booking-vehicle-card button[data-slot=button]{border-left-width:0;min-height:44px;font-size:14px}.booking-extra-card{overflow:hidden}.booking-extra-card>.h-0\.5{display:none}.booking-extra-card>.border-l-4{border-left:0;padding:16px}.booking-extra-card>.border-l-4>span{font-size:14px}.booking-extra-card>:last-child{border-top-width:1px;padding:14px 16px}.booking-extra-card>p{padding-inline:16px}.booking-form .booking-luggage{border-width:1px;border-radius:16px;overflow:hidden}.booking-luggage>div{border:0}.booking-luggage>div+div{border-top:1px solid var(--border)}.booking-luggage>div:not(:last-child){grid-template-columns:20px minmax(0,1fr) auto auto;display:grid}.booking-luggage>div:not(:last-child)>div:first-of-type>div>span{font-size:14px}.booking-luggage>div:not(:last-child)>div:first-of-type>p{font-size:12px;line-height:1.5}.booking-luggage>div:not(:last-child)>div:last-child{border:1px solid var(--border);border-radius:10px;overflow:hidden}.booking-luggage>div:last-child{flex-wrap:wrap;gap:12px}.booking-luggage button{min-width:40px;min-height:40px}.booking-form :is(.booking-luggage,.booking-extra-card) .bg-primary{color:var(--primary-foreground)}.booking-summary-stat{border:1px solid var(--border);border-radius:12px}.booking-map-switch{border:1px solid var(--border);background:var(--card);border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.booking-map-switch button{border-radius:8px;min-height:44px;padding:8px 12px;font-size:13px;font-weight:600}.booking-map-switch button[aria-pressed=true]{background:var(--secondary);color:var(--secondary-foreground)}.booking-map-points{margin:0;padding:20px;list-style:none}.booking-map-points li{align-items:start;gap:12px;padding-bottom:20px;display:flex;position:relative}.booking-map-points li:last-child{padding-bottom:0}.booking-map-points li:not(:last-child):before{content:"";background:var(--border);width:1px;position:absolute;top:30px;bottom:2px;left:14px}.booking-map-points li>div{min-width:0}.booking-map-marker{border:1px solid var(--secondary);background:var(--card);width:28px;height:28px;color:var(--secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.booking-map-marker[data-point=A]{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.booking-map-marker[data-point=B]{background:var(--secondary);color:var(--secondary-foreground)}.booking-detail-row{align-items:start;gap:16px}.booking-detail-row>:last-child{overflow-wrap:anywhere;min-width:0;max-width:70%}.booking-total{background:var(--secondary);color:var(--secondary-foreground);border-radius:0 0 17px 17px;gap:16px}.booking-confirmation>:first-child{color:var(--secondary-foreground);border-radius:23px 23px 0 0}.booking-confirmation :is(a,button){border-radius:12px}.booking-confirmation>:first-child .text-primary{color:var(--primary)}.booking-confirmation>:not(:first-child) .text-primary{color:var(--primary-text,var(--primary))}.booking-confirmation-reference{flex-wrap:wrap;gap:16px}.booking-confirmation-reference button{min-height:44px}.booking-form-loader{min-height:200px;color:var(--muted-foreground);justify-content:center;align-items:center;gap:12px;display:flex}@media (max-width:767px){.booking-form{border-radius:18px}.booking-form-header{border-radius:17px 17px 0 0;padding:20px 16px}.booking-form-caption{margin-bottom:16px;font-size:13px}.booking-progress{gap:6px}.booking-progress li{text-align:center;border-radius:12px;flex-direction:column;justify-content:start;gap:7px;padding:10px 3px;font-size:11px}.booking-progress-icon{width:30px;height:30px}.booking-form-body{padding:24px 16px}.booking-contact-section{padding:16px}.booking-panel-heading{padding:12px 16px}.booking-form .booking-vehicle-card>.flex{grid-template-columns:100px minmax(0,1fr)}.booking-vehicle-card>.flex>:nth-child(2){padding:16px}.booking-vehicle-card>.flex>:last-child{border-left:0;border-top:1px solid var(--border);flex-flow:wrap;grid-column:1/-1;justify-content:space-between;padding:14px 16px}.booking-vehicle-card button[data-slot=button]{width:auto;min-width:120px}.booking-luggage>div:not(:last-child){grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px}.booking-luggage>div:not(:last-child)>svg{margin-top:3px}.booking-luggage>div:not(:last-child)>div:last-child{grid-column:2;justify-self:end}.booking-luggage>div:not(:last-child)>div:nth-last-child(2){display:none}.booking-detail-row{flex-direction:column;gap:4px}.booking-detail-row>:last-child{text-align:left;max-width:100%}.booking-resume .booking-total{flex-wrap:wrap}.booking-confirmation>:first-child{border-radius:17px 17px 0 0}.booking-form :is(input:not([type=checkbox]):not([type=radio]),textarea,[data-slot=select-trigger]){font-size:16px}}@media (prefers-reduced-motion:reduce){.booking-form *,.booking-form :before,.booking-form :after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms}}
