/* Registration form: floating labels (the label sits inside the field and moves onto the border when focused or filled) */
.rf{padding:10px 16px 16px}
.rf fieldset{min-width:0;margin:0 0 6px;padding:0;border:0}
.rf legend{margin:8px 0 0;padding:0;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--br)}
.g2,.g3{display:grid;gap:0 12px}
.g2{grid-template-columns:1fr 1fr}
.g3{grid-template-columns:1fr 1fr 1fr}
.span2{grid-column:1/-1}
.req{color:var(--er)}
.fl{position:relative;min-width:0;margin-top:14px}
.fl input,.fl select,.fl textarea{display:block;width:100%;margin:0;padding:18px 12px 6px;font:inherit;font-size:16px;line-height:1.3;color:var(--tx);background:var(--bg);border:1px solid var(--ln);border-radius:10px}
.fl textarea{min-height:68px;resize:vertical}
.fl input:focus,.fl select:focus,.fl textarea:focus{border-color:var(--br);outline:2px solid var(--br);outline-offset:0}
.fl label{position:absolute;left:10px;top:23px;max-width:calc(100% - 20px);margin:0;padding:0 4px;overflow:hidden;font-size:15px;font-weight:400;line-height:1.2;white-space:nowrap;text-overflow:ellipsis;color:var(--mu);pointer-events:none;transform:translateY(-50%);transition:top .15s,font-size .15s,color .15s}
.fl textarea + label{top:24px}
.fl input:focus + label,.fl input:not(:placeholder-shown) + label,.fl input:-webkit-autofill + label,.fl textarea:focus + label,.fl textarea:not(:placeholder-shown) + label,.fl select + label,.fl.file label{top:0;font-size:12px;background:var(--card)}
.fl input:focus + label,.fl textarea:focus + label,.fl select:focus + label{color:var(--br)}
.fl input::placeholder,.fl textarea::placeholder{color:transparent}
.fl input:focus::placeholder,.fl textarea:focus::placeholder{color:var(--mu);opacity:.8}
.fl .bad{border-color:var(--er)!important}
.fl .bad + label{color:var(--er)}
.fl.file input{padding:14px 10px 8px;font-size:14px}
.fl small{display:block;margin:3px 2px 0;font-size:12px;font-weight:400;color:var(--mu)}
.fl small.err,.fl small.er{color:var(--er)}
.rf > .hint,.rf fieldset > .hint{margin:6px 0 0;font-size:12px;color:var(--mu)}
.lbl{margin:14px 0 0;font-size:13px;font-weight:600}
.lbl small{font-weight:400;color:var(--mu)}

/* website / social links */
.lrow{display:grid;grid-template-columns:170px 1fr auto;gap:0 8px;align-items:start}
.lrow .x{width:44px;height:44px;margin:14px 0 0;padding:0;font-size:20px;line-height:1}
#addlink{margin:10px 0 0}

/* map */
#map{position:relative;z-index:0;height:260px;margin-top:8px;border:1px solid var(--ln);border-radius:10px}
#map.bad{border-color:var(--er)}
.mapbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:13px;color:var(--mu)}
.mapbar .btn{margin:0}
.mapbar .er{color:var(--er)}

/* airport suggestions */
#aclist{position:absolute;z-index:30;top:100%;left:0;right:0;max-height:260px;margin:4px 0 0;padding:4px;overflow:auto;list-style:none;background:var(--card);border:1px solid var(--ln);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.28)}
#aclist li{padding:8px 10px;font-size:14px;border-radius:8px;cursor:pointer}
#aclist li b{margin-right:8px;color:var(--br)}
#aclist li:hover,#aclist li[aria-selected=true]{background:var(--bg)}
#aclist li.none{color:var(--mu);cursor:default}

/* consent and submit */
.consent{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:10px 12px;font-size:14px;font-weight:400;background:var(--bg);border:1px solid var(--ln);border-radius:10px}
.consent input{flex:none;width:auto;margin:3px 0 0}
.rf button[type=submit]{width:100%;margin-top:12px}

@media(max-width:700px){.g3{grid-template-columns:1fr 1fr}.g3 > .fl:first-child{grid-column:1/-1}}
@media(max-width:560px){.g2,.g3{grid-template-columns:1fr}.lrow{grid-template-columns:1fr auto}.lrow > .fl:first-child{grid-column:1/-1}.lrow .x{grid-column:2}}
