.overik-taxi {
  width: min(1180px,calc(100% - 32px));
  margin: 0 auto clamp(40px,7vw,86px);
  color: var(--overik-ink,#111827);
  font-family: Alexandria,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.overik-taxi [hidden] { display:none!important; }
.overik-taxi__intro { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:0 0 22px; }
.overik-taxi__intro span,.overik-taxi__panel small,.overik-taxi__gate>span { color:var(--overik-gold-text,#856100); font-size:10px; font-weight:850; letter-spacing:.11em; }
.overik-taxi__intro h1 { margin:5px 0 7px; color:var(--overik-ink,#111827); font-size:clamp(30px,5vw,52px); line-height:1; letter-spacing:-.055em; }
.overik-taxi__intro p { max-width:650px; margin:0; color:var(--overik-muted,#687180); font-size:14px; line-height:1.6; }
.overik-taxi__intro>a { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 16px; border-radius:14px; background:#fff; color:var(--overik-ink,#111827); font-size:11px; font-weight:800; text-decoration:none; box-shadow:0 10px 28px rgba(17,24,39,.07); }
.overik-taxi__layout { position:relative; min-height:650px; overflow:hidden; border:1px solid rgba(95,104,117,.16); border-radius:30px; background:#e8ebe9; box-shadow:0 24px 58px rgba(17,24,39,.13); }
.overik-taxi__map-wrap { position:absolute; inset:0; }
.overik-taxi__map { width:100%; height:100%; min-height:650px; background:#e7ebe9; }
.overik-taxi__map-status { position:absolute; inset:0 450px 0 0; display:grid; place-items:center; padding:24px; background:linear-gradient(145deg,#e9edeb,#f8f8f5); color:var(--overik-muted,#687180); font-size:12px; font-weight:700; text-align:center; }
.overik-taxi__panel { position:relative; z-index:2; width:min(430px,calc(100% - 40px)); margin:20px 20px 20px auto; padding:20px; border:1px solid rgba(255,255,255,.72); border-radius:24px; background:rgba(255,255,255,.94); box-shadow:0 22px 46px rgba(17,24,39,.18); backdrop-filter:blur(18px) saturate(125%); }
.overik-taxi__route { display:grid; gap:10px; padding:14px; border-radius:19px; background:#f5f6f5; }
.overik-taxi__route label { display:grid; grid-template-columns:16px minmax(0,1fr); gap:10px; align-items:center; margin:0; }
.overik-taxi__route label>span:last-child { display:grid; gap:2px; min-width:0; }
.overik-taxi__route input { width:100%; min-height:44px; padding:0; border:0!important; outline:0; background:transparent!important; color:var(--overik-ink,#111827); font:700 13px Alexandria,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; box-shadow:none!important; }
.overik-taxi__route input::placeholder { color:#9299a2; }
.overik-taxi__dot { width:12px; height:12px; border:3px solid var(--overik-ink,#111827); border-radius:50%; background:#fff; }
.overik-taxi__dot.is-destination { border-color:var(--overik-gold,#ffc61f); background:var(--overik-ink,#111827); }
.overik-taxi__locate { min-height:44px; border:0; border-radius:13px; background:#fff; color:var(--overik-ink,#111827); font-size:11px; font-weight:800; box-shadow:0 7px 18px rgba(17,24,39,.06); }
.overik-taxi__locate:disabled { cursor:not-allowed; filter:grayscale(.35); opacity:.58; }
.overik-taxi__vehicles,.overik-taxi__payment { display:grid; gap:7px; margin:17px 0 0; padding:0; border:0; }
.overik-taxi__vehicles legend,.overik-taxi__payment legend { width:100%; margin:0 0 8px; padding:0; color:var(--overik-ink,#111827); font-size:14px; font-weight:850; }
.overik-taxi__vehicles label,.overik-taxi__payment label { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; min-height:58px; margin:0; padding:10px 12px 10px 42px; border:1px solid rgba(95,104,117,.15); border-radius:16px; background:#fff; cursor:pointer; transition:border-color 160ms ease,background 160ms ease,transform 160ms ease; }
.overik-taxi__vehicles label:has(input:checked),.overik-taxi__payment label:has(input:checked) { border-color:rgba(255,198,31,.8); background:rgba(255,198,31,.1); }
.overik-taxi__vehicles label:hover,.overik-taxi__payment label:hover { transform:translateY(-1px); }
.overik-taxi__vehicles input,.overik-taxi__payment input { position:absolute; left:14px; width:18px; height:18px; margin:0; accent-color:var(--overik-gold,#ffc61f); }
.overik-taxi__vehicles label>span,.overik-taxi__payment label>span { display:grid; min-width:0; }
.overik-taxi__vehicles strong,.overik-taxi__payment strong { color:var(--overik-ink,#111827); font-size:12px; }
.overik-taxi__vehicles label small,.overik-taxi__payment label small { color:var(--overik-muted,#687180); font-size:9px; font-weight:650; letter-spacing:0; }
.overik-taxi__vehicles b { color:var(--overik-ink,#111827); font-size:12px; }
.overik-taxi__payment { grid-template-columns:1fr 1fr; }
.overik-taxi__payment legend { grid-column:1/-1; }
.overik-taxi__payment label { min-height:66px; }
.overik-taxi__payment label:only-of-type { grid-column:1/-1; }
.overik-taxi__payment-unavailable { grid-column:1/-1; margin:0; padding:13px; border-radius:13px; background:#f6f1e5; color:var(--overik-muted,#687180); font-size:10px; line-height:1.5; }
.overik-taxi__quote { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:16px; padding:15px 16px; border-radius:18px; background:var(--overik-ink,#111827); color:#fff; }
.overik-taxi__quote>div { display:grid; gap:4px; }
.overik-taxi__quote strong { color:#fff; font-size:25px; letter-spacing:-.04em; }
.overik-taxi__quote p { display:flex; gap:7px; margin:0; }
.overik-taxi__quote p span { padding:6px 8px; border-radius:9px; background:rgba(255,255,255,.1); color:#fff; font-size:9px; font-weight:750; }
.overik-taxi__notice,.overik-taxi__message { margin:14px 0 0; padding:11px 12px; border-radius:12px; color:var(--overik-muted,#687180); font-size:10px; line-height:1.5; }
.overik-taxi__notice { background:#f6f1e5; }
.overik-taxi__notice code { overflow-wrap:anywhere; color:var(--overik-ink,#111827); }
.overik-taxi__message:empty { display:none; }
.overik-taxi__message[data-kind="error"] { background:#fff1f0; color:#a3261d; }
.overik-taxi__message[data-kind="warning"] { background:#fff7df; color:#775500; }
.overik-taxi__message[data-kind="success"] { background:#edf8f1; color:#17613a; }
.overik-taxi__primary,.overik-taxi__order-link { display:flex; align-items:center; justify-content:center; width:100%; min-height:52px; margin-top:15px; padding:0 18px; border:0; border-radius:15px; background:var(--overik-gold,#ffc61f); color:var(--overik-ink,#111827); font-size:13px; font-weight:850; text-decoration:none; box-shadow:0 12px 26px rgba(255,198,31,.28); }
.overik-taxi__primary:disabled { cursor:not-allowed; filter:grayscale(.45); opacity:.62; }
.overik-taxi__order-link { background:var(--overik-ink,#111827); color:#fff; box-shadow:none; }
#overik-taxi-payment-element { margin-top:15px; padding:14px; border:1px solid rgba(95,104,117,.15); border-radius:16px; background:#fff; }
.overik-taxi__gate { display:grid; justify-items:start; max-width:620px; padding:clamp(26px,6vw,54px); border-radius:28px; background:linear-gradient(145deg,var(--overik-ink,#111827),#23314b); color:#fff; box-shadow:0 24px 56px rgba(17,24,39,.2); }
.overik-taxi__gate-mark { display:grid; place-items:center; width:58px; height:58px; margin-bottom:22px; border-radius:18px; background:var(--overik-gold,#ffc61f); color:var(--overik-ink,#111827); }
.overik-taxi__gate-mark svg { width:29px; height:29px; fill:none; stroke:currentColor; stroke-width:1.8; }
.overik-taxi__gate h2 { margin:7px 0 10px; color:#fff; font-size:clamp(26px,5vw,42px); line-height:1.08; letter-spacing:-.045em; }
.overik-taxi__gate p { max-width:480px; margin:0; color:rgba(255,255,255,.72); font-size:13px; line-height:1.65; }
.overik-taxi__gate .overik-taxi__primary { width:auto; min-width:190px; margin-top:24px; }
.overik-taxi :focus-visible { outline:3px solid rgba(21,101,192,.42); outline-offset:3px; }

@media(max-width:760px) {
  .overik-taxi { width:min(100% - 20px,540px); margin-bottom:70px; }
  .overik-taxi__intro { display:block; padding:0 4px; }
  .overik-taxi__intro>a { margin-top:14px; }
  .overik-taxi__layout { display:block; min-height:0; overflow:hidden; border-radius:25px; background:#fff; }
  .overik-taxi__map-wrap { position:relative; width:100%; min-height:260px; border-radius:25px 25px 0 0; overflow:hidden; }
  .overik-taxi__map { min-height:260px; }
  .overik-taxi__map-status { inset:0; }
  .overik-taxi__panel { width:calc(100% - 20px); margin:-38px 10px 10px; padding:15px; border-radius:22px; }
  .overik-taxi__payment { grid-template-columns:1fr; }
  .overik-taxi__payment legend { grid-column:auto; }
  .overik-taxi__gate { padding:25px 20px; border-radius:24px; }
}

@media(prefers-reduced-motion:reduce) {
  .overik-taxi * { scroll-behavior:auto!important; transition:none!important; }
}
