/* AIXCAB Premium 2.4 — polished motion design */
:root{--aix-shine:#00d99a;--aix-black:#101715}
body{background:linear-gradient(135deg,#fff 0%,#f8fbf9 53%,#fff 100%)}
.booking-panel,.booking-aside,.map-shell,.aixcab-fare-card{box-shadow:0 16px 45px rgba(12,34,28,.085),0 2px 10px rgba(12,34,28,.025);transition:transform .35s ease,box-shadow .35s ease}
.booking-panel{position:relative;isolation:isolate;overflow:visible}
.booking-panel:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.45),transparent 37%,rgba(12,176,120,.025) 78%);z-index:-1}
.btn-green{position:relative;overflow:hidden;background:linear-gradient(110deg,#008c62,#00b777 65%,#00cd8c)!important;box-shadow:0 12px 28px rgba(0,151,99,.22);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.btn-green:after{content:"";position:absolute;inset:-65% auto -65% -65%;width:36%;transform:skewX(-25deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.23),transparent);transition:left .65s ease;pointer-events:none}
.btn-green:hover:after{left:140%}.btn-green:hover{transform:translateY(-2px);box-shadow:0 17px 35px rgba(0,151,99,.29)}.btn-green:active{transform:translateY(0)}
#service-pills button{transition:background .2s,box-shadow .2s,transform .2s}#service-pills button:hover{transform:translateY(-2px)}#service-pills button.selected{box-shadow:0 5px 15px rgba(0,145,100,.14)}
.hub-selector{padding:19px;border:1px solid #dbeae4;border-radius:19px;background:linear-gradient(128deg,#f6faf8,#fff 72%);margin:15px 0 23px;box-shadow:inset 0 1px 0 #fff}
.hub-selector[hidden]{display:none}.hub-eyebrow{font-size:11px;letter-spacing:.15em;font-weight:800;color:#537268}.hub-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:13px 0}.hub-choice{border:1px solid #dce7e2;background:#fff;border-radius:13px;padding:12px;display:flex;align-items:center;gap:10px;font-weight:700;text-align:left;cursor:pointer;transition:.22s ease;min-height:62px}.hub-choice:hover,.hub-choice.active{border-color:#00a574;background:#ecfaf4;transform:translateY(-1px);box-shadow:0 7px 16px rgba(0,130,89,.08)}.hub-ico{font-size:24px}.hub-check{margin-left:auto;visibility:hidden;color:#008c62}.hub-choice.active .hub-check{visibility:visible}.hub-direction{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hub-dir{border:1px solid #e1eae6;background:#fff;padding:13px 9px;border-radius:11px;font-weight:700;cursor:pointer;transition:.2s}.hub-dir.active{color:white;background:#131e1a;border-color:#131e1a;box-shadow:0 6px 18px rgba(0,0,0,.13)}.hub-helper{font-size:13px;margin:13px 0 0;color:#60766d}.aixcab-air-guidance{border-radius:14px;padding:14px 16px;margin-bottom:15px;background:#effaf5;border-left:3px solid #00a878}.aixcab-air-guidance p{font-size:13px;margin:6px 0 0;color:#436456}
@media(max-width:520px){.hub-choices{grid-template-columns:1fr}.hub-direction{grid-template-columns:1fr}.hub-selector{padding:13px}}
@media(prefers-reduced-motion:reduce){.btn-green,.btn-green:after,.hub-choice,.hub-dir,.booking-panel{transition:none!important;animation:none!important}}

/* v2.4.1 : véhicule et franchise bagages clairement affichés, sans tarification kilométrique */
.aixcab-vehicle-card .fare-card-top{margin-bottom:15px}.aixcab-vehicle-card select{width:100%;border:1px solid rgba(12,134,94,.25);border-radius:14px;padding:14px;background:#fff;font-weight:700}.aixcab-capacity-hint{font-size:.9rem;color:#426a5d;margin:12px 0}.aixcab-bag-rule{padding:14px 16px;border-radius:14px;background:linear-gradient(115deg,#e7faf1,#f8fffc);color:#0e593d;border:1px solid #b4e8d0;font-size:.95rem;font-weight:650;box-shadow:0 6px 20px rgba(0,125,78,.07)}.aixcab-bag-recap{margin:20px 0}.aixcab-vehicle-card .fare-estimate-tag{white-space:nowrap}

/* AIXCAB v2.4.4 — realistic photo car marker */
.aixcab-car-marker{background:transparent!important;border:0!important;overflow:visible!important}
.aixcab-car-icon{width:84px;height:62px;display:flex;align-items:center;justify-content:center;transform-origin:50% 50%;will-change:transform;filter:drop-shadow(0 4px 3px rgba(0,0,0,.34));transition:transform .13s linear}
.aixcab-car-photo{width:84px;height:auto;max-width:none;display:block;user-select:none;pointer-events:none;object-fit:contain}
@media(max-width:600px){.aixcab-car-icon{width:70px;height:52px}.aixcab-car-photo{width:70px}}
@media(prefers-reduced-motion:reduce){.aixcab-car-icon{transition:none}}
