/* ==========================================================
   Flight Search Form  -  flight-search-form.css
   ========================================================== */

.mapf {
    width: 100%;
    background: #FCFBFF;
    border-radius: 12px;
    padding: 16px;
    box-shadow: -1px -1px 4px 0px #0000001A;
    max-width: 600px;
}

.mapf * { box-sizing: border-box; }

.mapf-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.mapf-field { position: relative; min-width: 0; }

.mapf-label {
    display: block;
    font-size: 16px;
    font-weight: 400;
    color: #30266F;
    margin: 0 0 12px;
    line-height: 1.2;
}

/* Input box */
.mapf-box {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 40px;
    padding: 8px;
    background: #FCFBFF;
    border-radius: 8px;
    width: 100%;
    box-shadow: 0 0 10px 0px #0000001A;
}
.mapf-box:focus-within,
.mapf-box.is-open {
	border-color: #32266b;
	box-shadow: 0 0 0 3px rgba(50, 38, 107, .1);
}
.mapf-box.has-error { border-color: #d93025; }
.mapf-box svg { flex: 0 0 auto; color: #32266b; }

.mapf .mapf-box input {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	height: 100%;
	width: 100%;
	font-size: 16px;
	color: #30266F;
	min-width: 0;
    line-height: 1;
}
.mapf .mapf-box input::placeholder { color: #6B7280; opacity: 1; }

/* Passenger button */
.mapf-pax-btn {
	cursor: pointer;
	justify-content: space-between;
	text-align: left;
	font-size: 16px;
	color: #2d2266;
}
.mapf-pax-left { display: flex; align-items: center; gap: 10px; min-width: 0; }
.mapf-pax-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mapf-chev { transition: transform .2s; }
.mapf-box.is-open .mapf-chev { transform: rotate(180deg); }

/* City suggestions */
.mapf-list {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 6px);
	z-index: 999;
	margin: 0;
	padding: 6px !important;
	list-style: none;
	background: #fff;
	border: 1px solid #e4e0f3;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(50, 38, 107, .15);
	max-height: 230px;
	overflow-y: auto;
	display: none;
}
.mapf-list li {
	padding: 9px 10px;
	border-radius: 8px;
	cursor: pointer;
	font-size: 15px;
	color: #30266F;
	margin: 0;
}
.mapf-list li:hover,
.mapf-list li.is-active { background: #efebfb; }

/* Passenger panel */
.mapf-panel {
	position: absolute;
	right: 0;
	top: calc(100% + 6px);
	z-index: 999;
	width: 300px;
	max-width: calc(100vw - 40px);
	background: #fff;
	border: 1px solid #e4e0f3;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(50, 38, 107, .15);
	padding: 14px;
	display: none;
}
.mapf-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 0;
	color: #2d2266;
}
.mapf-row small { display: block; color: #6b6880; font-size: 12px; }

.mapf-cnt { display: flex; align-items: center; gap: 12px; }
.mapf-cnt button {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid #32266b;
	background: #fff;
	color: #32266b;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.mapf-cnt button:disabled { opacity: .35; cursor: not-allowed; }
.mapf-cnt span { min-width: 16px; text-align: center; font-weight: 600; }

.mapf-classes {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-top: 10px;
	padding-top: 12px;
	border-top: 1px solid #eee;
}
.mapf-classes button {
	padding: 8px 6px;
	border: 1px solid #e4e0f3;
	background: #fff;
	border-radius: 8px;
	font-size: 13px;
	color: #2d2266;
	cursor: pointer;
}
.mapf-classes button.is-on {
	background: #32266b;
	border-color: #32266b;
	color: #fff;
}

.mapf-classes button:hover {
    color: #fff;
}

.mapf-done {
	width: 100%;
	margin-top: 12px;
	height: 38px;
	border: 0;
	border-radius: 8px;
	background: #32266b;
	color: #fff;
	font-weight: 600;
	cursor: pointer;
}

/* Submit button */
.mapf-submit {
    display: block;
    width: 100%;
    margin-top: 24px;
    border: 0;
    border-radius: 999px;
    background: #30266F;
    color: #FEFDFF;
    cursor: pointer;
    padding: 12px;
    transition: background .15s, transform .1s;
}
.mapf-submit:hover { background: #41338a; }
.mapf-submit:active { transform: scale(.99); }

/* Error */
.mapf-err {
	display: none;
	color: #d93025;
	font-size: 13px;
	margin-top: 12px;
}

/* Mobile */
@media (max-width: 520px) {
	.mapf-grid { grid-template-columns: 1fr; }
	.mapf-panel { width: 100%; }
}