/**
 * WhatsApp Lead Form — frontend styles.
 * Color/size/position values come from CSS variables injected inline.
 */

.wlf-wrap{font-family:var(--wlf-font,inherit);}
.wlf-wrap *{box-sizing:border-box;}

/* Launcher button */
.wlf-launcher{
	position:fixed;
	z-index:99998;
	width:var(--wlf-btn-size,60px);
	height:var(--wlf-btn-size,60px);
	border:none;
	border-radius:50%;
	background:var(--wlf-btn-bg,#25D366) !important;
	color:var(--wlf-btn-icon,#fff);
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
	box-shadow:0 6px 18px rgba(0,0,0,.25);
	transition:transform .2s ease, box-shadow .2s ease;
	padding:0;
}
.wlf-launcher:hover,.wlf-launcher:focus,.wlf-launcher:active{background:var(--wlf-btn-bg,#25D366) !important;color:var(--wlf-btn-icon,#fff) !important;transform:scale(1.06);box-shadow:0 8px 24px rgba(0,0,0,.3);}
.wlf-launcher:focus-visible{outline:3px solid rgba(255,255,255,.7);outline-offset:2px;}
.wlf-launcher-icon{width:60%;height:60%;}
.wlf-launcher-icon-img{width:64%;height:64%;object-fit:contain;border-radius:50%;}

/* Tooltip */
.wlf-tooltip{
	position:fixed;
	z-index:99998;
	bottom:calc(var(--wlf-offset-y,24px) + var(--wlf-btn-size,60px) + 14px);
	background:#fff;
	color:#1f2937;
	padding:10px 30px 10px 14px;
	border-radius:10px;
	box-shadow:0 6px 20px rgba(0,0,0,.18);
	font-size:14px;
	max-width:230px;
	line-height:1.35;
	animation:wlf-fade-in .35s ease;
}
.wlf-launcher ~ .wlf-tooltip,.wlf-tooltip{}
.wlf-wrap .wlf-tooltip{right:var(--wlf-offset-x,24px);}
.wlf-tooltip-close{
	position:absolute;top:4px;right:6px;border:none;background:none;
	font-size:16px;line-height:1;cursor:pointer;color:#9ca3af;padding:2px;
}
.wlf-tooltip-close:hover{color:#4b5563;}

/* Popup */
.wlf-popup{
	position:fixed;
	z-index:99999;
	width:360px;
	max-width:calc(100vw - 32px);
	max-height:calc(100vh - 120px);
	overflow-y:auto;
	background:var(--wlf-popup-bg,#fff);
	color:var(--wlf-popup-text,#1f2937);
	border-radius:var(--wlf-popup-radius,14px);
	box-shadow:0 20px 50px rgba(0,0,0,.3);
	animation:wlf-pop-in .25s ease;
}
.wlf-popup[hidden]{display:none;}

.wlf-popup-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	padding:18px 18px 8px;
	background:var(--wlf-accent,#25D366);
	color:#fff;
	border-radius:var(--wlf-popup-radius,14px) var(--wlf-popup-radius,14px) 0 0;
}
.wlf-popup-title{margin:0;font-size:18px;font-weight:700;line-height:1.25;}
.wlf-popup-subtitle{margin:4px 0 0;font-size:13px;opacity:.92;}
.wlf-close{
	border:none;
	background:rgba(255,255,255,.2);
	color:#fff;
	width:30px;
	height:30px;
	min-width:30px;
	border-radius:50%;
	font-size:22px;
	line-height:1;
	cursor:pointer;
	flex:0 0 auto;
	padding:0;
	margin:0;
	display:flex;
	align-items:center;
	justify-content:center;
}
.wlf-close:hover{background:rgba(255,255,255,.35);}

/* Form */
.wlf-form{padding:16px 18px 18px;}
.wlf-field{margin-bottom:12px;}
.wlf-wrap .wlf-label{
	display:block;
	font-size:13px;
	font-weight:600;
	margin:0 0 5px;
	padding:0;
	color:var(--wlf-popup-text,#1f2937) !important;
	text-transform:none;
	letter-spacing:normal;
	line-height:1.3;
	text-indent:0;
	opacity:1;
	visibility:visible;
}
.wlf-req{color:#e11d48;}
.wlf-wrap .wlf-input{
	width:100%;
	padding:10px 12px;
	border:1px solid #d1d5db;
	border-radius:var(--wlf-field-radius,8px);
	font-size:14px;
	font-family:inherit;
	color:var(--wlf-popup-text,#1f2937) !important;
	background:#fff !important;
	background-color:#fff !important;
	color-scheme:light; /* keep native date/time pickers light, not dark */
	transition:border-color .15s ease, box-shadow .15s ease;
}
/* Force native date & time controls to render light (some themes set color-scheme:dark). */
.wlf-wrap input[type="date"].wlf-input,
.wlf-wrap input[type="time"].wlf-input{
	color-scheme:light;
	background:#fff !important;
	color:var(--wlf-popup-text,#1f2937) !important;
}
.wlf-wrap input[type="date"].wlf-input::-webkit-calendar-picker-indicator,
.wlf-wrap input[type="time"].wlf-input::-webkit-calendar-picker-indicator{
	filter:none;
	opacity:.7;
	cursor:pointer;
}
.wlf-input:focus{
	outline:none;
	border-color:var(--wlf-accent,#25D366);
	box-shadow:0 0 0 3px color-mix(in srgb,var(--wlf-accent,#25D366) 25%,transparent);
}
textarea.wlf-input{resize:vertical;min-height:74px;}
.wlf-choices{display:flex;flex-wrap:wrap;gap:8px 16px;}
.wlf-choice{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:400;}

.wlf-field.wlf-invalid .wlf-input{border-color:#e11d48;}
.wlf-error{display:none;color:#e11d48;font-size:12px;margin-top:4px;}
.wlf-field.wlf-invalid .wlf-error{display:block;}

.wlf-form-status{font-size:13px;margin:4px 0 10px;min-height:0;}
.wlf-form-status.wlf-ok{color:#15803d;}
.wlf-form-status.wlf-err{color:#e11d48;}
.wlf-form-status:empty{display:none;}

/* Submit */
.wlf-submit{
	width:100%;
	border:none;
	border-radius:999px;
	background:var(--wlf-accent,#25D366);
	color:#fff;
	font-size:15px;
	font-weight:700;
	padding:12px 18px;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	transition:filter .15s ease;
}
.wlf-submit:hover{filter:brightness(.95);}
.wlf-submit:disabled{opacity:.7;cursor:default;}
.wlf-spinner{
	width:16px;height:16px;border-radius:50%;
	border:2px solid rgba(255,255,255,.5);
	border-top-color:#fff;
	display:none;
	animation:wlf-spin .7s linear infinite;
}
.wlf-submit.wlf-loading{position:relative;pointer-events:none;}
.wlf-submit.wlf-loading .wlf-submit-label,
.wlf-submit.wlf-loading .wlf-submit-ico{opacity:0;}
.wlf-submit.wlf-loading .wlf-spinner{
	display:block;position:absolute;left:50%;top:50%;
	margin:-8px 0 0 -8px;
}

.wlf-credit{text-align:center;font-size:11px;margin:12px 0 0;opacity:.65;}
.wlf-credit a{color:inherit;}

/* Device visibility */
@media (max-width:782px){
	.wlf-device-desktop{display:none !important;}
	.wlf-popup{width:320px;}
}
@media (min-width:783px){
	.wlf-device-mobile{display:none !important;}
}

/* Animations */
@keyframes wlf-pop-in{from{opacity:0;transform:translateY(12px) scale(.98);}to{opacity:1;transform:none;}}
@keyframes wlf-fade-in{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
@keyframes wlf-spin{to{transform:rotate(360deg);}}

@media (prefers-reduced-motion:reduce){
	.wlf-popup,.wlf-tooltip,.wlf-launcher,.wlf-spinner{animation:none;transition:none;}
}

/* ---- Inline form (shortcode / Elementor) ---- */
.wlf-inline{
	position:static;
	display:block;
	width:100%;
	max-width:520px;
	font-family:var(--wlf-font,inherit);
	color:var(--wlf-popup-text,#1f2937);
	background:var(--wlf-popup-bg,#fff);
	border-radius:var(--wlf-popup-radius,14px);
	padding:22px;
	box-shadow:0 4px 18px rgba(0,0,0,.08);
}
.wlf-inline .wlf-inline-title{
	margin:0 0 4px;
	font-size:20px;
	font-weight:700;
	line-height:1.25;
	color:var(--wlf-popup-text,#1f2937);
}
.wlf-inline .wlf-inline-subtitle{
	margin:0 0 16px;
	font-size:14px;
	opacity:.8;
}
.wlf-inline .wlf-form{padding:0;}
.wlf-inline .wlf-credit{display:none;}

/* ---- Defensive spacing, sizing & responsiveness (overrides theme styling) ---- */

/* Consistent vertical rhythm between fields (popup + inline). */
.wlf-wrap .wlf-fields{display:block;}
.wlf-wrap .wlf-field{
	margin:0 0 18px !important;
	padding:0 !important;
	width:100%;
	clear:both;
}
.wlf-wrap .wlf-field:last-child{margin-bottom:14px !important;}

.wlf-wrap .wlf-label{
	display:block !important;
	margin:0 0 6px !important;
	padding:0 !important;
	font-size:14px !important;
	font-weight:600 !important;
	line-height:1.3 !important;
	width:100%;
}

/* Normalize every input/select/textarea so theme padding/height can't distort them. */
.wlf-wrap .wlf-input{
	display:block !important;
	width:100% !important;
	max-width:100% !important;
	box-sizing:border-box !important;
	margin:0 !important;
	padding:10px 12px !important;
	font-size:16px !important;      /* 16px prevents zoom-on-focus on iOS */
	line-height:1.4 !important;
	height:auto !important;
	min-height:0 !important;
	vertical-align:middle;
}
/* Uniform single-line control height (fixes the over-tall native date box). */
.wlf-wrap input.wlf-input,
.wlf-wrap select.wlf-input{height:46px !important;}
.wlf-wrap textarea.wlf-input{height:auto !important;min-height:90px !important;}

.wlf-wrap .wlf-choices{margin-top:2px;}
.wlf-wrap .wlf-error{margin-top:5px;}

/* Inline wrapper: fluid and centered, with comfortable padding. */
.wlf-inline{
	box-sizing:border-box;
	width:100%;
	max-width:520px;
	margin:0 auto;
}
.wlf-inline .wlf-submit{margin-top:4px;}

/* Responsive breakpoints. */
@media (max-width:600px){
	.wlf-inline{padding:16px;border-radius:12px;}
	.wlf-wrap .wlf-field{margin-bottom:16px !important;}
	.wlf-popup{width:auto;left:12px !important;right:12px !important;max-width:none;}
}
@media (max-width:400px){
	.wlf-inline{padding:14px;}
	.wlf-wrap input.wlf-input,.wlf-wrap select.wlf-input{height:44px !important;}
}

/* ============================================================
   v1.2 — Tabs, icons, counter, enhanced popup (fixed header)
   ============================================================ */

/* Popup as a flex column so the header stays fixed while the body scrolls. */
.wlf-popup{
	display:flex;
	flex-direction:column;
	overflow:hidden;
	padding:0;
	width:370px;
}
.wlf-popup-header{
	position:relative;
	flex:0 0 auto;
	align-items:center;
	gap:12px;
	padding:18px 18px;
	border-radius:var(--wlf-popup-radius,16px) var(--wlf-popup-radius,16px) 0 0;
	box-shadow:0 2px 10px rgba(0,0,0,.06);
	z-index:2;
}
.wlf-popup-header-icon{
	flex:0 0 auto;
	width:40px;height:40px;border-radius:50%;
	background:rgba(255,255,255,.22);
	color:#fff;
	display:flex;align-items:center;justify-content:center;
}
.wlf-popup-header-text{flex:1 1 auto;min-width:0;}
.wlf-popup-body{
	flex:1 1 auto;
	overflow-y:auto;
	-webkit-overflow-scrolling:touch;
	padding:16px 18px 18px;
}
.wlf-popup-body .wlf-form{padding:0;}

/* Tabs nav (pill style, like the reference). */
.wlf-tabs-nav{
	display:flex;
	gap:4px;
	background:rgba(0,0,0,.05);
	border-radius:999px;
	padding:4px;
	margin:0 0 16px;
}
.wlf-tab-btn{
	flex:1 1 0;
	border:none;
	background:transparent;
	color:var(--wlf-popup-text,#1f2937);
	font-family:inherit;
	font-size:14px;
	font-weight:600;
	padding:9px 10px;
	border-radius:999px;
	cursor:pointer;
	transition:background .15s ease, box-shadow .15s ease;
}
.wlf-tab-btn.is-active{
	background:var(--wlf-popup-bg,#fff);
	box-shadow:0 2px 6px rgba(0,0,0,.12);
}
.wlf-tab-btn:focus-visible{outline:2px solid var(--wlf-accent,#25D366);outline-offset:1px;}

/* Show/hide fields per active tab. */
.wlf-form.wlf-tab-now .wlf-field:not(.wlf-in-now){display:none !important;}
.wlf-form.wlf-tab-plans .wlf-field:not(.wlf-in-plans){display:none !important;}

/* Inline icon inside inputs. */
.wlf-input-wrap{position:relative;display:block;width:100%;}
.wlf-input-wrap.has-ico .wlf-input{padding-left:40px !important;}
.wlf-ico{
	position:absolute;
	left:13px;top:50%;
	transform:translateY(-50%);
	width:18px;height:18px;
	color:var(--wlf-accent,#25D366);
	opacity:.85;
	pointer-events:none;
	display:flex;
}
.wlf-ico .wlf-ico-svg{width:18px;height:18px;}
.wlf-field-textarea .wlf-input-wrap.has-ico .wlf-ico{top:22px;transform:none;}
.wlf-field-select .wlf-input-wrap.has-ico .wlf-input{padding-right:28px !important;}

/* Icon shown beside labels for choice/counter fields. */
.wlf-wrap .wlf-label{display:flex !important;align-items:center;gap:7px;}
.wlf-label-ico{display:inline-flex;width:16px;height:16px;color:var(--wlf-accent,#25D366);}
.wlf-label-ico .wlf-ico-svg{width:16px;height:16px;}

/* Passenger counter. */
.wlf-counter{
	display:inline-flex;
	align-items:center;
	gap:0;
	border:1px solid #d1d5db;
	border-radius:999px;
	overflow:hidden;
	background:#fff;
}
.wlf-counter-btn{
	width:42px;height:46px;
	border:none;background:transparent;
	font-size:22px;line-height:1;
	color:var(--wlf-accent,#25D366);
	cursor:pointer;
	display:flex;align-items:center;justify-content:center;
	transition:background .15s ease;
}
.wlf-counter-btn:hover{background:rgba(0,0,0,.05);}
.wlf-wrap .wlf-counter .wlf-counter-input{
	width:56px !important;
	height:46px !important;
	border:none !important;
	border-left:1px solid #eee !important;
	border-right:1px solid #eee !important;
	border-radius:0 !important;
	text-align:center !important;
	padding:0 !important;
	font-weight:600;
	background:#fff !important;
	-moz-appearance:textfield;
}
.wlf-counter .wlf-counter-input::-webkit-outer-spin-button,
.wlf-counter .wlf-counter-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

/* Submit button with icon. */
.wlf-submit{gap:9px;}
.wlf-submit-ico{display:inline-flex;align-items:center;}
.wlf-wa-glyph{width:18px;height:18px;}

/* Footer note. */
.wlf-footer-note{
	text-align:center;
	font-size:12.5px;
	margin:12px 0 0;
	opacity:.75;
}

/* Inline wrapper tabs spacing. */
.wlf-inline .wlf-tabs-nav{margin-bottom:16px;}

/* Small-screen popup adjustments. */
@media (max-width:600px){
	.wlf-popup{width:auto;left:10px !important;right:10px !important;max-width:none;max-height:82vh;}
	.wlf-popup-header{padding:16px 14px;}
	.wlf-popup-body{padding:14px;}
}

/* ============================================================
   v1.2.1 — Button hardening (prevent theme button styles bleeding in)
   ============================================================ */

/* Tab buttons: force pill look regardless of theme button rules. */
.wlf-wrap .wlf-tabs-nav .wlf-tab-btn,
.wlf-inline .wlf-tabs-nav .wlf-tab-btn{
	background:transparent !important;
	background-image:none !important;
	color:var(--wlf-popup-text,#1f2937) !important;
	border:none !important;
	box-shadow:none !important;
	text-shadow:none !important;
	text-transform:none !important;
	letter-spacing:normal !important;
	min-height:0 !important;
	height:auto !important;
	width:auto !important;
	flex:1 1 0 !important;
	line-height:1.2 !important;
	opacity:.75;
}
.wlf-wrap .wlf-tabs-nav .wlf-tab-btn.is-active,
.wlf-inline .wlf-tabs-nav .wlf-tab-btn.is-active{
	background:var(--wlf-popup-bg,#fff) !important;
	background-image:none !important;
	color:var(--wlf-popup-text,#1f2937) !important;
	box-shadow:0 2px 6px rgba(0,0,0,.12) !important;
	opacity:1;
}
.wlf-wrap .wlf-tabs-nav .wlf-tab-btn:hover{opacity:1;}

/* Submit button: keep the accent color no matter what the theme does. */
.wlf-wrap .wlf-submit,
.wlf-inline .wlf-submit{
	background:var(--wlf-accent,#25D366) !important;
	background-image:none !important;
	color:#fff !important;
	border:none !important;
	text-shadow:none !important;
	text-transform:none !important;
	box-shadow:none !important;
}
.wlf-wrap .wlf-submit:hover,
.wlf-inline .wlf-submit:hover{
	background:var(--wlf-accent,#25D366) !important;
	color:#fff !important;
	filter:brightness(.95);
}
.wlf-wrap .wlf-submit .wlf-submit-label{color:#fff !important;}

/* Counter +/- buttons. */
.wlf-wrap .wlf-counter .wlf-counter-btn{
	background:transparent !important;
	background-image:none !important;
	color:var(--wlf-accent,#25D366) !important;
	border:none !important;
	box-shadow:none !important;
	text-shadow:none !important;
	min-height:0 !important;
}
.wlf-wrap .wlf-counter .wlf-counter-btn:hover{background:rgba(0,0,0,.05) !important;}

/* Close button in the popup header. */
.wlf-wrap .wlf-close{
	background:rgba(255,255,255,.22) !important;
	background-image:none !important;
	color:#fff !important;
	border:none !important;
	box-shadow:none !important;
	text-shadow:none !important;
}
.wlf-wrap .wlf-close:hover{background:rgba(255,255,255,.38) !important;}

/* Launcher (floating button). */
.wlf-wrap .wlf-launcher{
	background:var(--wlf-btn-bg,#25D366) !important;
	background-image:none !important;
	color:var(--wlf-btn-icon,#fff) !important;
	border:none !important;
	text-shadow:none !important;
}

/* ---- Booking intelligence (autocomplete + fare estimate) ---- */

/* Honeypot: kept in the DOM but out of sight & off the tab order. */
.wlf-hp{
	position:absolute !important;
	left:-9999px !important;
	top:auto !important;
	width:1px;height:1px;overflow:hidden;
}

/* "Use my location" button inside the pickup field. */
.wlf-input-wrap.wlf-has-geo .wlf-input{padding-right:42px !important;}
.wlf-geo-btn{
	position:absolute;
	top:50%;right:6px;transform:translateY(-50%);
	display:inline-flex;align-items:center;justify-content:center;
	width:30px;height:30px;padding:0;
	border:none;border-radius:8px;
	background:transparent;
	color:var(--wlf-accent,#25D366);
	cursor:pointer;
	transition:background .15s ease;
}
.wlf-geo-btn:hover{background:color-mix(in srgb,var(--wlf-accent,#25D366) 14%,transparent);}
.wlf-geo-btn:focus-visible{outline:2px solid var(--wlf-accent,#25D366);outline-offset:1px;}
.wlf-geo-btn.is-busy{opacity:.5;pointer-events:none;}
.wlf-geo-btn.is-busy svg{animation:wlf-spin .9s linear infinite;}
@keyframes wlf-spin{to{transform:rotate(360deg);}}

/* Fare / ETA estimate card. */
.wlf-estimate{
	display:flex;align-items:center;justify-content:space-between;gap:12px;
	margin:4px 0 14px;
	padding:12px 14px;
	border:1px solid color-mix(in srgb,var(--wlf-accent,#25D366) 32%,transparent);
	border-radius:var(--wlf-field-radius,10px);
	background:color-mix(in srgb,var(--wlf-accent,#25D366) 8%,transparent);
	animation:wlf-fade-in .25s ease;
}
.wlf-estimate[hidden]{display:none;}
.wlf-estimate-main{display:flex;flex-direction:column;gap:2px;min-width:0;}
.wlf-estimate-label{
	font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
	opacity:.65;color:var(--wlf-popup-text,#1f2937);
}
.wlf-estimate-trip{
	font-size:13px;font-weight:600;
	color:var(--wlf-popup-text,#1f2937);
}
.wlf-estimate-fare{
	flex:none;
	font-size:20px;font-weight:800;line-height:1;
	color:var(--wlf-accent,#25D366);
	font-variant-numeric:tabular-nums;
}
.wlf-estimate.is-loading .wlf-estimate-fare{opacity:.4;}
.wlf-estimate.is-loading .wlf-estimate-trip{opacity:.7;}

/* Address autocomplete dropdown. */
.wlf-ac{
	position:absolute;
	top:calc(100% + 4px);left:0;right:0;
	z-index:100001;
	margin:0;padding:4px;
	list-style:none;
	max-height:230px;overflow-y:auto;
	background:var(--wlf-popup-bg,#fff);
	border:1px solid rgba(0,0,0,.12);
	border-radius:var(--wlf-field-radius,10px);
	box-shadow:0 10px 30px rgba(0,0,0,.16);
}
.wlf-ac[hidden]{display:none;}
.wlf-ac-item{
	padding:9px 11px;
	border-radius:calc(var(--wlf-field-radius,10px) - 4px);
	font-size:13.5px;line-height:1.35;
	color:var(--wlf-popup-text,#1f2937);
	cursor:pointer;
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.wlf-ac-item.is-active,.wlf-ac-item:hover{
	background:color-mix(in srgb,var(--wlf-accent,#25D366) 14%,transparent);
}

/* =====================================================================
   WIZARD LAYOUT (Phase 2)
   ===================================================================== */
.wlf-wizard{
	--wlf-ink:var(--wlf-popup-text,#1f2937);
	--wlf-line:color-mix(in srgb,var(--wlf-ink) 14%,transparent);
	--wlf-soft:color-mix(in srgb,var(--wlf-ink) 5%,transparent);
	--wlf-soft2:color-mix(in srgb,var(--wlf-ink) 9%,transparent);
	color:var(--wlf-ink);
}

/* ---- Progress header ---- */
.wlf-wiz-head{margin-bottom:16px;}
.wlf-wiz-progress{
	list-style:none;margin:0;padding:0;
	display:flex;align-items:flex-start;justify-content:space-between;
	position:relative;
}
.wlf-wiz-dot{
	position:relative;flex:1;
	display:flex;flex-direction:column;align-items:center;gap:5px;
	cursor:pointer;text-align:center;
}
/* Connector line between dots. */
.wlf-wiz-dot::before{
	content:"";position:absolute;top:13px;left:-50%;width:100%;height:2px;
	background:var(--wlf-line);z-index:0;
}
.wlf-wiz-dot:first-child::before{display:none;}
.wlf-wiz-dot.is-done::before,.wlf-wiz-dot.is-active::before{background:var(--wlf-accent,#25D366);}
.wlf-wiz-num{
	position:relative;z-index:1;
	width:28px;height:28px;border-radius:50%;
	display:flex;align-items:center;justify-content:center;
	font-size:12.5px;font-weight:700;
	background:var(--wlf-popup-bg,#fff);
	color:color-mix(in srgb,var(--wlf-ink) 55%,transparent);
	border:2px solid var(--wlf-line);
	transition:.25s;
}
.wlf-wiz-dot.is-active .wlf-wiz-num{
	border-color:var(--wlf-accent,#25D366);
	color:var(--wlf-accent,#25D366);
	box-shadow:0 0 0 4px color-mix(in srgb,var(--wlf-accent,#25D366) 16%,transparent);
}
.wlf-wiz-dot.is-done .wlf-wiz-num{
	background:var(--wlf-accent,#25D366);border-color:var(--wlf-accent,#25D366);color:#fff;
}
.wlf-wiz-dot.is-done .wlf-wiz-num{font-size:0;}
.wlf-wiz-dot.is-done .wlf-wiz-num::after{content:"✓";font-size:14px;}
.wlf-wiz-label{
	font-size:10.5px;font-weight:600;letter-spacing:.02em;
	color:color-mix(in srgb,var(--wlf-ink) 55%,transparent);
	white-space:nowrap;
}
.wlf-wiz-dot.is-active .wlf-wiz-label{color:var(--wlf-ink);}

.wlf-wiz-readout{
	margin-top:12px;
	display:flex;align-items:center;justify-content:space-between;gap:10px;
	padding:8px 12px;border-radius:10px;
	background:color-mix(in srgb,var(--wlf-accent,#25D366) 10%,transparent);
	border:1px solid color-mix(in srgb,var(--wlf-accent,#25D366) 22%,transparent);
}
.wlf-wiz-readout[hidden]{display:none;}
.wlf-readout-trip{font-size:12.5px;font-weight:600;opacity:.85;}
.wlf-readout-fare{font-size:15px;font-weight:800;color:var(--wlf-accent,#25D366);font-variant-numeric:tabular-nums;}

/* ---- Steps ---- */
.wlf-step{display:none;}
.wlf-step.is-active{display:block;animation:wlf-step-in .28s ease;}
@keyframes wlf-step-in{from{opacity:0;transform:translateX(8px);}to{opacity:1;transform:none;}}

/* ---- "Ride now" chip ---- */
.wlf-now-chip{
	display:inline-flex;align-items:center;gap:6px;
	margin:0 0 12px;padding:7px 14px;
	border:1px solid var(--wlf-line);border-radius:999px;
	background:var(--wlf-soft);color:var(--wlf-ink);
	font-size:12.5px;font-weight:600;cursor:pointer;transition:.18s;
}
.wlf-now-chip::before{content:"⚡";}
.wlf-now-chip:hover{border-color:var(--wlf-accent,#25D366);}
.wlf-now-chip.is-active{
	background:color-mix(in srgb,var(--wlf-accent,#25D366) 16%,transparent);
	border-color:var(--wlf-accent,#25D366);color:var(--wlf-accent,#25D366);
}

/* ---- Ride-type cards ---- */
.wlf-vehicles{
	display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px;
	margin-bottom:16px;
}
.wlf-vehicle-card{
	display:flex;flex-direction:column;align-items:center;gap:3px;
	padding:12px 6px 10px;
	border:1.5px solid var(--wlf-line);border-radius:14px;
	background:var(--wlf-popup-bg,#fff);color:var(--wlf-ink);
	cursor:pointer;transition:.16s;text-align:center;
}
.wlf-vehicle-card:hover{border-color:color-mix(in srgb,var(--wlf-accent,#25D366) 55%,var(--wlf-line));transform:translateY(-1px);}
.wlf-vehicle-card.is-selected{
	border-color:var(--wlf-accent,#25D366);
	background:color-mix(in srgb,var(--wlf-accent,#25D366) 8%,transparent);
	box-shadow:0 0 0 3px color-mix(in srgb,var(--wlf-accent,#25D366) 14%,transparent);
}
.wlf-vehicle-card:focus-visible{outline:2px solid var(--wlf-accent,#25D366);outline-offset:2px;}
.wlf-vehicle-ico{color:var(--wlf-ink);opacity:.85;}
.wlf-vehicle-card.is-selected .wlf-vehicle-ico{color:var(--wlf-accent,#25D366);opacity:1;}
.wlf-vehicle-name{font-size:12px;font-weight:700;}
.wlf-vehicle-cap{
	display:inline-flex;align-items:center;gap:3px;
	font-size:10.5px;opacity:.6;font-variant-numeric:tabular-nums;
}
.wlf-vehicle-price{
	font-size:12px;font-weight:800;min-height:15px;
	color:var(--wlf-accent,#25D366);font-variant-numeric:tabular-nums;
}

/* ---- Nav buttons ---- */
.wlf-wiz-nav{display:flex;gap:10px;align-items:center;margin-top:6px;}
.wlf-wiz-back{
	flex:none;padding:12px 16px;border-radius:12px;
	border:1px solid var(--wlf-line);background:transparent;color:var(--wlf-ink);
	font-size:14px;font-weight:600;cursor:pointer;transition:.16s;
}
.wlf-wiz-back:hover{background:var(--wlf-soft);}
.wlf-wiz-back[hidden]{display:none;}
.wlf-wiz-next{
	flex:1;padding:13px 16px;border-radius:12px;border:none;cursor:pointer;
	background:var(--wlf-accent,#25D366);color:#fff;
	font-size:14.5px;font-weight:700;transition:.16s;
}
.wlf-wiz-next:hover{filter:brightness(.96);}
.wlf-wiz-next[hidden]{display:none;}
.wlf-wizard .wlf-wiz-submit{flex:1;margin:0;}
.wlf-wizard .wlf-wiz-submit[hidden]{display:none;}

/* ---- Live summary ---- */
.wlf-summary{margin:4px 0 16px;}
.wlf-summary[hidden]{display:none;}
.wlf-routeviz{
	display:block;width:100%;height:auto;aspect-ratio:600/220;
	border-radius:14px;margin-bottom:14px;
	background:
		radial-gradient(120% 140% at 18% 12%,var(--wlf-soft2),transparent),
		var(--wlf-soft);
	border:1px solid var(--wlf-line);
}
.wlf-summary-list{margin:0;padding:0;display:flex;flex-direction:column;gap:1px;
	border-radius:12px;overflow:hidden;border:1px solid var(--wlf-line);}
.wlf-summary-row{display:flex;justify-content:space-between;gap:12px;padding:11px 13px;background:var(--wlf-soft);}
.wlf-summary-row[hidden]{display:none;}
.wlf-summary-row dt{margin:0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;opacity:.55;}
.wlf-summary-row dd{margin:0;font-size:13px;font-weight:600;text-align:right;min-width:0;overflow-wrap:anywhere;}
.wlf-sum-fare dd{color:var(--wlf-accent,#25D366);font-weight:800;font-variant-numeric:tabular-nums;}

/* ---- Trust row ---- */
.wlf-trust-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.wlf-trust{
	display:inline-flex;align-items:center;gap:5px;
	font-size:11.5px;font-weight:600;
	padding:5px 10px;border-radius:999px;
	background:var(--wlf-soft);color:color-mix(in srgb,var(--wlf-ink) 75%,transparent);
	border:1px solid var(--wlf-line);
}
.wlf-trust svg{color:var(--wlf-accent,#25D366);}

/* ---- Confirmation ---- */
.wlf-confirm{padding:16px 4px 8px;text-align:center;animation:wlf-step-in .3s ease;}
.wlf-confirm[hidden]{display:none;}
.wlf-confirm-check{color:var(--wlf-accent,#25D366);margin-bottom:6px;}
.wlf-confirm-check path{stroke-dasharray:60;stroke-dashoffset:60;animation:wlf-check .5s .15s ease forwards;}
@keyframes wlf-check{to{stroke-dashoffset:0;}}
.wlf-confirm-title{margin:0 0 4px;font-size:18px;font-weight:800;}
.wlf-confirm-msg{margin:0 auto 14px;font-size:13.5px;opacity:.75;max-width:34ch;}
.wlf-confirm-recap{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;text-align:left;}
.wlf-recap-row{padding:10px 13px;border-radius:10px;background:var(--wlf-soft);font-size:13px;font-weight:600;}
.wlf-confirm .wlf-trust-row{justify-content:center;}

@media (prefers-reduced-motion:reduce){
	.wlf-step.is-active,.wlf-confirm{animation:none;}
	.wlf-confirm-check path{animation:none;stroke-dashoffset:0;}
}

/* =====================================================================
   PREMIUM SKINS - "glass-dark" (chauffeur noir) & "glass-light" (frost)
   The skin overrides the surface variables so every var-driven rule
   inherits it; the admin accent color is kept everywhere.
   ===================================================================== */
.wlf-skin-glass-dark{
	--wlf-popup-bg:#101521 !important;
	--wlf-popup-text:#eef1f7 !important;
	--wlf-glass:rgba(15,19,29,.82);
	--wlf-hair:rgba(255,255,255,.09);
	--wlf-hair-strong:rgba(255,255,255,.22);
	--wlf-glass-soft:rgba(255,255,255,.045);
}
.wlf-skin-glass-light{
	--wlf-popup-bg:#fbfcff !important;
	--wlf-popup-text:#141a26 !important;
	--wlf-glass:rgba(255,255,255,.78);
	--wlf-hair:rgba(16,22,34,.1);
	--wlf-hair-strong:rgba(16,22,34,.26);
	--wlf-glass-soft:rgba(16,22,34,.04);
}

/* ---- The panel: layered glass with an accent aurora ---- */
.wlf-skin-glass-dark .wlf-popup,
.wlf-skin-glass-light .wlf-popup{
	width:400px;
	background:
		radial-gradient(120% 60% at 85% -8%, color-mix(in srgb,var(--wlf-accent,#25D366) 20%,transparent), transparent 55%),
		radial-gradient(80% 40% at 0% 100%, color-mix(in srgb,var(--wlf-accent,#25D366) 9%,transparent), transparent 60%),
		var(--wlf-glass);
	-webkit-backdrop-filter:blur(24px) saturate(1.5);
	backdrop-filter:blur(24px) saturate(1.5);
	border:1px solid var(--wlf-hair);
	border-radius:24px;
	box-shadow:
		0 40px 90px -24px rgba(0,0,0,.55),
		0 0 0 1px rgba(0,0,0,.05),
		inset 0 1px 0 rgba(255,255,255,.08);
	animation:wlf-glass-in .38s cubic-bezier(.21,.9,.27,1);
}
@keyframes wlf-glass-in{
	from{opacity:0;transform:translateY(14px) scale(.97);}
	to{opacity:1;transform:none;}
}

/* Inline embeds get the same panel treatment. */
.wlf-inline.wlf-skin-glass-dark,
.wlf-inline.wlf-skin-glass-light{
	background:
		radial-gradient(120% 60% at 85% -8%, color-mix(in srgb,var(--wlf-accent,#25D366) 18%,transparent), transparent 55%),
		var(--wlf-glass);
	-webkit-backdrop-filter:blur(24px) saturate(1.5);
	backdrop-filter:blur(24px) saturate(1.5);
	border:1px solid var(--wlf-hair);
	border-radius:24px;
	padding:26px 24px;
	max-width:480px;
	color:var(--wlf-popup-text);
	box-shadow:0 30px 70px -28px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.07);
}
.wlf-inline.wlf-skin-glass-dark .wlf-inline-title,
.wlf-inline.wlf-skin-glass-light .wlf-inline-title{color:var(--wlf-popup-text);letter-spacing:-.02em;}
.wlf-inline.wlf-skin-glass-dark .wlf-inline-subtitle,
.wlf-inline.wlf-skin-glass-light .wlf-inline-subtitle{color:var(--wlf-popup-text);opacity:.62;}

/* ---- Header: quiet luxury instead of a solid accent bar ---- */
.wlf-skin-glass-dark .wlf-popup-header,
.wlf-skin-glass-light .wlf-popup-header{
	background:transparent;
	color:var(--wlf-popup-text);
	padding:20px 20px 12px;
	border-bottom:1px solid var(--wlf-hair);
	border-radius:0;
}
.wlf-skin-glass-dark .wlf-popup-title,
.wlf-skin-glass-light .wlf-popup-title{
	font-size:19px;font-weight:800;letter-spacing:-.02em;
}
.wlf-skin-glass-dark .wlf-popup-subtitle,
.wlf-skin-glass-light .wlf-popup-subtitle{opacity:.6;}
.wlf-skin-glass-dark .wlf-popup-header-icon,
.wlf-skin-glass-light .wlf-popup-header-icon{
	display:flex;align-items:center;justify-content:center;
	width:40px;height:40px;flex:0 0 auto;border-radius:13px;
	color:var(--wlf-accent,#25D366);
	background:color-mix(in srgb,var(--wlf-accent,#25D366) 14%,transparent);
	border:1px solid color-mix(in srgb,var(--wlf-accent,#25D366) 30%,transparent);
	box-shadow:0 0 22px color-mix(in srgb,var(--wlf-accent,#25D366) 25%,transparent);
}
.wlf-skin-glass-dark .wlf-wrap .wlf-close,
.wlf-skin-glass-dark .wlf-close{
	background:rgba(255,255,255,.08) !important;
	color:var(--wlf-popup-text) !important;
}
.wlf-skin-glass-light .wlf-wrap .wlf-close,
.wlf-skin-glass-light .wlf-close{
	background:rgba(16,22,34,.07) !important;
	color:var(--wlf-popup-text) !important;
}
.wlf-skin-glass-dark .wlf-close:hover{background:rgba(255,255,255,.16) !important;}
.wlf-skin-glass-light .wlf-close:hover{background:rgba(16,22,34,.13) !important;}

/* ---- Fields: Blacklane-style underline, elevated ---- */
.wlf-skin-glass-dark .wlf-wrap .wlf-label,
.wlf-skin-glass-light .wlf-wrap .wlf-label,
.wlf-skin-glass-dark .wlf-label,
.wlf-skin-glass-light .wlf-label{
	font-size:10.5px !important;
	font-weight:700 !important;
	text-transform:uppercase !important;
	letter-spacing:.09em !important;
	opacity:.58;
	margin-bottom:2px !important;
}
.wlf-skin-glass-dark .wlf-wrap .wlf-input,
.wlf-skin-glass-light .wlf-wrap .wlf-input,
.wlf-skin-glass-dark .wlf-input,
.wlf-skin-glass-light .wlf-input{
	background:transparent !important;
	border:0 !important;
	border-bottom:1.5px solid var(--wlf-hair-strong) !important;
	border-radius:0 !important;
	padding-left:2px !important;
	padding-right:2px !important;
	color:var(--wlf-popup-text) !important;
	font-size:14.5px !important;
	transition:border-color .2s ease, box-shadow .2s ease;
}
.wlf-skin-glass-dark .wlf-input-wrap.has-ico .wlf-input,
.wlf-skin-glass-light .wlf-input-wrap.has-ico .wlf-input{padding-left:30px !important;}
.wlf-skin-glass-dark .wlf-ico,
.wlf-skin-glass-light .wlf-ico{left:2px;}
.wlf-skin-glass-dark .wlf-input:focus,
.wlf-skin-glass-light .wlf-input:focus{
	outline:none !important;
	border-bottom-color:var(--wlf-accent,#25D366) !important;
	box-shadow:0 1.5px 0 0 var(--wlf-accent,#25D366), 0 10px 22px -14px color-mix(in srgb,var(--wlf-accent,#25D366) 60%,transparent) !important;
}
.wlf-skin-glass-dark .wlf-input::placeholder{color:rgba(238,241,247,.35);}
.wlf-skin-glass-light .wlf-input::placeholder{color:rgba(20,26,38,.35);}
.wlf-skin-glass-dark select.wlf-input option{background:#141927;color:#eef1f7;}
/* Native pickers follow the surface. */
.wlf-skin-glass-dark .wlf-input{color-scheme:dark;}
.wlf-skin-glass-light .wlf-input{color-scheme:light;}
.wlf-skin-glass-dark .wlf-choice,
.wlf-skin-glass-light .wlf-choice{color:var(--wlf-popup-text);}

/* ---- Progress: luminous milestones ---- */
.wlf-skin-glass-dark .wlf-wiz-num,
.wlf-skin-glass-light .wlf-wiz-num{
	background:var(--wlf-glass-soft);
	border-color:var(--wlf-hair-strong);
	backdrop-filter:blur(4px);
}
.wlf-skin-glass-dark .wlf-wiz-dot::before,
.wlf-skin-glass-light .wlf-wiz-dot::before{background:var(--wlf-hair);}
.wlf-skin-glass-dark .wlf-wiz-dot.is-done::before,
.wlf-skin-glass-dark .wlf-wiz-dot.is-active::before,
.wlf-skin-glass-light .wlf-wiz-dot.is-done::before,
.wlf-skin-glass-light .wlf-wiz-dot.is-active::before{
	background:linear-gradient(90deg, color-mix(in srgb,var(--wlf-accent,#25D366) 40%,transparent), var(--wlf-accent,#25D366));
}
.wlf-skin-glass-dark .wlf-wiz-dot.is-active .wlf-wiz-num,
.wlf-skin-glass-light .wlf-wiz-dot.is-active .wlf-wiz-num{
	animation:wlf-halo 2.2s ease-in-out infinite;
}
@keyframes wlf-halo{
	0%,100%{box-shadow:0 0 0 4px color-mix(in srgb,var(--wlf-accent,#25D366) 16%,transparent);}
	50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--wlf-accent,#25D366) 8%,transparent);}
}

/* ---- Trip readout: floating glass chip ---- */
.wlf-skin-glass-dark .wlf-wiz-readout,
.wlf-skin-glass-light .wlf-wiz-readout{
	background:var(--wlf-glass-soft);
	border-color:color-mix(in srgb,var(--wlf-accent,#25D366) 32%,transparent);
	box-shadow:0 8px 26px -14px color-mix(in srgb,var(--wlf-accent,#25D366) 55%,transparent), inset 0 1px 0 rgba(255,255,255,.06);
	backdrop-filter:blur(8px);
}

/* ---- Vehicle cards: glass with a light-sweep on hover ---- */
.wlf-skin-glass-dark .wlf-vehicle-card,
.wlf-skin-glass-light .wlf-vehicle-card{
	position:relative;overflow:hidden;
	background:var(--wlf-glass-soft);
	border-color:var(--wlf-hair);
	backdrop-filter:blur(6px);
}
.wlf-skin-glass-dark .wlf-vehicle-card::after,
.wlf-skin-glass-light .wlf-vehicle-card::after{
	content:"";position:absolute;top:0;left:-85%;width:55%;height:100%;
	background:linear-gradient(105deg,transparent,rgba(255,255,255,.16),transparent);
	transform:skewX(-18deg);
	transition:left .55s ease;
	pointer-events:none;
}
.wlf-skin-glass-dark .wlf-vehicle-card:hover::after,
.wlf-skin-glass-light .wlf-vehicle-card:hover::after{left:130%;}
.wlf-skin-glass-dark .wlf-vehicle-card.is-selected,
.wlf-skin-glass-light .wlf-vehicle-card.is-selected{
	background:color-mix(in srgb,var(--wlf-accent,#25D366) 11%,transparent);
	box-shadow:0 0 0 1.5px var(--wlf-accent,#25D366), 0 14px 30px -16px color-mix(in srgb,var(--wlf-accent,#25D366) 70%,transparent);
	border-color:transparent;
	transform:translateY(-2px);
}

/* ---- Buttons: gradient CTA with sheen ---- */
.wlf-skin-glass-dark .wlf-wiz-next,
.wlf-skin-glass-light .wlf-wiz-next,
.wlf-skin-glass-dark .wlf-wrap .wlf-submit,
.wlf-skin-glass-light .wlf-wrap .wlf-submit,
.wlf-skin-glass-dark .wlf-submit,
.wlf-skin-glass-light .wlf-submit{
	position:relative;overflow:hidden;
	background:linear-gradient(135deg, color-mix(in srgb,var(--wlf-accent,#25D366) 88%,#fff), var(--wlf-accent,#25D366) 55%, color-mix(in srgb,var(--wlf-accent,#25D366) 78%,#000)) !important;
	box-shadow:0 14px 30px -12px color-mix(in srgb,var(--wlf-accent,#25D366) 75%,transparent), inset 0 1px 0 rgba(255,255,255,.25);
	transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.wlf-skin-glass-dark .wlf-wiz-next:hover,
.wlf-skin-glass-light .wlf-wiz-next:hover,
.wlf-skin-glass-dark .wlf-submit:hover,
.wlf-skin-glass-light .wlf-submit:hover{
	transform:translateY(-1px);
	box-shadow:0 18px 36px -12px color-mix(in srgb,var(--wlf-accent,#25D366) 85%,transparent), inset 0 1px 0 rgba(255,255,255,.25);
}
.wlf-skin-glass-dark .wlf-wiz-next::after,
.wlf-skin-glass-light .wlf-wiz-next::after,
.wlf-skin-glass-dark .wlf-submit::after,
.wlf-skin-glass-light .wlf-submit::after{
	content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;
	background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);
	transform:skewX(-18deg);
	transition:left .5s ease;
	pointer-events:none;
}
.wlf-skin-glass-dark .wlf-wiz-next:hover::after,
.wlf-skin-glass-light .wlf-wiz-next:hover::after,
.wlf-skin-glass-dark .wlf-submit:hover::after,
.wlf-skin-glass-light .wlf-submit:hover::after{left:125%;}
.wlf-skin-glass-dark .wlf-wiz-back,
.wlf-skin-glass-light .wlf-wiz-back{
	border-color:var(--wlf-hair-strong);
	background:var(--wlf-glass-soft);
	color:var(--wlf-popup-text);
}

/* ---- Autocomplete: floating glass sheet ---- */
.wlf-skin-glass-dark .wlf-ac,
.wlf-skin-glass-light .wlf-ac{
	background:
		linear-gradient(color-mix(in srgb,var(--wlf-accent,#25D366) 4%,transparent), transparent 40%),
		var(--wlf-glass);
	-webkit-backdrop-filter:blur(18px) saturate(1.4);
	backdrop-filter:blur(18px) saturate(1.4);
	border:1px solid var(--wlf-hair);
	border-radius:14px;
	box-shadow:0 24px 50px -18px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.07);
}
.wlf-skin-glass-dark .wlf-ac-item.is-active,
.wlf-skin-glass-dark .wlf-ac-item:hover,
.wlf-skin-glass-light .wlf-ac-item.is-active,
.wlf-skin-glass-light .wlf-ac-item:hover{
	background:color-mix(in srgb,var(--wlf-accent,#25D366) 18%,transparent);
}

/* ---- Summary & confirmation: hairline elegance ---- */
.wlf-skin-glass-dark .wlf-summary-list,
.wlf-skin-glass-light .wlf-summary-list{border-color:var(--wlf-hair);}
.wlf-skin-glass-dark .wlf-summary-row,
.wlf-skin-glass-light .wlf-summary-row{background:var(--wlf-glass-soft);}
.wlf-skin-glass-dark .wlf-routeviz,
.wlf-skin-glass-light .wlf-routeviz{
	border-color:var(--wlf-hair);
	background:
		radial-gradient(100% 130% at 20% 0%, color-mix(in srgb,var(--wlf-accent,#25D366) 8%,transparent), transparent 60%),
		var(--wlf-glass-soft);
	box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.wlf-skin-glass-dark .wlf-trust,
.wlf-skin-glass-light .wlf-trust{background:var(--wlf-glass-soft);border-color:var(--wlf-hair);color:var(--wlf-popup-text);}
.wlf-skin-glass-dark .wlf-recap-row,
.wlf-skin-glass-light .wlf-recap-row{background:var(--wlf-glass-soft);border:1px solid var(--wlf-hair);}
.wlf-skin-glass-dark .wlf-confirm-check,
.wlf-skin-glass-light .wlf-confirm-check{
	display:inline-flex;padding:10px;border-radius:50%;
	background:color-mix(in srgb,var(--wlf-accent,#25D366) 12%,transparent);
	box-shadow:0 0 40px color-mix(in srgb,var(--wlf-accent,#25D366) 35%,transparent);
}

/* ---- Now-chip, estimate, counters, misc on glass ---- */
.wlf-skin-glass-dark .wlf-now-chip,
.wlf-skin-glass-light .wlf-now-chip{background:var(--wlf-glass-soft);border-color:var(--wlf-hair-strong);}
.wlf-skin-glass-dark .wlf-estimate,
.wlf-skin-glass-light .wlf-estimate{
	background:color-mix(in srgb,var(--wlf-accent,#25D366) 9%,transparent);
	backdrop-filter:blur(6px);
}
.wlf-skin-glass-dark .wlf-counter,
.wlf-skin-glass-light .wlf-counter{border-color:var(--wlf-hair-strong);}
.wlf-skin-glass-dark .wlf-footer-note,
.wlf-skin-glass-light .wlf-footer-note{opacity:.55;}
.wlf-skin-glass-dark .wlf-credit,
.wlf-skin-glass-light .wlf-credit{opacity:.4;}

/* ---- Launcher: accent glow halo ---- */
.wlf-skin-glass-dark .wlf-launcher,
.wlf-skin-glass-light .wlf-launcher{
	box-shadow:0 10px 30px -6px color-mix(in srgb,var(--wlf-btn-bg,#25D366) 65%,transparent), 0 0 0 1px rgba(255,255,255,.12) inset;
}

/* ---- Tooltip, classic tabs & validation on glass ---- */
.wlf-skin-glass-dark .wlf-tooltip{
	background:rgba(18,23,34,.92);color:#eef1f7;
	-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
	border:1px solid rgba(255,255,255,.1);
}
.wlf-skin-glass-dark .wlf-tooltip-close{color:#8b94a5;}
.wlf-skin-glass-dark .wlf-tooltip-close:hover{color:#eef1f7;}
.wlf-skin-glass-dark .wlf-tab-btn,
.wlf-skin-glass-light .wlf-tab-btn{color:var(--wlf-popup-text);}
.wlf-skin-glass-dark .wlf-error{color:#ff7b86;}
.wlf-skin-glass-dark .wlf-field.wlf-invalid .wlf-input{border-bottom-color:#ff7b86 !important;}
.wlf-skin-glass-light .wlf-field.wlf-invalid .wlf-input{border-bottom-color:#e11d48 !important;}

@media (prefers-reduced-motion:reduce){
	.wlf-skin-glass-dark .wlf-popup,.wlf-skin-glass-light .wlf-popup{animation:none;}
	.wlf-skin-glass-dark .wlf-wiz-dot.is-active .wlf-wiz-num,
	.wlf-skin-glass-light .wlf-wiz-dot.is-active .wlf-wiz-num{animation:none;}
	.wlf-vehicle-card::after,.wlf-wiz-next::after,.wlf-submit::after{display:none;}
}

/* =====================================================================
   JOURNEY FLOW - Blacklane-style search bar + booking page
   ===================================================================== */
.wlf-bar-wrap,.wlf-journey-wrap{
	--wlf-j-ink:var(--wlf-popup-text,#1f2937);
	--wlf-j-hair:var(--wlf-hair, color-mix(in srgb,var(--wlf-popup-text,#1f2937) 14%,transparent));
	--wlf-j-soft:var(--wlf-glass-soft, color-mix(in srgb,var(--wlf-popup-text,#1f2937) 5%,transparent));
	--wlf-j-panel:var(--wlf-glass, var(--wlf-popup-bg,#fff));
	color:var(--wlf-j-ink);
	font-family:var(--wlf-font,inherit);
}

/* ---- The search bar ---- */
.wlf-journey-bar{
	display:flex;align-items:stretch;
	background:
		radial-gradient(140% 120% at 90% -20%, color-mix(in srgb,var(--wlf-accent,#25D366) 12%,transparent), transparent 60%),
		var(--wlf-j-panel);
	-webkit-backdrop-filter:blur(20px) saturate(1.4);
	backdrop-filter:blur(20px) saturate(1.4);
	border:1px solid var(--wlf-j-hair);
	border-radius:18px;
	padding:12px 14px;
	gap:0;
	box-shadow:0 24px 60px -24px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.07);
}
.wlf-bar-cell{
	flex:1 1 0;min-width:0;
	padding:2px 16px;
	border-left:1px solid var(--wlf-j-hair);
	display:flex;flex-direction:column;justify-content:center;
}
.wlf-bar-cell:first-child{border-left:none;padding-left:6px;}
.wlf-bar-cell .wlf-field{margin-bottom:0;}
.wlf-bar-cell .wlf-error{font-size:11px;}
.wlf-bar-cell-go{
	flex:0 0 auto;border-left:none;
	padding-right:2px;justify-content:center;
}
.wlf-bar-go{
	border:none;cursor:pointer;
	padding:13px 26px;border-radius:999px;
	font-size:14.5px;font-weight:700;letter-spacing:.01em;
	color:#fff;position:relative;overflow:hidden;
	background:linear-gradient(135deg, color-mix(in srgb,var(--wlf-accent,#25D366) 88%,#fff), var(--wlf-accent,#25D366) 55%, color-mix(in srgb,var(--wlf-accent,#25D366) 78%,#000));
	box-shadow:0 14px 30px -12px color-mix(in srgb,var(--wlf-accent,#25D366) 75%,transparent), inset 0 1px 0 rgba(255,255,255,.25);
	transition:transform .18s ease, box-shadow .18s ease;
	white-space:nowrap;
}
.wlf-bar-go:hover{transform:translateY(-1px);box-shadow:0 18px 36px -12px color-mix(in srgb,var(--wlf-accent,#25D366) 85%,transparent), inset 0 1px 0 rgba(255,255,255,.25);}
.wlf-bar-go:focus-visible{outline:2px solid var(--wlf-accent,#25D366);outline-offset:2px;}
.wlf-bar-admin-note{margin:10px 4px 0;font-size:12px;opacity:.55;}

@media (max-width:900px){
	.wlf-journey-bar{flex-wrap:wrap;gap:10px 0;}
	.wlf-bar-cell{flex:1 1 46%;border-left:none;border-top:1px solid var(--wlf-j-hair);padding:10px 8px 2px;}
	.wlf-bar-cell:first-child,.wlf-bar-cell:nth-child(2){border-top:none;padding-top:2px;}
	.wlf-bar-cell-go{flex:1 1 100%;padding:10px 8px 2px;}
	.wlf-bar-go{width:100%;}
}
@media (max-width:560px){
	.wlf-bar-cell{flex:1 1 100%;}
	.wlf-bar-cell:nth-child(2){border-top:1px solid var(--wlf-j-hair);padding-top:10px;}
}

/* ---- Booking page layout ---- */
.wlf-journey-wrap .wlf-journey-bar{margin-bottom:26px;}
.wlf-journey-grid{
	display:grid;grid-template-columns:minmax(0,1fr) 360px;
	gap:28px;align-items:start;
}
@media (max-width:980px){
	.wlf-journey-grid{grid-template-columns:1fr;}
}
.wlf-xp-title{
	margin:0 0 18px;
	font-family:Georgia,'Times New Roman',serif;
	font-weight:600;
	font-size:clamp(24px,3.4vw,34px);
	letter-spacing:-.01em;
	color:var(--wlf-j-ink);
}

/* ---- Experience cards ---- */
.wlf-xp-grid{
	display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
	gap:16px;
}
.wlf-wrap .wlf-xp-card{
	display:flex;flex-direction:column;align-items:stretch;
	padding:0;text-align:left;gap:0;
	border-radius:18px;overflow:hidden;
	border:1.5px solid var(--wlf-j-hair);
	background:var(--wlf-j-panel);
	transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.wlf-wrap .wlf-xp-card:hover{transform:translateY(-3px);}
.wlf-wrap .wlf-xp-card.is-selected{
	transform:translateY(-3px);
	border-color:transparent;
	box-shadow:0 0 0 2px var(--wlf-accent,#25D366), 0 22px 44px -20px color-mix(in srgb,var(--wlf-accent,#25D366) 70%,transparent);
	background:color-mix(in srgb,var(--wlf-accent,#25D366) 7%,var(--wlf-j-panel));
}
.wlf-xp-media{
	display:block;width:100%;aspect-ratio:4/3;
	background:
		radial-gradient(120% 100% at 50% 115%, color-mix(in srgb,var(--wlf-accent,#25D366) 26%,transparent), transparent 62%),
		linear-gradient(180deg, var(--wlf-j-soft), transparent);
	position:relative;
}
.wlf-xp-media img{width:100%;height:100%;object-fit:cover;display:block;}
.wlf-xp-art{
	position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
	color:var(--wlf-j-ink);opacity:.85;
}
.wlf-xp-art svg{width:64px;height:64px;stroke-width:1.3;}
.wlf-xp-card.is-selected .wlf-xp-art{color:var(--wlf-accent,#25D366);opacity:1;}
.wlf-xp-row{
	display:flex;align-items:baseline;justify-content:space-between;gap:10px;
	padding:13px 15px 3px;
}
.wlf-xp-name{font-size:15px;font-weight:800;letter-spacing:-.01em;}
.wlf-xp-card .wlf-vehicle-price{font-size:15px;min-height:0;}
.wlf-xp-meta{
	display:flex;gap:12px;
	padding:0 15px 13px;
	font-size:12px;opacity:.65;
}
.wlf-xp-fact{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums;}

/* ---- Sidebar ---- */
.wlf-journey-side{position:sticky;top:24px;}
@media (max-width:980px){.wlf-journey-side{position:static;}}
.wlf-side-panel{
	background:
		radial-gradient(130% 80% at 85% -10%, color-mix(in srgb,var(--wlf-accent,#25D366) 12%,transparent), transparent 58%),
		var(--wlf-j-panel);
	-webkit-backdrop-filter:blur(20px) saturate(1.4);
	backdrop-filter:blur(20px) saturate(1.4);
	border:1px solid var(--wlf-j-hair);
	border-radius:20px;
	padding:18px;
	box-shadow:0 30px 70px -30px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.06);
}
.wlf-side-panel .wlf-routeviz{margin-bottom:14px;}
.wlf-side-panel .wlf-summary-list{margin-bottom:16px;}
.wlf-side-fields{margin-bottom:4px;}
.wlf-side-panel .wlf-trust-row{margin-top:14px;justify-content:center;}

/* ---- Journey confirmation ---- */
.wlf-journey-wrap .wlf-confirm{
	max-width:480px;margin:20px auto;
	background:var(--wlf-j-panel);
	border:1px solid var(--wlf-j-hair);
	border-radius:22px;
	padding:30px 26px 24px;
	-webkit-backdrop-filter:blur(20px) saturate(1.4);
	backdrop-filter:blur(20px) saturate(1.4);
	box-shadow:0 30px 70px -30px rgba(0,0,0,.45);
}
.wlf-journey-wrap .wlf-confirm[hidden]{display:none;}

/* ---- "Trip" layout: the compact where+when form inside the popup ---- */
.wlf-wrap .wlf-trip-form{
	display:block;
	background:none;
	-webkit-backdrop-filter:none;
	backdrop-filter:none;
	border:none;
	border-radius:0;
	box-shadow:none;
	padding:16px 18px 18px;
}
.wlf-trip-form .wlf-field{margin-bottom:14px;}
.wlf-trip-form .wlf-bar-go{width:100%;margin-top:4px;}
.wlf-trip-form .wlf-footer-note{margin-top:12px;}
.wlf-trip-when[hidden]{display:none;}

/* Now / Later segmented toggle. */
.wlf-trip-toggle{
	display:flex;gap:4px;
	margin:0 0 16px;padding:4px;
	border-radius:999px;
	background:var(--wlf-glass-soft, color-mix(in srgb,var(--wlf-popup-text,#1f2937) 6%,transparent));
	border:1px solid var(--wlf-hair, color-mix(in srgb,var(--wlf-popup-text,#1f2937) 12%,transparent));
}
.wlf-wrap .wlf-trip-type{
	flex:1;padding:9px 14px;
	border:none !important;border-radius:999px;
	background:transparent !important;
	color:var(--wlf-popup-text,#1f2937) !important;
	font-size:13.5px;font-weight:600;cursor:pointer;
	transition:background .18s ease, color .18s ease, box-shadow .18s ease;
	box-shadow:none !important;text-shadow:none !important;
}
.wlf-wrap .wlf-trip-type.is-active{
	background:var(--wlf-accent,#25D366) !important;
	color:#fff !important;
	box-shadow:0 6px 16px -6px color-mix(in srgb,var(--wlf-accent,#25D366) 70%,transparent) !important;
}
.wlf-trip-type:focus-visible{outline:2px solid var(--wlf-accent,#25D366);outline-offset:2px;}

/* ---- Uber-style connected pick-up / drop-off group ---- */
.wlf-route-group{
	--wlf-rg-line:color-mix(in srgb,var(--wlf-popup-text,#1f2937) 12%,transparent);
	position:relative;
	margin-bottom:16px;
	border:1px solid var(--wlf-rg-line);
	border-radius:14px;
	background:color-mix(in srgb,var(--wlf-popup-text,#1f2937) 4%,transparent);
	/* No overflow:hidden — it would clip the autocomplete dropdown. Corners
	   stay clean because the child inputs are transparent. */
}
.wlf-route-group .wlf-field:first-of-type{border-radius:14px 14px 0 0;}
.wlf-route-group .wlf-field:last-of-type{border-radius:0 0 14px 14px;}
.wlf-route-group .wlf-field{margin:0 !important;}
.wlf-route-group .wlf-field + .wlf-field{border-top:1px solid var(--wlf-rg-line);}
/* Label becomes the input placeholder (set via JS); hide it accessibly. */
.wlf-route-group .wlf-label{
	position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;
	overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.wlf-route-group .wlf-input-wrap{margin:0;}
.wlf-wrap .wlf-route-group .wlf-input,
.wlf-route-group .wlf-input,
.wlf-route-group .wlf-input-wrap.has-ico .wlf-input{
	border:none !important;background:transparent !important;box-shadow:none !important;
	border-radius:0 !important;
	height:54px !important;
	padding:0 12px 0 42px !important;
	font-size:15px !important;
}
.wlf-route-group .wlf-error{padding:0 12px 8px 42px;}
.wlf-route-group .wlf-error:empty{display:none;}
/* Markers: filled dot (pick-up) + square (drop-off), over a connector line. */
.wlf-route-group .wlf-ico{left:16px;color:transparent;}
.wlf-route-group .wlf-ico .wlf-ico-svg,
.wlf-route-group .wlf-ico svg{display:none;}
.wlf-route-group .wlf-ico::before{
	content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
	width:11px;height:11px;background:var(--wlf-accent,#25D366);z-index:2;
	box-shadow:0 0 0 3px color-mix(in srgb,var(--wlf-popup-bg,#fff) 90%,transparent);
}
.wlf-route-group .wlf-field:first-of-type .wlf-ico::before{border-radius:50%;}
.wlf-route-group .wlf-field:last-of-type .wlf-ico::before{border-radius:2px;}
.wlf-route-group::before{
	content:"";position:absolute;left:20.5px;top:27px;height:54px;width:2px;z-index:1;
	background:color-mix(in srgb,var(--wlf-popup-text,#1f2937) 32%,transparent);
}
/* Autocomplete dropdown floats above the group (opaque, not clipped). */
.wlf-route-group .wlf-ac{
	left:8px;right:8px;
	z-index:100002;
	background:var(--wlf-popup-bg,#fff);
	box-shadow:0 14px 34px rgba(0,0,0,.2);
}
/* The "use my location" button still sits on the right of the pick-up row. */
.wlf-route-group .wlf-geo-btn{right:8px;}

/* Post-submit "Send via WhatsApp" call-to-action. */
.wlf-wrap .wlf-wa-cta,
.wlf-wa-cta{
	display:flex;align-items:center;justify-content:center;gap:9px;
	width:100%;margin:10px 0 4px;
	padding:14px 18px;border-radius:999px;
	background:#25D366 !important;
	color:#fff !important;
	font-size:15px;font-weight:800;text-decoration:none !important;
	box-shadow:0 12px 26px -10px rgba(37,211,102,.7);
	transition:transform .16s ease, box-shadow .16s ease;
	animation:wlf-fade-in .3s ease;
}
.wlf-wa-cta::before{
	content:"";display:inline-block;width:19px;height:19px;flex:none;
	background:#fff;
	-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M16 .4C7.4.4.4 7.3.4 15.9c0 2.8.7 5.4 2 7.8L.2 31.6l8.1-2.1c2.3 1.2 4.9 1.9 7.7 1.9 8.6 0 15.6-7 15.6-15.6S24.6.4 16 .4zm7.2 18.8c-.4-.2-2.3-1.1-2.7-1.3-.4-.1-.6-.2-.9.2-.3.4-1 1.3-1.3 1.5-.2.3-.5.3-.9.1-.4-.2-1.7-.6-3.2-2-1.2-1-2-2.4-2.2-2.8-.2-.4 0-.6.2-.8.2-.2.4-.5.6-.7.2-.3.3-.4.4-.7.1-.3.1-.5 0-.7-.1-.2-.9-2.2-1.3-3-.3-.7-.6-.6-.9-.6h-.7c-.3 0-.7.1-1 .5-.4.4-1.4 1.3-1.4 3.3s1.4 3.8 1.6 4.1c.2.3 2.8 4.3 6.8 6 .9.4 1.7.6 2.2.8.9.3 1.8.2 2.5.2.8-.1 2.3-.9 2.6-1.8.3-.9.3-1.7.2-1.8z"/></svg>') center/contain no-repeat;
	        mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M16 .4C7.4.4.4 7.3.4 15.9c0 2.8.7 5.4 2 7.8L.2 31.6l8.1-2.1c2.3 1.2 4.9 1.9 7.7 1.9 8.6 0 15.6-7 15.6-15.6S24.6.4 16 .4zm7.2 18.8c-.4-.2-2.3-1.1-2.7-1.3-.4-.1-.6-.2-.9.2-.3.4-1 1.3-1.3 1.5-.2.3-.5.3-.9.1-.4-.2-1.7-.6-3.2-2-1.2-1-2-2.4-2.2-2.8-.2-.4 0-.6.2-.8.2-.2.4-.5.6-.7.2-.3.3-.4.4-.7.1-.3.1-.5 0-.7-.1-.2-.9-2.2-1.3-3-.3-.7-.6-.6-.9-.6h-.7c-.3 0-.7.1-1 .5-.4.4-1.4 1.3-1.4 3.3s1.4 3.8 1.6 4.1c.2.3 2.8 4.3 6.8 6 .9.4 1.7.6 2.2.8.9.3 1.8.2 2.5.2.8-.1 2.3-.9 2.6-1.8.3-.9.3-1.7.2-1.8z"/></svg>') center/contain no-repeat;
}
.wlf-wa-cta:hover{transform:translateY(-1px);box-shadow:0 16px 32px -10px rgba(37,211,102,.8);color:#fff !important;}
.wlf-confirm-cta{margin-bottom:14px;}
.wlf-confirm-cta:empty{display:none;}
