/* Limo.Express network map. Colors come from the page's own variables (--gold, --black...).
   Map text sizes are set by lx-map.js so they stay the same size at every zoom level; don't set font sizes on .pin/.city text here. */
.lx-map{position:relative;width:100%;max-width:1100px;height:clamp(240px,46vh,500px);margin:0 auto 2.5rem;border-radius:12px;overflow:hidden;
  background:radial-gradient(ellipse 70% 60% at 50% 40%,rgba(201,169,98,.07),transparent 70%),var(--black-light,#1A1A1A);
  border:1px solid rgba(201,169,98,.18);box-shadow:0 25px 50px -12px rgba(0,0,0,.5);z-index:5}
.lx-map svg{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}
.lx-map svg:active{cursor:grabbing}
.lx-map .st{fill:#202020;stroke:#3a3a3a;stroke-width:1;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.lx-map .pin circle{fill:var(--gold,#C9A962);stroke:#0A0A0A}
.lx-map .pin text{fill:#0A0A0A;font-family:var(--font-body,sans-serif);font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.lx-map .pin.near circle{fill:var(--gold-light,#E5D4A1);stroke:#fff}
.lx-map .pin{cursor:pointer}
.lx-map .city rect{fill:#6a6a6a}.lx-map .city text{fill:#8f8f8f;font-family:var(--font-body,sans-serif);font-weight:500;dominant-baseline:central;paint-order:stroke;stroke:#202020;stroke-linejoin:round;pointer-events:none}
.lx-map .you circle{fill:#fff;stroke:var(--gold,#C9A962)}
.lx-map .dest circle{fill:var(--gold,#C9A962);stroke:#fff}
.lx-map .nearline{stroke:var(--gold-light,#E5D4A1);stroke-dasharray:5 4;stroke-width:1.5;fill:none;vector-effect:non-scaling-stroke;opacity:.9}
.lx-map .trip{stroke:#fff;stroke-width:2.5;fill:none;vector-effect:non-scaling-stroke;opacity:.85}
.lx-map-stat{position:absolute;left:14px;top:14px;z-index:2;background:rgba(10,10,10,.82);border:1px solid rgba(201,169,98,.3);border-radius:10px;padding:8px 12px;
  font:500 13px/1.35 var(--font-body,sans-serif);color:var(--white,#FAFAFA);max-width:calc(100% - 90px);backdrop-filter:blur(4px)}
.lx-map-stat b{color:var(--gold,#C9A962);font-family:var(--font-display,serif);font-size:20px;font-weight:600;margin-right:4px}
.lx-map-zoom{position:absolute;right:12px;top:12px;z-index:2;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.12);border-radius:8px;overflow:hidden;background:rgba(10,10,10,.85)}
.lx-map-zoom button{all:unset;cursor:pointer;width:36px;height:36px;display:grid;place-items:center;color:var(--white,#FAFAFA);font:600 19px var(--font-body,sans-serif)}
.lx-map-zoom button+button{border-top:1px solid rgba(255,255,255,.12)}
.lx-map-zoom button:hover,.lx-map-zoom button:focus-visible{background:rgba(201,169,98,.18)}
.lx-map-zoom .r{font-size:11px;letter-spacing:.05em}
.lx-map-hint{position:absolute;left:14px;bottom:12px;z-index:2;font:12px var(--font-body,sans-serif);color:var(--gray,#888);background:rgba(10,10,10,.7);padding:3px 9px;border-radius:6px;pointer-events:none;transition:opacity .3s}
.lx-map-tip{position:absolute;z-index:3;pointer-events:none;background:#111;border:1px solid rgba(201,169,98,.35);color:var(--white,#FAFAFA);border-radius:7px;padding:5px 9px;font:13px var(--font-body,sans-serif);transform:translate(-50%,calc(-100% - 12px));white-space:nowrap}
.lx-map-tip[hidden]{display:none}
@media (max-width:768px){.lx-map{height:clamp(220px,34vh,320px);margin-bottom:2rem;border-radius:10px}.lx-map-hint{display:none}.lx-map-stat{font-size:12px;padding:6px 10px}.lx-map-stat b{font-size:17px}}
@media (prefers-reduced-motion:reduce){.lx-map *{transition:none!important}}

/* Trip estimate inside the quote box */
.lx-est{margin:.75rem 0 .5rem;padding:1rem 1.1rem;border:1px solid rgba(201,169,98,.35);border-radius:8px;background:rgba(201,169,98,.06)}
.lx-est[hidden]{display:none}
.lx-est-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;font:500 .8rem var(--font-body,sans-serif);color:var(--gray,#888);text-transform:uppercase;letter-spacing:.06em}
.lx-est-seg{display:flex;gap:4px;text-transform:none;letter-spacing:0}
.lx-est-seg button{font:600 .85rem var(--font-body,sans-serif);padding:.35rem .8rem;border-radius:99px;border:1px solid rgba(255,255,255,.15);background:transparent;color:var(--white,#FAFAFA);cursor:pointer}
.lx-est-seg button[aria-checked="true"]{background:var(--gold,#C9A962);border-color:var(--gold,#C9A962);color:#0A0A0A}
.lx-est-seg button:focus-visible{outline:2px solid var(--gold-light,#E5D4A1);outline-offset:2px}
.lx-est-price{font:600 2rem/1.15 var(--font-display,serif);color:var(--gold,#C9A962);margin:.5rem 0 .6rem}
.lx-est-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.lx-est-tiles div{background:rgba(10,10,10,.45);border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:.45rem .7rem;min-width:0}
.lx-est-tiles b{display:block;font:600 1.1rem var(--font-body,sans-serif);color:var(--white,#FAFAFA);white-space:nowrap}
.lx-est-tiles span{font-size:.75rem;color:var(--gray,#888)}
.lx-est-note{margin:.6rem 0 0;font-size:.85rem;color:var(--gray,#888)}
.lx-est>.lx-est-note:first-child{margin:0}

/* Trip and contact fields in the quote form */
.lx-trip{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}
.lx-trip h3{font:600 1.05rem var(--font-display,serif);color:var(--white,#FAFAFA);margin:0 0 .9rem}
.lx-trip .form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.lx-trip .form-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.form-input.lx-plain{padding-left:1rem}
select.form-input.lx-plain{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--gold,#C9A962) 50%),linear-gradient(135deg,var(--gold,#C9A962) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:2.2rem}
input[type=date].form-input,input[type=time].form-input{color-scheme:dark}
textarea.form-input.lx-plain{min-height:84px;resize:vertical}
.lx-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.lx-msg{margin:.75rem 0 0;font-size:.9rem;color:#ff8a73;text-align:center}.lx-msg:empty{display:none}
.lx-done{text-align:center;padding:1.5rem .5rem}
.lx-done .tick{width:56px;height:56px;border-radius:50%;margin:0 auto 1rem;display:grid;place-items:center;background:rgba(201,169,98,.15);border:1px solid var(--gold,#C9A962);color:var(--gold,#C9A962);font-size:28px}
.lx-done h2{font:600 1.6rem var(--font-display,serif);margin:0 0 .5rem}
.lx-done p{color:var(--gray,#888);margin:0 0 .4rem}.lx-done b{color:var(--white,#FAFAFA)}
@media (max-width:768px){.lx-trip .form-row,.lx-trip .form-row.three{grid-template-columns:1fr}}
