/* File: assets/css/neumorphism.css — extended neumorphism + liquid glass component styles. */

/* Toggle row (pickup / drop) */
.ap-toggle-row { display:flex; gap:14px; margin-bottom:20px; }
.ap-toggle { flex:1; cursor:pointer; }
.ap-toggle input { position:absolute; opacity:0; pointer-events:none; }
.ap-toggle span {
	display:block; text-align:center; padding:13px 18px; border-radius:14px;
	background:var(--ap-bg); font-weight:600; color:var(--ap-text-soft);
	box-shadow:6px 6px 12px var(--ap-shadow-dark), -6px -6px 12px var(--ap-shadow-light);
	transition:all .18s ease;
}
.ap-toggle input:checked + span {
	color:var(--ap-primary);
	box-shadow:inset 5px 5px 10px var(--ap-shadow-dark), inset -5px -5px 10px var(--ap-shadow-light);
}
.ap-toggle input:focus-visible + span { outline:2px solid var(--ap-primary); outline-offset:2px; }

/* Form layout */
.ap-form-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:18px; }
.ap-field label { display:block; font-size:13px; font-weight:600; color:var(--ap-text-soft); margin-bottom:7px; }
.ap-field textarea.ap-input { resize:vertical; }

/* Airport autosuggest dropdown */
.ap-suggest {
	position:absolute; z-index:60; left:0; right:0; top:calc(100% + 6px);
	margin:0; padding:6px; list-style:none; border-radius:14px; max-height:280px; overflow-y:auto;
}
.ap-suggest li { padding:11px 14px; border-radius:10px; cursor:pointer; font-size:14px; }
.ap-suggest li:hover, .ap-suggest li:focus { background:rgba(91,124,250,.12); outline:none; }

/* Vehicle cards */
.ap-vehicle-card { display:flex; flex-direction:column; overflow:hidden; }
.ap-vehicle-photo {
	height:170px; background-color:#e2e2e8; background-size:cover; background-position:center;
}
.ap-vehicle-body { padding:18px 20px 22px; display:flex; flex-direction:column; gap:6px; flex:1; }
.ap-vehicle-top { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.ap-vehicle-top h3 { margin:0; font-size:17px; }
.ap-vehicle-meta { color:var(--ap-text-soft); font-size:13px; margin:0; }
.ap-vehicle-vendor { font-size:13px; margin:0; }
.ap-vehicle-foot { margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:10px; padding-top:12px; }

/* Star rating input */
.ap-star-input { display:inline-flex; flex-direction:row-reverse; gap:4px; margin:10px 0; }
.ap-star-input input { position:absolute; opacity:0; pointer-events:none; }
.ap-star-input label { font-size:28px; color:#c9c9d2; cursor:pointer; transition:color .12s; }
.ap-star-input input:checked ~ label,
.ap-star-input label:hover, .ap-star-input label:hover ~ label { color:var(--ap-star); }

/* Misc */
.ap-muted { color:var(--ap-text-soft); font-size:13px; }
.ap-ai-stats { margin:16px 0; }
#ap-route-services-list { padding-left:6px; list-style:none; }
#ap-route-services-list li { padding:8px 4px; border-bottom:1px solid rgba(0,0,0,.05); font-size:14px; }
