/* JLIT Bangkok Miniature City v2.0.90 — road fit pass / extra-wide carriageways / centred traffic / markings / kerbs */
.jlit-b3d-shell{position:relative;width:min(100%,1500px);height:78vh;min-height:640px;margin:24px auto;background:#dde5e8;overflow:hidden;border-radius:14px;box-shadow:0 18px 50px rgba(16,28,39,.18)}
.jlit-b3d-map{position:absolute;inset:0}
.jlit-b3d-title,.jlit-b3d-status,.jlit-b3d-controls{position:absolute;z-index:10;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;backdrop-filter:blur(12px)}
.jlit-b3d-title{left:18px;top:18px;background:rgba(18,31,48,.90);color:#fff;padding:14px 17px;border-radius:12px;box-shadow:0 10px 28px rgba(0,0,0,.22)}
.jlit-b3d-title strong{display:block;font-size:17px;line-height:1.2}.jlit-b3d-title span{display:block;margin-top:5px;font-size:12px;color:#aab8c8}
.jlit-b3d-status{left:18px;bottom:18px;background:rgba(255,255,255,.94);color:#1b2a38;padding:9px 12px;border-radius:9px;font-size:12px;font-weight:700;box-shadow:0 7px 20px rgba(0,0,0,.16)}
.jlit-b3d-controls{right:18px;top:18px;display:flex;gap:6px;background:rgba(18,31,48,.88);padding:6px;border-radius:12px;box-shadow:0 10px 28px rgba(0,0,0,.22)}
.jlit-b3d-controls button{appearance:none;border:0;background:#f5f7f9;color:#182533;font-weight:800;font-size:12px;padding:9px 12px;border-radius:8px;cursor:pointer}.jlit-b3d-controls button:hover{background:#ffd34d}
.jlit-b3d-shell .maplibregl-ctrl-top-right{top:72px;right:10px}.jlit-b3d-shell .maplibregl-ctrl-group{border-radius:10px;overflow:hidden}
@media(max-width:900px){.jlit-b3d-shell{height:72vh;min-height:520px;border-radius:0}.jlit-b3d-title{left:10px;top:10px}.jlit-b3d-controls{right:10px;top:10px}.jlit-b3d-status{left:10px;bottom:10px;max-width:70%;font-size:11px}}
\n/* v2.0.2 Phase 1.2 coordinate-validation marker */\n.jlit-b3d-test-marker{position:relative;display:flex;flex-direction:column;align-items:center;background:transparent;border:0;padding:0;cursor:pointer;filter:drop-shadow(0 3px 5px rgba(0,0,0,.38));}\n.jlit-b3d-flag{display:block;background:#b7192e;color:#fff;font:800 12px/1.15 Arial,sans-serif;letter-spacing:.25px;white-space:nowrap;padding:7px 10px;border-radius:5px 5px 5px 1px;border:2px solid #fff;}\n.jlit-b3d-pin{display:block;width:3px;height:34px;background:#fff;border:1px solid rgba(0,0,0,.28);box-shadow:0 1px 2px rgba(0,0,0,.35);}\n.jlit-b3d-test-marker:after{content:'';width:9px;height:9px;border-radius:50%;background:#b7192e;border:2px solid #fff;margin-top:-2px;}\n
/* v2.0.3: unmistakable coordinate-validation deal flag */
.jlit-b3d-test-marker{position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;width:190px!important;height:150px!important;background:transparent!important;border:0!important;padding:0!important;cursor:pointer!important;overflow:visible!important;filter:drop-shadow(0 4px 7px rgba(0,0,0,.42))!important;}
.jlit-b3d-flag{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important;background:#b7192e!important;color:#fff!important;font-family:Arial,sans-serif!important;white-space:nowrap!important;padding:10px 14px!important;border-radius:8px!important;border:3px solid #fff!important;box-shadow:0 3px 12px rgba(0,0,0,.35)!important;}
.jlit-b3d-flag b{font-size:15px!important;line-height:1.1!important;letter-spacing:.2px!important;}
.jlit-b3d-flag em{font-size:12px!important;line-height:1.1!important;font-style:normal!important;font-weight:800!important;color:#ffe48a!important;}
.jlit-b3d-leader{display:block!important;height:76px!important;border-left:3px dashed #b7192e!important;filter:drop-shadow(0 1px 1px #fff)!important;}
.jlit-b3d-target{display:block!important;width:15px!important;height:15px!important;border-radius:50%!important;background:#b7192e!important;border:3px solid #fff!important;box-shadow:0 0 0 3px rgba(183,25,46,.28)!important;}
.jlit-b3d-test-marker:after{display:none!important;}


/* v2.0.4 — production marker geometry prototype: no container card.
   The ground target is the MapLibre anchor, so the entire flag/leader remains
   geographically locked to the exact lng/lat while pan/zoom/pitch/bearing change. */
.jlit-b3d-test-marker,
.jlit-b3d-test-marker:hover,
.jlit-b3d-test-marker:focus,
.jlit-b3d-test-marker:active{
  appearance:none!important;-webkit-appearance:none!important;
  position:relative!important;display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:flex-end!important;
  width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;background-color:transparent!important;background-image:none!important;
  box-shadow:none!important;outline:0!important;overflow:visible!important;cursor:pointer!important;
  filter:none!important;transform:none;
}
.jlit-b3d-flag{
  position:relative!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  gap:2px!important;margin:0!important;padding:8px 12px 8px 13px!important;
  background:rgba(183,25,46,.82)!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.88)!important;border-radius:4px 8px 8px 4px!important;
  box-shadow:0 3px 10px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(3px)!important;-webkit-backdrop-filter:blur(3px)!important;
  white-space:nowrap!important;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,8px 50%)!important;
}
.jlit-b3d-flag b{font-size:13px!important;line-height:1.08!important;letter-spacing:.25px!important;text-shadow:0 1px 2px rgba(0,0,0,.25)!important;}
.jlit-b3d-flag em{font-size:11px!important;line-height:1.08!important;font-style:normal!important;font-weight:800!important;color:#ffe68a!important;text-shadow:0 1px 2px rgba(0,0,0,.22)!important;}
.jlit-b3d-leader{
  display:block!important;width:0!important;height:68px!important;margin:0!important;
  border:0!important;border-left:2px dashed rgba(183,25,46,.92)!important;
  background:transparent!important;filter:drop-shadow(0 1px 1px rgba(255,255,255,.9))!important;
}
.jlit-b3d-target{
  display:block!important;box-sizing:border-box!important;width:12px!important;height:12px!important;margin:0!important;
  border-radius:50%!important;background:#c51f35!important;border:2px solid rgba(255,255,255,.95)!important;
  box-shadow:0 0 0 2px rgba(197,31,53,.22),0 2px 5px rgba(0,0,0,.25)!important;
}


/* v2.0.5 — Phase 1.3 miniature-city daytime foundation.
   City appearance is driven by MapLibre paint/layout rules rather than extra DOM/3D meshes. */
.jlit-b3d-shell{background:linear-gradient(#d9edf2,#edf3e8)}
.jlit-b3d-title span{color:#c3d1db}


/* v2.0.8 — solid pastel architectural-model pass.
   Rendering changes remain style-only; no new city geometry is created. */
.jlit-b3d-map{background:#e9f1ef}

/* v2.0.9 — visual separation only; no new map geometry. */
.jlit-b3d-map{filter:saturate(1.08) contrast(1.025);}

/* v2.0.17 — real-world material/surface baseline. */
.jlit-b3d-map{filter:none;background:#d8d5cd}

/* v2.0.20 — independent roof-material pass; streamed geometry unchanged. */

/* v2.0.27 — Three.js rooftop detail pass; UI preserved. */

/* v2.0.29 — performance LOD/culling foundation + rooftop detail pass 3. */

/* v2.0.34 mock-reference colour grade — deeper city, richer midtones, stronger separation */
.jlit-b3d-map .maplibregl-canvas{filter:saturate(1.08) contrast(1.16) brightness(.88)}

/* v2.0.73 architecture coverage pass */


/* v2.0.98 — compact camera-facing Sukhumvit soi signs; dramatically reduced at every zoom. */
.jlit-soi-marker{pointer-events:none;z-index:18;transform-origin:50% 100%;opacity:var(--jlit-soi-opacity,1);transition:opacity .12s linear;}
.jlit-soi-float{position:relative;width:150px;height:132px;transform:scale(var(--jlit-soi-scale,.14));transform-origin:50% 100%;filter:drop-shadow(0 4px 3px rgba(0,0,0,.30));}
.jlit-soi-board{position:absolute;left:4px;top:0;width:142px;height:66px;display:flex;align-items:center;justify-content:center;background:#1764b3;border:5px solid #171b20;clip-path:polygon(13% 0,87% 0,100% 50%,87% 100%,13% 100%,0 50%);box-sizing:border-box;}
.jlit-soi-board:before{content:'';position:absolute;inset:5px;clip-path:inherit;border:2px solid #e7bd55;}
.jlit-soi-board:after{content:'◆';position:absolute;top:-23px;left:50%;transform:translateX(-50%);font-size:25px;color:#171b20;text-shadow:0 1px 0 #e7bd55;}
.jlit-soi-board span{position:relative;z-index:2;color:#fff;font:900 25px/1 Arial,sans-serif;letter-spacing:.2px;white-space:nowrap;text-shadow:0 2px 2px #0b315b,0 0 3px #0b315b;}
.jlit-soi-pole{position:absolute;left:70px;top:63px;width:10px;height:59px;background:#202326;border-radius:3px;box-shadow:inset 2px 0 0 rgba(255,255,255,.18);}
.jlit-soi-foot{position:absolute;left:60px;bottom:0;width:30px;height:8px;border-radius:50%;background:rgba(0,0,0,.36);}


/* v2.0.110 — unmistakable Grand Palace verification marker. */
.jlit-palace-marker{pointer-events:none;transform-origin:50% 100%}
.jlit-palace-card{
  min-width:132px;padding:8px 12px;border-radius:10px;
  background:#7a1f1f;color:#fff;border:2px solid #f4d36a;
  text-align:center;box-shadow:0 3px 10px rgba(0,0,0,.28);
  font-family:Arial,sans-serif;line-height:1.05
}
.jlit-palace-card strong{display:block;font-size:15px;letter-spacing:.3px}
.jlit-palace-card span{display:block;margin-top:4px;font-size:10px;opacity:.92}
.jlit-palace-pin{width:3px;height:34px;background:#6b5a43;margin:0 auto;border-radius:2px}


/* v2.0.112 — Day / Dusk / Night atmospheric controls and tropical daylight grade. */
.jlit-b3d-controls{flex-wrap:wrap;justify-content:flex-end;max-width:min(720px,calc(100% - 310px))}
.jlit-b3d-controls .jlit-time-btn{min-width:48px;padding-left:10px;padding-right:10px}
.jlit-b3d-controls button.is-active{background:#ffd34d;color:#172432;box-shadow:inset 0 0 0 2px rgba(255,255,255,.75)}
.jlit-b3d-shell[data-jlit-time="day"] .maplibregl-canvas{filter:saturate(1.20) contrast(1.075) brightness(1.075)}
.jlit-b3d-shell[data-jlit-time="dusk"] .maplibregl-canvas{filter:saturate(1.13) contrast(1.10) brightness(.86) sepia(.05)}
.jlit-b3d-shell[data-jlit-time="night"] .maplibregl-canvas{filter:saturate(1.12) contrast(1.17) brightness(.62)}
.jlit-b3d-shell[data-jlit-time="dusk"]{background:#b06f5e}
.jlit-b3d-shell[data-jlit-time="night"]{background:#111a27}
@media(max-width:900px){
 .jlit-b3d-controls{max-width:58%;gap:4px;padding:5px}
 .jlit-b3d-controls button{font-size:11px;padding:7px 9px}
 .jlit-b3d-shell .maplibregl-ctrl-top-right{top:112px}
}


/* v2.0.117 — balanced navigation + landmark system. Bright/readable, never nuclear. */
.jlit-b3d-shell[data-jlit-time="night"] .jlit-soi-float{filter:brightness(1.12) saturate(1.12) drop-shadow(0 0 4px rgba(71,184,255,.58));}
.jlit-b3d-shell[data-jlit-time="night"] .jlit-soi-board{background:#197bd2;border-color:#cbeeff;box-shadow:0 0 5px rgba(61,184,255,.68),0 0 11px rgba(41,153,255,.38),inset 0 0 7px rgba(255,255,255,.15)}
.jlit-b3d-shell[data-jlit-time="night"] .jlit-soi-board span{text-shadow:0 0 3px rgba(255,255,255,.78),0 1px 2px #08294d}
/* v2.0.124 — unified JLIT label system from approved daytime mockup. */


/* v2.0.127 — clear commercial hierarchy.
   Ordinary locations use one universal red map-pin language.
   Tours remain medium blue flags.
   Member Offers are the dominant gold commercial marker. */
.jlit-landmark-marker,.jlit-commercial-marker{z-index:25;font-family:Arial,sans-serif;transform-origin:50% 100%}
.jlit-commercial-marker{pointer-events:auto;background:transparent!important;border:0!important;padding:0!important;cursor:pointer!important;overflow:visible!important}

/* ORDINARY LOCATION — universal red map pin + white nameplate. */
.jlit-location-marker{--loc-red:#d92f3f;pointer-events:none;display:flex;flex-direction:column;align-items:center}
.jlit-location-nameplate{
 position:relative;min-width:112px;max-width:220px;padding:8px 13px;border-radius:9px;
 background:#fff;border:2px solid #fff;
 box-shadow:inset 0 0 0 2px var(--loc-red),0 3px 9px rgba(0,0,0,.25);
 text-align:center;transform:scale(var(--lm-scale,.58));transform-origin:50% 100%
}
.jlit-location-nameplate:after{
 content:"";position:absolute;left:50%;bottom:-7px;transform:translateX(-50%) rotate(45deg);
 width:12px;height:12px;background:#fff;border-right:2px solid var(--loc-red);border-bottom:2px solid var(--loc-red)
}
.jlit-location-nameplate strong{position:relative;z-index:2;display:block;color:#25313a;font:900 12px/1.08 Arial,sans-serif;letter-spacing:.15px}
.jlit-drop-pin{
 position:relative;width:34px;height:42px;margin-top:-1px;transform:scale(var(--lm-scale,.58));transform-origin:50% 0;
 filter:drop-shadow(0 3px 4px rgba(0,0,0,.28))
}
.jlit-drop-pin:before{
 content:"";position:absolute;left:4px;top:0;width:26px;height:26px;background:var(--loc-red);border:2px solid #fff;border-radius:50%;
 box-shadow:0 0 0 2px var(--loc-red)
}
.jlit-drop-pin:after{
 content:"";position:absolute;left:10px;top:20px;width:16px;height:16px;background:var(--loc-red);
 transform:rotate(45deg);border-radius:0 3px 3px 3px
}
.jlit-drop-pin span{position:absolute;z-index:3;left:12px;top:8px;width:10px;height:10px;border-radius:50%;background:#fff}

/* TOURS — medium blue flag. */
.jlit-tour-marker{display:flex;flex-direction:column;align-items:center}
.jlit-tour-flag{position:relative;min-width:154px;max-width:235px;padding:10px 14px 13px;background:#fff;border:2px solid #1769d2;border-radius:7px;box-shadow:0 4px 12px rgba(15,52,105,.28);text-align:center}
.jlit-tour-flag:after{content:"";position:absolute;right:-11px;top:13px;border-left:11px solid #1769d2;border-top:10px solid transparent;border-bottom:10px solid transparent}
.jlit-tour-flag strong{display:block;color:#1454a7;font:900 14px/1.08 Arial,sans-serif}.jlit-tour-flag em{display:block;margin-top:3px;color:#465a71;font:800 9px/1 Arial,sans-serif;font-style:normal}
.jlit-tour-flag span{position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);padding:3px 9px;border-radius:4px;background:#1769d2;color:#fff;font:900 8px/1 Arial,sans-serif;letter-spacing:.7px}
.jlit-tour-leader{width:2px;height:34px;margin-top:8px;background:repeating-linear-gradient(to bottom,#1769d2 0 4px,transparent 4px 8px)}
.jlit-tour-target{width:11px;height:11px;border:2px solid #1769d2;border-radius:50%;background:#fff}

/* MEMBER OFFER — integrated premium gold badge/banner. */
.jlit-member-offer{
 --member-gold:#d89b0d;--member-light:#ffd75a;
 display:grid;grid-template-columns:auto;grid-template-rows:auto auto auto;justify-items:start;align-items:start;
 filter:drop-shadow(0 6px 11px rgba(0,0,0,.35));padding-left:4px
}
.jlit-member-tab{
 grid-row:1;z-index:3;margin-left:20px;margin-bottom:-5px;padding:6px 13px 6px 10px;border-radius:8px 8px 4px 4px;
 background:#fff;border:2px solid var(--member-gold);color:#a66f00;
 font:900 10px/1 Arial,sans-serif;letter-spacing:.9px;box-shadow:0 2px 7px rgba(0,0,0,.22),0 0 0 2px rgba(255,219,105,.30)
}
.jlit-member-tab b{
 display:inline-grid;place-items:center;margin-right:5px;width:20px;height:20px;border-radius:50%;
 background:linear-gradient(180deg,#ffe78b,#e2a30b);color:#fff;font-size:13px;line-height:1;
 box-shadow:0 0 0 2px #fff,0 0 7px rgba(224,164,16,.55)
}
.jlit-member-banner{
 position:relative;grid-row:2;overflow:hidden;min-width:230px;max-width:335px;padding:14px 19px 13px;border-radius:9px;
 background:linear-gradient(135deg,#f3c44d 0%,#dba010 42%,#bd7900 100%);
 border:2px solid #fff3c7;box-shadow:inset 0 0 0 2px rgba(138,85,0,.24),0 0 0 2px #d79a0b,0 6px 16px rgba(89,56,0,.38);
 text-align:left
}
.jlit-member-banner:before{
 content:"";position:absolute;inset:5px;border:1px solid rgba(255,250,224,.56);border-radius:6px;pointer-events:none
}
.jlit-member-shine{
 position:absolute;left:-35%;top:-70%;width:45%;height:230%;transform:rotate(24deg);
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);pointer-events:none
}
.jlit-member-banner strong{position:relative;z-index:2;display:block;color:#fff;font:900 18px/1.04 Arial,sans-serif;letter-spacing:.25px;text-shadow:0 2px 3px rgba(95,56,0,.48)}
.jlit-member-banner em{position:relative;z-index:2;display:block;margin-top:6px;color:#fffdf2;font:900 11px/1 Arial,sans-serif;font-style:normal;text-transform:uppercase;letter-spacing:.25px}
.jlit-member-leader{
 grid-row:3;justify-self:start;margin-left:18px;width:3px;height:48px;
 background:repeating-linear-gradient(to bottom,var(--member-light) 0 6px,transparent 6px 11px);
 filter:drop-shadow(0 1px 2px rgba(120,75,0,.40))
}
.jlit-member-target{
 grid-row:3;justify-self:start;align-self:end;margin-left:11px;margin-bottom:-8px;width:13px;height:13px;border-radius:50%;
 border:3px solid var(--member-gold);background:#fff;box-shadow:0 0 0 2px #fff,0 1px 5px rgba(0,0,0,.28)
}

/* Night treatment preserves hierarchy. */
.jlit-b3d-shell[data-jlit-time="night"] .jlit-location-nameplate{
 background:rgba(245,248,250,.97);box-shadow:inset 0 0 0 2px #ff4958,0 0 7px rgba(255,55,75,.34),0 3px 10px rgba(0,0,0,.50)
}
.jlit-b3d-shell[data-jlit-time="night"] .jlit-drop-pin{--loc-red:#ff3d50;filter:drop-shadow(0 0 5px rgba(255,61,80,.62))}
.jlit-b3d-shell[data-jlit-time="night"] .jlit-tour-flag{background:rgba(3,9,20,.96);border-color:#3188ff;box-shadow:0 0 5px #1769d2,0 0 13px rgba(23,105,210,.52)}
.jlit-b3d-shell[data-jlit-time="night"] .jlit-tour-flag strong{color:#4da0ff;text-shadow:0 0 6px rgba(48,139,255,.75)}.jlit-b3d-shell[data-jlit-time="night"] .jlit-tour-flag em{color:#c7daf2}
.jlit-b3d-shell[data-jlit-time="night"] .jlit-member-tab{background:#fff7de;border-color:#ffc629;color:#9a6500;box-shadow:0 0 8px rgba(255,196,36,.75)}
.jlit-b3d-shell[data-jlit-time="night"] .jlit-member-banner{background:linear-gradient(135deg,#ffd75b 0%,#d99b08 45%,#9f6200 100%);border-color:#fff0ad;box-shadow:inset 0 0 0 2px rgba(119,69,0,.30),0 0 5px #ffbd24,0 0 20px rgba(255,184,30,.64),0 7px 18px rgba(0,0,0,.52)}
.jlit-b3d-shell[data-jlit-time="night"] .jlit-member-banner strong{text-shadow:0 0 5px rgba(255,255,225,.35),0 2px 3px rgba(71,42,0,.70)}
.jlit-b3d-shell[data-jlit-time="night"] .jlit-member-leader{filter:drop-shadow(0 0 4px #ffc62b)}
.jlit-transit-nav{display:none!important}
/* v2.0.124 — compact on-map category key. */
.jlit-marker-key{position:absolute;z-index:31;left:16px;top:112px;width:248px;max-height:calc(100% - 190px);overflow:auto;background:rgba(255,255,255,.96);border:1px solid rgba(19,42,59,.16);border-radius:10px;box-shadow:0 8px 24px rgba(12,28,40,.22);font-family:Arial,sans-serif;color:#172533;backdrop-filter:blur(6px)}
.jlit-marker-key-head{padding:11px 12px 9px;border-bottom:1px solid rgba(20,40,55,.12);background:#f7fafb}.jlit-marker-key-head strong{display:block;font:900 12px/1 Arial,sans-serif;letter-spacing:.75px}.jlit-marker-key-head span{display:block;margin-top:3px;font:600 9px/1.1 Arial,sans-serif;color:#687783}
.jlit-key-row{--key-color:#2e8b3c;display:flex;align-items:center;gap:9px;padding:8px 10px;border-bottom:1px solid rgba(20,40,55,.09)}.jlit-key-row:last-child{border-bottom:0}.jlit-key-row i{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:6px;background:var(--key-color);color:#fff;font:900 15px/1 Arial,sans-serif;font-style:normal}.jlit-key-row strong{display:block;color:var(--key-color);font:900 10px/1.05 Arial,sans-serif}.jlit-key-row span{display:block;margin-top:3px;color:#5c6973;font:600 8px/1.05 Arial,sans-serif}.jlit-key-premium{--key-color:#d39a1a}.jlit-key-tour{--key-color:#1769d2}.jlit-key-poi{--key-color:#2e8b3c}.jlit-key-heritage{--key-color:#7443ad}.jlit-key-hotel{--key-color:#e66a09}.jlit-key-transport{--key-color:#0d98a4}.jlit-key-shopping{--key-color:#d72d82}.jlit-key-transit{--key-color:#d93645}
.jlit-b3d-shell[data-jlit-time="dusk"] .jlit-marker-key{background:rgba(248,242,232,.95)}
.jlit-b3d-shell[data-jlit-time="night"] .jlit-marker-key{background:rgba(5,10,17,.92);border-color:rgba(255,255,255,.15);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.55)}.jlit-b3d-shell[data-jlit-time="night"] .jlit-marker-key-head{background:rgba(12,18,27,.94);border-color:rgba(255,255,255,.09)}.jlit-b3d-shell[data-jlit-time="night"] .jlit-marker-key-head span,.jlit-b3d-shell[data-jlit-time="night"] .jlit-key-row span{color:#c6d0d8}.jlit-b3d-shell[data-jlit-time="night"] .jlit-key-row{border-color:rgba(255,255,255,.07)}.jlit-b3d-shell[data-jlit-time="night"] .jlit-key-row i{background:rgba(2,6,12,.94);border:1px solid var(--key-color);color:var(--key-color);box-shadow:0 0 7px color-mix(in srgb,var(--key-color) 60%,transparent)}
@media(max-width:1100px){.jlit-marker-key{width:210px}.jlit-key-row{padding:7px 8px}.jlit-key-row span{display:none}}
@media(max-width:760px){.jlit-marker-key{left:8px;top:82px;width:174px;max-height:42%;opacity:.94}.jlit-marker-key-head span{display:none}.jlit-key-row{padding:6px 7px}.jlit-key-row i{width:23px;height:23px;flex-basis:23px;font-size:12px}.jlit-key-row strong{font-size:9px}}

/* v2.0.125 — key explains the same three-tier hierarchy. */
.jlit-key-divider{padding:7px 10px 5px;background:rgba(20,40,55,.045);color:#788690;font:900 7px/1 Arial,sans-serif;letter-spacing:1.05px}
.jlit-key-priority{padding-top:10px;padding-bottom:10px;background:rgba(211,154,26,.055)}
.jlit-key-priority i.jlit-key-star{background:transparent!important;border:0!important;color:#d39a1a!important;font-size:25px!important;box-shadow:none!important;text-shadow:0 1px 2px rgba(0,0,0,.18)}
.jlit-key-bookable{background:rgba(23,105,210,.035)}
.jlit-b3d-shell[data-jlit-time="night"] .jlit-key-divider{background:rgba(255,255,255,.035);color:#8f9ba4}
.jlit-b3d-shell[data-jlit-time="night"] .jlit-key-priority i.jlit-key-star{color:#ffc72d!important;text-shadow:0 0 7px #ffc72d!important}

.jlit-key-location{--key-color:#d92f3f}
.jlit-key-location i{position:relative;border-radius:50%!important;background:#d92f3f!important;color:#fff!important}



/* v2.0.129 — professional JLIT navigation console. */
.jlit-nav-console{
 position:absolute;z-index:36;left:50%;bottom:54px;transform:translateX(-50%);
 width:min(720px,calc(100% - 32px));background:rgba(8,18,28,.965);border:1px solid rgba(118,158,182,.38);
 border-radius:13px;box-shadow:0 12px 34px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.04);
 overflow:hidden;backdrop-filter:blur(10px);font-family:Arial,sans-serif
}
.jlit-nav-console-head{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#132737,#0d1d29)}
.jlit-nav-console-head>div{display:flex;align-items:baseline;gap:6px}.jlit-nav-console-head small{color:#35c7f5;font:900 8px/1 Arial;letter-spacing:1.2px}.jlit-nav-console-head strong{color:#fff;font:900 11px/1 Arial;letter-spacing:.7px}.jlit-nav-console-head>span{color:#7893a5;font:700 8px/1 Arial;letter-spacing:.35px}
.jlit-nav-console-body{display:grid;grid-template-columns:1fr 1.22fr 1fr 1.25fr 1.18fr .82fr;gap:0}
.jlit-nav-tool,.jlit-route-modes{min-height:54px;border:0;border-right:1px solid rgba(255,255,255,.075);background:transparent;color:#dce9f0}
.jlit-nav-tool{display:flex;align-items:center;gap:8px;padding:7px 10px;text-align:left;cursor:pointer;transition:background .16s ease,color .16s ease}
.jlit-nav-tool:hover,.jlit-nav-tool.is-active{background:#143245}.jlit-nav-tool:disabled{opacity:.34;cursor:default;background:transparent}
.jlit-nav-tool>span{display:flex;flex-direction:column;gap:3px}.jlit-nav-tool b{font:900 9px/1 Arial;letter-spacing:.65px}.jlit-nav-tool small{font:700 8px/1 Arial;color:#7994a5;white-space:nowrap}
.jlit-nav-icon{position:relative;flex:0 0 27px;width:27px;height:27px;display:grid;place-items:center;border-radius:7px;background:#102b3b;border:1px solid #2d617c;color:#52d3ff;font:900 15px/1 Arial}
.jlit-nav-locate .jlit-nav-icon{background:#0d7497;border-color:#28bfe8;color:#fff}.jlit-nav-deals .jlit-nav-icon{background:#8a6408;border-color:#d9a91b;color:#ffd65a}
.jlit-icon-locate:before{content:"";width:10px;height:10px;border:2px solid currentColor;border-radius:50%}.jlit-icon-locate:after{content:"";position:absolute;inset:4px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
.jlit-icon-pin:before{content:"";width:10px;height:10px;border:2px solid currentColor;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.jlit-icon-pin:after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:currentColor}
.jlit-icon-turn{font-size:20px}.jlit-icon-clear{font-size:21px;color:#ff6f7c;border-color:#673d47;background:#321b22}
.jlit-route-modes{display:grid;grid-template-columns:1fr 1fr;padding:6px;background:#091722}
.jlit-route-modes button{border:1px solid #263d4b;background:#0f202d;color:#758d9d;font:900 8px/1 Arial;letter-spacing:.5px;cursor:pointer}.jlit-route-modes button:first-child{border-radius:7px 0 0 7px}.jlit-route-modes button:last-child{border-radius:0 7px 7px 0;border-left:0}.jlit-route-modes button.is-active{background:#eaf8fd;color:#0a6e92;border-color:#73d7f4}
.jlit-route-modes button i{display:block;margin:0 auto 4px;width:15px;height:12px;position:relative}.jlit-mode-walk:before{content:"◦";font-size:19px;position:absolute;left:3px;top:-8px}.jlit-mode-drive:before{content:"";position:absolute;left:1px;top:3px;width:13px;height:7px;border:2px solid currentColor;border-radius:3px}.jlit-mode-drive:after{content:"••";position:absolute;left:2px;top:5px;font-size:10px;letter-spacing:5px}
.jlit-nav-console.is-routing:after{content:"";position:absolute;left:0;bottom:0;width:34%;height:2px;background:#29cffa;box-shadow:0 0 7px #29cffa;animation:jlitNavLoading 1.1s linear infinite}
@keyframes jlitNavLoading{0%{transform:translateX(-110%)}100%{transform:translateX(400%)}}

.jlit-route-summary{position:absolute;z-index:35;left:50%;bottom:148px;transform:translateX(-50%);display:none;min-width:310px;max-width:min(560px,calc(100% - 36px));padding:9px 14px;border-radius:9px;background:rgba(7,18,28,.965);border:1px solid #2d6179;box-shadow:0 7px 18px rgba(0,0,0,.30);font-family:Arial,sans-serif;text-align:center}
.jlit-route-summary.is-active{display:block}.jlit-route-summary strong{display:block;color:#fff;font:900 11px/1.1 Arial;letter-spacing:.35px}.jlit-route-summary span{display:block;margin-top:4px;color:#a8c2d0;font:700 9px/1.2 Arial}

.jlit-directions-drawer{position:absolute;z-index:38;right:14px;top:118px;bottom:128px;width:310px;display:none;overflow:hidden;background:rgba(7,16,24,.975);border:1px solid #2c5368;border-radius:12px;box-shadow:0 15px 38px rgba(0,0,0,.46);font-family:Arial,sans-serif}
.jlit-directions-drawer.is-open{display:flex;flex-direction:column}
.jlit-directions-head{display:flex;align-items:center;justify-content:space-between;padding:12px 13px;background:linear-gradient(180deg,#142b3a,#0d1d29);border-bottom:1px solid rgba(255,255,255,.09)}
.jlit-directions-head div{min-width:0}.jlit-directions-head small{display:block;color:#35c8f6;font:900 8px/1 Arial;letter-spacing:1px}.jlit-directions-head strong{display:block;margin-top:4px;color:#fff;font:900 12px/1.08 Arial;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jlit-directions-head span{display:block;margin-top:4px;color:#8ea8b8;font:700 9px/1 Arial}
.jlit-directions-head button{width:28px;height:28px;border:1px solid #355467;border-radius:7px;background:#10222f;color:#d9e6ed;font:900 18px/1 Arial;cursor:pointer}
.jlit-directions-list{list-style:none;margin:0;padding:0;overflow:auto}.jlit-directions-list li{display:grid;grid-template-columns:38px 1fr;gap:8px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.07)}.jlit-directions-list li i{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#0e3041;border:1px solid #28637f;color:#47cff7;font:900 18px/1 Arial;font-style:normal}.jlit-directions-list li strong{display:block;color:#edf5f8;font:800 10px/1.25 Arial}.jlit-directions-list li span{display:block;margin-top:4px;color:#708b9b;font:700 8px/1 Arial}.jlit-directions-empty{padding:18px;color:#a9bdc8;font:700 10px/1.4 Arial}

/* GPS and destination markers. */
.jlit-nav-map-marker{position:relative;width:28px;height:28px;pointer-events:none;font-family:Arial,sans-serif}.jlit-nav-map-marker .jlit-nav-dot{position:absolute;left:7px;top:7px;width:14px;height:14px;border-radius:50%;background:#15b9ef;border:3px solid #fff;box-shadow:0 0 0 3px #15b9ef,0 2px 7px rgba(0,0,0,.4)}.jlit-nav-map-marker .jlit-nav-pulse{position:absolute;inset:0;border-radius:50%;border:2px solid #43d6ff;animation:jlitGpsPulse 1.6s ease-out infinite}.jlit-nav-map-marker b{position:absolute;left:50%;top:31px;transform:translateX(-50%);padding:4px 7px;border-radius:6px;background:#0c7fa8;color:#fff;border:1px solid #bcefff;font:900 8px/1 Arial;white-space:nowrap;box-shadow:0 2px 7px rgba(0,0,0,.3)}
.jlit-nav-destination{width:32px;height:42px}.jlit-nav-destination .jlit-nav-pulse{display:none}.jlit-nav-destination .jlit-nav-dot{left:5px;top:2px;width:18px;height:18px;background:#e22e43;box-shadow:0 0 0 3px #e22e43,0 2px 7px rgba(0,0,0,.4)}.jlit-nav-destination:after{content:"";position:absolute;left:10px;top:17px;width:13px;height:13px;background:#e22e43;transform:rotate(45deg);border-radius:2px}.jlit-nav-destination b{top:41px;background:#b5182c}
@keyframes jlitGpsPulse{0%{transform:scale(.65);opacity:.95}100%{transform:scale(2.15);opacity:0}}

.jlit-nav-popup{font-family:Arial,sans-serif;min-width:190px}.jlit-nav-popup strong{display:block;font:900 13px/1.1 Arial}.jlit-nav-popup span{display:block;margin-top:4px;font:700 10px/1.2 Arial;color:#5c6870}.jlit-route-here-btn{width:100%;margin-top:9px;padding:9px 10px;border:0;border-radius:7px;background:#0d9dca;color:#fff;font:900 10px/1 Arial;cursor:pointer}
.jlit-location-marker{pointer-events:auto!important;cursor:pointer}.jlit-selecting-destination .jlit-b3d-map{cursor:crosshair!important}
.jlit-b3d-shell[data-jlit-time="night"] .jlit-nav-console{box-shadow:0 0 15px rgba(30,190,240,.15),0 12px 34px rgba(0,0,0,.55)}

@media(max-width:760px){
 .jlit-nav-console{left:7px;right:7px;bottom:48px;transform:none;width:auto;border-radius:12px}
 .jlit-nav-console-head{height:30px}.jlit-nav-console-head>span{display:none}
 .jlit-nav-console-body{grid-template-columns:repeat(6,1fr)}
 .jlit-nav-tool{justify-content:center;padding:6px 3px}.jlit-nav-tool>span{display:none}.jlit-nav-icon{width:29px;height:29px;flex-basis:29px}
 .jlit-route-modes{padding:5px 2px}.jlit-route-modes button span{font-size:7px}
 .jlit-route-summary{bottom:132px;min-width:0;width:calc(100% - 28px)}
 .jlit-directions-drawer{left:7px;right:7px;top:auto;bottom:126px;width:auto;max-height:55%;border-radius:12px}
}


/* v2.0.131 — premium navigation dock + premium map legend. */
.jlit-nav-console{
 left:50%!important;bottom:58px!important;transform:translateX(-50%)!important;
 width:min(790px,calc(100% - 44px))!important;
 border:1px solid #3b5362!important;border-radius:17px!important;
 background:linear-gradient(180deg,rgba(12,25,36,.985),rgba(5,13,21,.985))!important;
 box-shadow:0 18px 45px rgba(0,0,0,.42),0 3px 0 rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.07),inset 0 -1px 0 rgba(0,0,0,.65)!important;
 overflow:hidden!important
}
.jlit-nav-console:before{content:"";position:absolute;left:14px;right:14px;top:0;height:1px;background:linear-gradient(90deg,transparent,#72d8f5,transparent);opacity:.42}
.jlit-nav-console-head{height:42px!important;padding:0 13px 0 11px!important;background:linear-gradient(180deg,#183244 0%,#0c1d29 100%)!important;border-bottom:1px solid #274152!important;box-shadow:inset 0 -1px 0 rgba(0,0,0,.5)!important}
.jlit-nav-brand{display:flex!important;align-items:center!important;gap:9px!important}
.jlit-nav-brand-mark{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:linear-gradient(145deg,#21c9f1,#08789e);border:1px solid #71ddf8;box-shadow:0 0 12px rgba(35,200,239,.25),inset 0 1px rgba(255,255,255,.35);color:#fff;font:900 13px/1 Arial}
.jlit-nav-brand>div{display:flex;align-items:baseline;gap:6px}.jlit-nav-brand small{color:#6cdcf8!important;font:900 8px/1 Arial!important;letter-spacing:1.4px!important}.jlit-nav-brand strong{color:#fff!important;font:900 12px/1 Arial!important;letter-spacing:.8px!important}
.jlit-nav-live{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:20px;background:#0a1821;border:1px solid #263c4a;color:#8099a8;font:800 7px/1 Arial;letter-spacing:.75px}.jlit-nav-live i{width:6px;height:6px;border-radius:50%;background:#50e69a;box-shadow:0 0 7px #50e69a}
.jlit-nav-console-body{grid-template-columns:1.1fr 1.16fr 1.18fr 1.22fr 1.08fr .76fr!important;background:#07131d!important}
.jlit-nav-tool,.jlit-route-modes{min-height:64px!important;border-right:1px solid #1c2d38!important;position:relative}
.jlit-nav-tool{gap:9px!important;padding:9px 11px!important;background:linear-gradient(180deg,#0c1d28,#08141d)!important;color:#e7f1f5!important}
.jlit-nav-tool:after{content:"";position:absolute;left:9px;right:9px;bottom:5px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}
.jlit-nav-tool:hover,.jlit-nav-tool.is-active{background:linear-gradient(180deg,#17394d,#0d2635)!important}
.jlit-nav-tool>span{gap:4px!important}.jlit-nav-tool b{font:900 9px/1 Arial!important;letter-spacing:.75px!important}.jlit-nav-tool small{font:700 7.5px/1 Arial!important;color:#6e8999!important}
.jlit-nav-icon{width:31px!important;height:31px!important;flex-basis:31px!important;border-radius:9px!important;background:linear-gradient(145deg,#133349,#0b1f2d)!important;border:1px solid #32647e!important;box-shadow:inset 0 1px rgba(255,255,255,.06),0 2px 6px rgba(0,0,0,.22)!important}
.jlit-nav-locate .jlit-nav-icon{background:linear-gradient(145deg,#15afd8,#087696)!important;border-color:#63d8f5!important;box-shadow:0 0 13px rgba(40,200,239,.20),inset 0 1px rgba(255,255,255,.25)!important}
.jlit-nav-deals .jlit-nav-icon{background:linear-gradient(145deg,#d59b15,#7b5603)!important;border-color:#f1cc64!important;color:#fff4bb!important;box-shadow:0 0 12px rgba(220,164,22,.18)!important}
.jlit-nav-clear .jlit-nav-icon{background:linear-gradient(145deg,#55232d,#271117)!important;border-color:#82424f!important}
.jlit-route-modes{padding:8px!important;background:#050d13!important;gap:4px!important}
.jlit-route-modes button{border:1px solid #263e4c!important;background:linear-gradient(180deg,#102330,#091721)!important;color:#708a9a!important;border-radius:8px!important;box-shadow:inset 0 1px rgba(255,255,255,.035)!important}
.jlit-route-modes button:last-child{border-left:1px solid #263e4c!important}
.jlit-route-modes button.is-active{background:linear-gradient(180deg,#f5fbfd,#d8edf4)!important;color:#08799f!important;border-color:#73d9f4!important;box-shadow:0 0 0 1px rgba(86,207,239,.22),0 0 11px rgba(48,194,230,.18)!important}
.jlit-nav-directions:not(:disabled) .jlit-nav-icon{color:#72ddff!important;box-shadow:0 0 12px rgba(72,210,247,.18)!important}
.jlit-route-summary{bottom:171px!important;border-radius:11px!important;background:linear-gradient(180deg,rgba(9,23,33,.98),rgba(4,13,20,.98))!important;border:1px solid #34566a!important;box-shadow:0 11px 26px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.04)!important}
.jlit-directions-drawer{border-radius:15px!important;border-color:#35596d!important;background:linear-gradient(180deg,rgba(9,22,31,.99),rgba(4,12,18,.99))!important;box-shadow:0 20px 48px rgba(0,0,0,.50)!important}

/* Premium map legend — substantial, layered, not a flat white list. */
.jlit-marker-key{
 left:16px!important;top:112px!important;width:262px!important;
 background:linear-gradient(180deg,rgba(11,23,33,.975),rgba(5,12,19,.975))!important;
 border:1px solid #3a5362!important;border-radius:15px!important;color:#fff!important;
 box-shadow:0 18px 44px rgba(0,0,0,.35),0 3px 0 rgba(0,0,0,.20),inset 0 1px rgba(255,255,255,.055)!important;
 overflow:hidden!important;backdrop-filter:blur(10px)!important
}
.jlit-marker-key-top{padding:14px 14px 12px;background:linear-gradient(155deg,#193447,#0b1b27);border-bottom:1px solid #2b4352;box-shadow:inset 0 -1px rgba(0,0,0,.45)}
.jlit-key-kicker{display:block;color:#58cff0;font:900 7px/1 Arial;letter-spacing:1.35px}.jlit-marker-key-top strong{display:block;margin-top:5px;color:#fff;font:900 14px/1 Arial;letter-spacing:.75px}.jlit-key-sub{display:block;margin-top:5px;color:#7792a1;font:700 8px/1.15 Arial}
.jlit-key-section{padding:9px 9px 6px;border-bottom:1px solid #172934;background:linear-gradient(180deg,rgba(255,255,255,.015),transparent)}
.jlit-key-section-commercial{background:linear-gradient(180deg,rgba(214,158,24,.035),transparent)}
.jlit-key-section-title{display:block;padding:0 4px 6px;color:#627d8d;font:900 7px/1 Arial;letter-spacing:1.35px}
.jlit-key-row{position:relative;gap:10px!important;margin-bottom:5px;padding:9px 9px!important;border:1px solid #1e3340!important;border-radius:9px!important;background:linear-gradient(180deg,#0d1d27,#08141c)!important;box-shadow:inset 0 1px rgba(255,255,255,.025),0 2px 4px rgba(0,0,0,.13)!important}
.jlit-key-row:last-child{margin-bottom:0}.jlit-key-row i{width:31px!important;height:31px!important;flex-basis:31px!important;border-radius:9px!important;background:#09161e!important;border:1px solid var(--key-color)!important;color:var(--key-color)!important;box-shadow:0 0 9px color-mix(in srgb,var(--key-color) 23%,transparent),inset 0 1px rgba(255,255,255,.035)!important}
.jlit-key-row strong{color:#eef5f8!important;font:900 10px/1.05 Arial!important;letter-spacing:.2px}.jlit-key-row span{color:#688392!important;font:700 8px/1.08 Arial!important}
.jlit-key-priority{border-color:#5c491b!important;background:linear-gradient(135deg,rgba(92,65,10,.50),rgba(16,26,30,.94))!important}.jlit-key-priority i.jlit-key-star{color:#ffd34b!important;border:1px solid #c99a19!important;background:radial-gradient(circle,#6f4f05,#19180f)!important;font-size:19px!important;text-shadow:0 0 8px #e1ac20!important;box-shadow:0 0 11px rgba(223,166,28,.25)!important}
.jlit-key-priority>b{position:absolute;right:8px;top:8px;padding:3px 5px;border-radius:4px;background:#cf940f;color:#fff7d7;font:900 6px/1 Arial;letter-spacing:.7px}
.jlit-key-tour i{color:#56a5ff!important}.jlit-key-location i{color:#ff5262!important;border-color:#e74150!important}.jlit-key-transit i{color:#ff5565!important;border-color:#dd3446!important}
.jlit-key-pin-symbol{position:relative}.jlit-key-pin-symbol:before{content:"";width:13px;height:13px;border-radius:50%;background:#e43a4c;box-shadow:0 0 0 2px #fff}.jlit-key-pin-symbol:after{content:"";position:absolute;width:9px;height:9px;background:#e43a4c;transform:translateY(6px) rotate(45deg)}.jlit-key-pin-symbol u{position:absolute;z-index:2;width:4px;height:4px;border-radius:50%;background:#fff;text-decoration:none}
.jlit-key-foot{display:flex;align-items:center;gap:8px;padding:9px 12px 10px;background:#050d13;color:#58717f}.jlit-key-foot span{width:6px;height:6px;border-radius:50%;background:#4dd99a;box-shadow:0 0 7px #4dd99a}.jlit-key-foot em{font:700 7px/1 Arial;font-style:normal;letter-spacing:.25px}

/* Keep premium styling in every time mode. */
.jlit-b3d-shell[data-jlit-time="day"] .jlit-marker-key,
.jlit-b3d-shell[data-jlit-time="dusk"] .jlit-marker-key,
.jlit-b3d-shell[data-jlit-time="night"] .jlit-marker-key{background:linear-gradient(180deg,rgba(11,23,33,.975),rgba(5,12,19,.975))!important;color:#fff!important;border-color:#3a5362!important}
.jlit-b3d-shell[data-jlit-time="day"] .jlit-key-row span,
.jlit-b3d-shell[data-jlit-time="dusk"] .jlit-key-row span,
.jlit-b3d-shell[data-jlit-time="night"] .jlit-key-row span{color:#688392!important}

@media(max-width:760px){
 .jlit-nav-console{left:7px!important;right:7px!important;bottom:49px!important;transform:none!important;width:auto!important}
 .jlit-nav-console-head{height:36px!important}.jlit-nav-console-body{grid-template-columns:repeat(6,1fr)!important}
 .jlit-nav-tool{justify-content:center!important;padding:7px 3px!important}.jlit-nav-tool>span{display:none!important}
 .jlit-route-summary{bottom:151px!important}
 .jlit-marker-key{left:8px!important;top:78px!important;width:194px!important;max-height:48%!important}
 .jlit-marker-key-top{padding:10px!important}.jlit-key-sub{display:none}.jlit-key-section{padding:6px!important}.jlit-key-row{padding:7px!important}.jlit-key-row span{display:none!important}.jlit-key-priority>b{display:none}
}


/* v2.0.133 — snapped route start distinct from the raw browser GPS fix. */
.jlit-nav-route-start{width:24px;height:24px}
.jlit-nav-route-start .jlit-nav-pulse{display:none}
.jlit-nav-route-start .jlit-nav-dot{left:5px;top:5px;width:14px;height:14px;border-radius:5px;transform:rotate(45deg);background:#24d39a;border:2px solid #fff;box-shadow:0 0 0 2px #0d8d69,0 2px 8px rgba(0,0,0,.4)}
.jlit-nav-route-start b{top:29px;background:#087b5b;border-color:#a6f0d9}


/* v2.0.135 — route success is sticky; presentation errors cannot clear geometry. */
.jlit-nav-console.has-route .jlit-nav-live{border-color:#217556;color:#91d9bd}
.jlit-nav-console.has-route .jlit-nav-live i{background:#54e6a2;box-shadow:0 0 9px #54e6a2}
.jlit-nav-console.has-route .jlit-nav-live span:after{content:" · ROUTE ACTIVE";color:#69cba7}


/* v2.0.136 — full-size professional directions + spoken navigation. */
.jlit-directions-drawer{
 right:14px!important;top:112px!important;bottom:122px!important;width:390px!important;
 border-radius:16px!important;background:linear-gradient(180deg,rgba(7,19,29,.99),rgba(3,10,16,.99))!important;
 border:1px solid #416579!important;box-shadow:0 22px 54px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.05)!important
}
.jlit-directions-head{min-height:72px!important;padding:13px 14px!important;background:linear-gradient(180deg,#173247,#0b1d2a)!important;border-bottom:1px solid #294557!important}
.jlit-directions-title small{display:block!important;color:#55d9fc!important;font:900 9px/1 Arial!important;letter-spacing:1.25px!important}
.jlit-directions-title strong{display:block!important;margin-top:6px!important;color:#fff!important;font:900 15px/1.1 Arial!important;max-width:220px!important}
.jlit-directions-title span{display:block!important;margin-top:7px!important;color:#c4d8e2!important;font:800 12px/1 Arial!important}.jlit-directions-title span b{color:#4d6d7f!important}
.jlit-directions-actions{display:flex!important;align-items:center!important;gap:7px!important}
.jlit-directions-actions>button{height:34px!important;border-radius:8px!important}
.jlit-directions-actions>button[data-jlit-close-directions]{width:34px!important;font-size:19px!important}
.jlit-voice-btn{width:auto!important;padding:0 10px!important;background:#0b2736!important;border:1px solid #32627b!important;color:#8ca8b8!important;font:900 8px/1 Arial!important;letter-spacing:.6px!important}
.jlit-voice-btn.is-on{background:linear-gradient(180deg,#0a8dac,#08677f)!important;border-color:#55d8f5!important;color:#fff!important;box-shadow:0 0 10px rgba(46,202,238,.20)!important}
.jlit-voice-btn span{font-size:14px!important;margin-right:4px!important}
.jlit-directions-subhead{display:flex;align-items:center;justify-content:space-between;padding:9px 13px;background:#06131d;border-bottom:1px solid #1c313e}
.jlit-directions-subhead span{color:#718d9d;font:900 8px/1 Arial;letter-spacing:1.1px}.jlit-directions-subhead small{color:#55717f;font:700 8px/1 Arial}
.jlit-directions-list{padding:0!important}
.jlit-directions-list li{
 grid-template-columns:48px 1fr 32px!important;gap:11px!important;align-items:center!important;
 min-height:68px!important;padding:11px 12px!important;border-bottom:1px solid #182c38!important;
 background:linear-gradient(180deg,rgba(255,255,255,.015),transparent)!important;cursor:pointer!important
}
.jlit-directions-list li:hover{background:#0d2635!important}
.jlit-directions-list li .jlit-turn-icon{
 width:42px!important;height:42px!important;border-radius:11px!important;
 background:linear-gradient(145deg,#103e53,#082737)!important;border:1px solid #2b7898!important;
 color:#59dafb!important;font:900 24px/1 Arial!important;box-shadow:inset 0 1px rgba(255,255,255,.05),0 3px 8px rgba(0,0,0,.24)!important
}
.jlit-step-copy{min-width:0!important}
.jlit-step-copy strong{display:block!important;color:#f2f7fa!important;font:900 13px/1.28 Arial!important;letter-spacing:.05px!important}
.jlit-step-distance{display:block!important;margin-top:6px!important;color:#63d8f6!important;font:900 12px/1 Arial!important;letter-spacing:.15px!important}
.jlit-step-speak{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;padding:0!important;border-radius:8px!important;background:#0b2432!important;border:1px solid #315c71!important;color:#6edcf8!important;font:900 14px/1 Arial!important;cursor:pointer!important}
.jlit-step-speak:hover{background:#0f4155!important;border-color:#54cfee!important}
.jlit-directions-list li:first-child .jlit-turn-icon{color:#6be5ad!important;border-color:#29745a!important;background:#0b2c24!important}
.jlit-directions-list li:last-child .jlit-turn-icon{color:#ff7180!important;border-color:#7c3542!important;background:#30151c!important}

@media(max-width:760px){
 .jlit-directions-drawer{left:7px!important;right:7px!important;bottom:126px!important;width:auto!important;max-height:62%!important}
 .jlit-directions-head{min-height:66px!important;padding:11px!important}
 .jlit-directions-title strong{font-size:14px!important;max-width:180px!important}
 .jlit-directions-list li{min-height:64px!important;padding:9px 10px!important}
 .jlit-step-copy strong{font-size:12px!important}.jlit-step-distance{font-size:11px!important}
}


/* v2.0.137 — one-click Locate and live reroute control. */
.jlit-relocate-btn{
 width:auto!important;padding:0 11px!important;background:linear-gradient(180deg,#137ea0,#0b5d79)!important;
 border:1px solid #63d8f5!important;color:#fff!important;font:900 8px/1 Arial!important;
 letter-spacing:.55px!important;box-shadow:0 0 10px rgba(46,202,238,.18),inset 0 1px rgba(255,255,255,.15)!important
}
.jlit-relocate-btn:hover{background:linear-gradient(180deg,#199bc2,#0d6f8f)!important}
.jlit-relocate-btn:disabled{opacity:.6!important;cursor:wait!important}
@media(max-width:760px){
 .jlit-directions-actions{gap:5px!important}
 .jlit-relocate-btn{padding:0 8px!important;font-size:7px!important}
 .jlit-voice-btn{padding:0 8px!important;font-size:7px!important}
}


/* ======================================================================
   v2.0.138 — MOCKUP-SPEC PREMIUM DASHBOARD
   The supplied JLIT concept art is the visual reference for this pass.
   ====================================================================== */

/* Clean the map chrome: technical build string no longer dominates the UI. */
.jlit-b3d-status{display:none!important}

/* Top-left title block, matching the reference dashboard. */
.jlit-b3d-title{
 left:16px!important;top:16px!important;width:224px!important;padding:14px 15px!important;
 border-radius:16px!important;background:linear-gradient(155deg,rgba(18,39,54,.98),rgba(6,17,27,.98))!important;
 border:1px solid #3b5767!important;box-shadow:0 14px 35px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.06)!important
}
.jlit-b3d-title strong{font:900 16px/1.1 Arial!important;letter-spacing:.15px!important;color:#fff!important}
.jlit-b3d-title span{margin-top:7px!important;color:#c7d5dc!important;font:700 10px/1 Arial!important}
.jlit-b3d-title span{font-size:0!important}.jlit-b3d-title span:after{content:"Clean · Detailed · Live";font:700 10px/1 Arial;color:#c7d5dc}

/* Mockup top controls: time centred, utility controls right. */
.jlit-time-controls{
 position:absolute;z-index:35;top:16px;left:50%;transform:translateX(-50%);
 display:flex;gap:4px;padding:5px;border-radius:22px;background:linear-gradient(180deg,rgba(19,34,45,.97),rgba(6,14,22,.97));
 border:1px solid #405968;box-shadow:0 10px 25px rgba(0,0,0,.30),inset 0 1px rgba(255,255,255,.07)
}
.jlit-time-controls button{
 min-width:92px;height:34px;padding:0 14px;border:1px solid transparent;border-radius:17px;background:transparent;color:#cbd8df;
 font:900 11px/1 Arial;cursor:pointer
}
.jlit-time-controls button.is-active{background:linear-gradient(180deg,#0d80b5,#07567e);border-color:#1daee9;color:#fff;box-shadow:0 0 12px rgba(32,174,229,.24),inset 0 1px rgba(255,255,255,.16)}
.jlit-time-controls button span{margin-left:6px}
.jlit-b3d-controls{
 top:16px!important;right:16px!important;left:auto!important;display:flex!important;gap:4px!important;padding:5px!important;
 background:linear-gradient(180deg,rgba(19,34,45,.97),rgba(6,14,22,.97))!important;border:1px solid #405968!important;
 border-radius:22px!important;box-shadow:0 10px 25px rgba(0,0,0,.30),inset 0 1px rgba(255,255,255,.07)!important
}
.jlit-b3d-controls button{
 height:34px!important;padding:0 14px!important;border:1px solid #273f4e!important;border-radius:16px!important;
 background:linear-gradient(180deg,#172a36,#0b1720)!important;color:#e8f0f4!important;font:900 10px/1 Arial!important;
 box-shadow:inset 0 1px rgba(255,255,255,.035)!important
}

/* -------------------------- NARROW PREMIUM KEY ------------------------- */
.jlit-marker-key{
 left:16px!important;top:100px!important;bottom:94px!important;width:226px!important;max-height:none!important;
 border-radius:15px!important;background:linear-gradient(180deg,rgba(13,28,40,.985),rgba(4,12,20,.985))!important;
 border:1px solid #3b596b!important;box-shadow:0 18px 42px rgba(0,0,0,.40),inset 0 1px rgba(255,255,255,.055)!important;
 overflow:auto!important;scrollbar-width:thin;transition:transform .24s ease,opacity .24s ease!important
}
.jlit-key-hidden .jlit-marker-key{transform:translateX(-255px)!important;opacity:.08!important;pointer-events:none!important}
.jlit-key-titlebar{padding:13px 14px 10px;background:linear-gradient(180deg,#1b3445,#0c1c28);border-bottom:1px solid #294555}
.jlit-key-titlebar strong{color:#fff;font:900 13px/1 Arial;letter-spacing:.45px}
.jlit-key-group{padding:10px 9px 7px;border-bottom:1px solid #182c38}
.jlit-key-group-title{display:block;padding:0 3px 7px;color:#829aa8;font:900 7px/1 Arial;letter-spacing:1.35px}
.jlit-key-row{
 --key-color:#2ea5df;display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;align-items:center!important;
 gap:9px!important;margin:0 0 6px!important;padding:9px!important;border:1px solid #213946!important;border-radius:10px!important;
 background:linear-gradient(180deg,#10242f,#081720)!important;box-shadow:inset 0 1px rgba(255,255,255,.035),0 2px 6px rgba(0,0,0,.16)!important
}
.jlit-key-row:last-child{margin-bottom:0!important}
.jlit-key-row .jlit-key-icon{
 display:grid!important;place-items:center!important;width:32px!important;height:32px!important;flex:none!important;
 border-radius:50%!important;background:var(--key-color)!important;border:1px solid rgba(255,255,255,.20)!important;color:#fff!important;
 box-shadow:0 4px 10px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.24)!important;font:900 15px/1 Arial!important
}
.jlit-key-row>div{min-width:0}.jlit-key-row strong{display:block!important;color:#fff!important;font:900 9.5px/1.05 Arial!important;white-space:nowrap}
.jlit-key-row span{display:block!important;margin-top:3px!important;color:#8da5b3!important;font:700 7.4px/1.08 Arial!important;white-space:nowrap}
.jlit-key-premium{--key-color:#d29b12;border-color:#725819!important;background:linear-gradient(135deg,rgba(78,58,11,.60),rgba(10,22,28,.98))!important}
.jlit-key-premium .jlit-key-icon{background:radial-gradient(circle at 35% 28%,#ffd94d,#a56800)!important;color:#fff!important;text-shadow:0 0 7px rgba(255,229,113,.85)!important}
.jlit-key-tour{--key-color:#116ac8}.jlit-key-attraction{--key-color:#d93449}.jlit-key-dining{--key-color:#e97c22}.jlit-key-shopping{--key-color:#8d43d7}.jlit-key-accommodation{--key-color:#22b4b5}.jlit-key-transit{--key-color:#d62c43}.jlit-key-ferry{--key-color:#1699d0}.jlit-key-hospital{--key-color:#3dad62}.jlit-key-parking{--key-color:#1681d8}
.jlit-key-badge{align-self:start;margin-top:1px;padding:3px 5px;border-radius:5px;background:linear-gradient(180deg,#e2b229,#a97909);color:#fff8d8;font:900 5.8px/1 Arial;letter-spacing:.65px;border:1px solid #f1d16c}
.jlit-key-hide{display:flex;width:100%;height:34px;align-items:center;justify-content:flex-start;gap:8px;padding:0 12px;border:0;border-top:1px solid #243a47;background:#091722;color:#a6bac5;font:800 8px/1 Arial;cursor:pointer}
.jlit-key-hide span{display:grid;place-items:center;width:22px;height:22px;border:1px solid #355668;border-radius:6px;color:#63d8f6}

/* ------------------------- MEMBER OFFER MOCKUP ------------------------- */
.jlit-member-offer{filter:drop-shadow(0 12px 12px rgba(0,0,0,.30))!important}
.jlit-member-tab{
 left:50%!important;transform:translateX(-50%)!important;bottom:calc(100% - 5px)!important;min-width:148px!important;height:34px!important;
 padding:0 14px!important;border:2px solid #efb72d!important;border-radius:9px!important;background:linear-gradient(180deg,#fffef9,#fff3cf)!important;
 color:#a16a00!important;font:900 10px/1 Arial!important;letter-spacing:.75px!important;box-shadow:0 5px 12px rgba(74,43,0,.22)!important
}
.jlit-member-tab b{display:grid!important;place-items:center!important;width:21px!important;height:21px!important;margin-right:7px!important;border-radius:50%!important;background:#f2b51c!important;color:#fff!important;font-size:12px!important}
.jlit-member-banner{
 min-width:224px!important;padding:17px 42px 14px 18px!important;border:2px solid #ffd65a!important;border-radius:12px!important;
 background:linear-gradient(145deg,#f7bd24 0%,#d79208 52%,#ae6c00 100%)!important;
 box-shadow:inset 0 0 0 2px rgba(126,72,0,.27),inset 0 1px rgba(255,255,255,.38),0 9px 22px rgba(63,36,0,.35)!important
}
.jlit-member-banner:before{border-radius:8px!important;border:1px solid rgba(255,245,186,.48)!important}
.jlit-member-banner:after{
 content:"›";position:absolute;right:14px;top:50%;transform:translateY(-50%);z-index:3;color:#fff5bd;
 font:300 32px/1 Arial;text-shadow:0 1px 3px rgba(77,44,0,.35)
}
.jlit-member-banner strong{font-size:17px!important;letter-spacing:.1px!important}.jlit-member-banner em{font-size:10px!important;margin-top:6px!important}

/* ------------------------- FULL WIDTH NAV DOCK ------------------------- */
.jlit-nav-console{
 left:16px!important;right:16px!important;bottom:10px!important;width:auto!important;transform:none!important;
 border-radius:18px!important;border:1px solid #426273!important;background:linear-gradient(180deg,rgba(14,31,43,.99),rgba(4,13,21,.99))!important;
 box-shadow:0 18px 44px rgba(0,0,0,.45),inset 0 1px rgba(255,255,255,.075),inset 0 -2px rgba(0,0,0,.42)!important
}
.jlit-nav-console:before{left:18px!important;right:18px!important;opacity:.6!important}
.jlit-nav-console-head{display:none!important}
.jlit-nav-console-body{
 display:grid!important;grid-template-columns:1.28fr 1fr 1fr 1fr 1.18fr 1.08fr 1fr!important;gap:5px!important;
 padding:7px!important;background:transparent!important
}
.jlit-nav-brand{
 display:flex!important;align-items:center!important;gap:11px!important;min-height:68px!important;padding:8px 12px!important;
 border-right:1px solid #223945!important
}
.jlit-nav-brand-mark{width:40px!important;height:40px!important;border-radius:11px!important;font-size:20px!important}
.jlit-nav-brand>div{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important}
.jlit-nav-brand strong{color:#fff!important;font:900 13px/1 Arial!important;letter-spacing:.5px!important}
.jlit-nav-brand small{color:#87a0ad!important;font:700 8px/1 Arial!important;letter-spacing:.35px!important}
.jlit-nav-tool,.jlit-route-modes{min-height:68px!important;border:1px solid #213946!important;border-radius:10px!important;overflow:hidden!important}
.jlit-nav-tool{
 display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;padding:8px 10px!important;
 background:linear-gradient(180deg,#10232f,#081620)!important;box-shadow:inset 0 1px rgba(255,255,255,.035),0 2px 6px rgba(0,0,0,.12)!important
}
.jlit-nav-tool:after{display:none!important}.jlit-nav-tool:hover,.jlit-nav-tool.is-active{background:linear-gradient(180deg,#153449,#0b2331)!important;border-color:#2c6885!important}
.jlit-nav-tool b{font-size:9px!important;color:#f2f6f8!important}.jlit-nav-tool small{font-size:7.5px!important;color:#7893a3!important}
.jlit-nav-icon{width:37px!important;height:37px!important;flex-basis:37px!important;border-radius:10px!important;font-size:19px!important}
.jlit-nav-locate{border-color:#216f91!important;background:linear-gradient(180deg,#10364a,#092130)!important}.jlit-nav-locate .jlit-nav-icon{background:linear-gradient(145deg,#1db8e5,#08698f)!important}
.jlit-nav-deals{border-color:#665019!important}.jlit-nav-deals .jlit-nav-icon{background:linear-gradient(145deg,#e8ad1d,#8b5e03)!important;color:#fff!important}
.jlit-nav-directions:not(:disabled){border-color:#348bb0!important;box-shadow:0 0 0 1px rgba(39,181,229,.20),inset 0 1px rgba(255,255,255,.04)!important}
.jlit-nav-clear{border-color:#58303a!important}.jlit-nav-clear .jlit-nav-icon{background:linear-gradient(145deg,#d4384c,#821d2e)!important;color:#fff!important;border-color:#e65c6d!important}
.jlit-route-modes{display:grid!important;grid-template-columns:1fr 1fr!important;padding:0!important;gap:0!important;background:#07131c!important}
.jlit-route-modes button{position:relative;border:0!important;border-radius:0!important;background:transparent!important;color:#778d99!important;box-shadow:none!important}
.jlit-route-modes button+button{border-left:1px solid #233b48!important}
.jlit-route-modes button.is-active{background:linear-gradient(180deg,#0e84b8,#07567b)!important;color:#fff!important;box-shadow:inset 0 0 0 1px #36bde8,0 0 13px rgba(26,176,226,.22)!important}
.jlit-route-modes button i{height:22px!important;margin-bottom:5px!important;color:currentColor}
.jlit-route-modes button span{font-size:8px!important;letter-spacing:.55px!important}
.jlit-mode-walk:before{content:"";position:absolute;left:50%;top:0;width:6px;height:6px;border-radius:50%;background:currentColor;transform:translateX(-50%);box-shadow:0 8px 0 -1px currentColor}
.jlit-mode-walk:after{content:"";position:absolute;left:50%;top:11px;width:12px;height:10px;border-left:2px solid currentColor;border-right:2px solid currentColor;transform:translateX(-50%) rotate(18deg)}
.jlit-mode-drive:before{left:50%!important;top:5px!important;width:20px!important;height:10px!important;transform:translateX(-50%)!important}
.jlit-mode-drive:after{left:50%!important;top:10px!important;transform:translateX(-50%)!important}
.jlit-route-summary{bottom:96px!important;min-width:300px!important}

/* --------------------- REFERENCE-SPEC DIRECTIONS ---------------------- */
.jlit-directions-drawer{
 right:16px!important;top:78px!important;bottom:94px!important;width:340px!important;border-radius:16px!important;
 border:1px solid #496979!important;background:linear-gradient(180deg,rgba(12,28,40,.995),rgba(4,12,19,.995))!important;
 box-shadow:0 22px 54px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.06)!important
}
.jlit-directions-head{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:54px!important;padding:0 12px 0 14px!important;background:linear-gradient(180deg,#183447,#0b1c29)!important}
.jlit-directions-title strong{font:900 15px/1 Arial!important;color:#fff!important;letter-spacing:.45px!important}
.jlit-dir-close{display:grid!important;place-items:center!important;width:30px!important;height:30px!important;padding:0!important;border-radius:8px!important;border:1px solid #355363!important;background:#102531!important;color:#cbdbe3!important;font:900 18px/1 Arial!important}
.jlit-dir-mode-row{display:grid;grid-template-columns:1fr 1fr;width:128px;margin:10px 14px 0;border:1px solid #2b4b5d;border-radius:9px;overflow:hidden;background:#081620}
.jlit-dir-mode-row button{height:43px;border:0;background:#0a1c27;color:#718998;cursor:pointer}.jlit-dir-mode-row button+button{border-left:1px solid #2b4b5d}.jlit-dir-mode-row button.is-active{background:linear-gradient(180deg,#0e8ac0,#07567f);color:#fff;box-shadow:inset 0 0 0 1px #2bb9e7}
.jlit-dir-mode-row svg{width:24px;height:24px;fill:currentColor}
.jlit-dir-overview{padding:10px 14px 11px}.jlit-dir-overview strong{display:block;color:#fff;font:900 17px/1 Arial}.jlit-dir-overview strong b{color:#617d8d}.jlit-dir-overview span{display:block;margin-top:6px;color:#a8bbc5;font:700 10px/1 Arial}
.jlit-dir-update-row{padding:0 12px 10px}
.jlit-relocate-btn{
 display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:100%!important;height:58px!important;padding:0 13px!important;
 border-radius:10px!important;background:linear-gradient(180deg,#117fb1,#0a5681)!important;border:1px solid #3bbcf0!important;color:#fff!important;
 box-shadow:0 0 14px rgba(30,174,224,.20),inset 0 1px rgba(255,255,255,.16)!important;text-align:left!important
}
.jlit-relocate-btn i{display:grid;place-items:center;width:33px;height:33px;border:2px solid #fff;border-radius:50%;font:900 17px/1 Arial;font-style:normal}
.jlit-relocate-btn>span{display:flex;flex-direction:column;gap:5px}.jlit-relocate-btn strong{font:900 10px/1 Arial;letter-spacing:.5px}.jlit-relocate-btn small{font:700 7.5px/1 Arial;color:#c2e8f6}
.jlit-directions-list{flex:1!important;overflow:auto!important;border-top:1px solid #213947!important;background:#06131c!important}
.jlit-directions-list li{
 display:grid!important;grid-template-columns:45px 1fr 31px!important;gap:10px!important;align-items:center!important;
 min-height:64px!important;padding:8px 10px!important;border-bottom:1px solid #1b303c!important;background:linear-gradient(180deg,#0d1f2a,#08151e)!important
}
.jlit-directions-list li.is-current{background:linear-gradient(180deg,#0b3a52,#08283a)!important;box-shadow:inset 3px 0 #13b9ee!important}
.jlit-directions-list .jlit-turn-icon{width:39px!important;height:39px!important;border-radius:9px!important;background:linear-gradient(145deg,#16374a,#0a2432)!important;border:1px solid #2f718f!important;color:#fff!important;font-size:22px!important}
.jlit-directions-list li.is-current .jlit-turn-icon{background:linear-gradient(145deg,#1b9fd0,#08749d)!important;border-color:#62d9fb!important}
.jlit-step-copy strong{font:800 10.5px/1.22 Arial!important;color:#f4f8fa!important}.jlit-step-distance{margin-top:5px!important;font:900 15px/1 Arial!important;color:#fff!important}
.jlit-step-speak{width:29px!important;height:29px!important;border-radius:8px!important;background:#132632!important;border-color:#3b5665!important;color:#d8e8ef!important}
.jlit-directions-footer{display:grid;grid-template-columns:105px 1fr;gap:7px;padding:8px;border-top:1px solid #29414e;background:#07131c}
.jlit-directions-footer .jlit-voice-btn{height:34px!important;border-radius:8px!important}
.jlit-end-directions{height:34px;border:1px solid #334b58;border-radius:8px;background:linear-gradient(180deg,#182832,#0d1820);color:#e7eef2;font:900 9px/1 Arial;letter-spacing:.55px;cursor:pointer}
.jlit-end-directions span{float:right;display:grid;place-items:center;width:22px;height:22px;margin:-1px 2px 0 0;border-radius:6px;background:#581e29;color:#ff7583;font-size:15px}

/* Responsive: preserve the premium dashboard while freeing map space. */
@media(max-width:1050px){
 .jlit-marker-key{width:205px!important}
 .jlit-nav-console-body{grid-template-columns:1.08fr .9fr .9fr .9fr 1fr 1fr .85fr!important}
 .jlit-nav-tool>span small,.jlit-nav-brand small{display:none!important}
 .jlit-directions-drawer{width:320px!important}
}
@media(max-width:760px){
 .jlit-b3d-title{width:178px!important;padding:10px!important}.jlit-b3d-title strong{font-size:12px!important}
 .jlit-time-controls{top:8px!important}.jlit-time-controls button{min-width:52px!important;padding:0 7px!important}.jlit-time-controls button span{display:none!important}
 .jlit-b3d-controls{top:8px!important;right:7px!important}.jlit-b3d-controls button{padding:0 8px!important;font-size:8px!important}
 .jlit-marker-key{left:7px!important;top:70px!important;bottom:92px!important;width:180px!important}.jlit-key-row span{display:none!important}.jlit-key-row strong{font-size:8.5px!important}
 .jlit-nav-console{left:7px!important;right:7px!important;bottom:7px!important}.jlit-nav-console-body{grid-template-columns:46px repeat(6,1fr)!important;padding:5px!important;gap:3px!important}
 .jlit-nav-brand{min-height:52px!important;padding:3px!important;justify-content:center!important}.jlit-nav-brand>div{display:none!important}.jlit-nav-brand-mark{width:34px!important;height:34px!important}
 .jlit-nav-tool,.jlit-route-modes{min-height:52px!important}.jlit-nav-tool{justify-content:center!important;padding:4px!important}.jlit-nav-tool>span{display:none!important}.jlit-nav-icon{width:32px!important;height:32px!important;flex-basis:32px!important}
 .jlit-directions-drawer{left:7px!important;right:7px!important;top:64px!important;bottom:72px!important;width:auto!important;max-height:none!important}
 .jlit-route-summary{bottom:71px!important;max-width:calc(100% - 18px)!important}
}


/* v2.0.139 — Mahanakhon start, full Find Route slot, explicit geolocation retry UX. */
.jlit-nav-console .jlit-nav-destination-tool{
 width:auto!important;height:auto!important;min-width:0!important;position:relative!important;
}
.jlit-nav-console .jlit-nav-destination-tool:after{display:none!important}

/* Centre-screen location retry prompt. */
.jlit-location-retry{
 position:absolute;z-index:80;inset:0;display:none;align-items:center;justify-content:center;
 background:rgba(2,8,13,.30);backdrop-filter:blur(2px);font-family:Arial,sans-serif
}
.jlit-location-retry.is-open{display:flex}
.jlit-location-retry-card{
 width:min(380px,calc(100% - 40px));padding:22px 24px 20px;text-align:center;
 border-radius:18px;background:linear-gradient(160deg,#17384c 0%,#091b28 54%,#06121c 100%);
 border:1px solid #4e7183;box-shadow:0 24px 65px rgba(0,0,0,.58),inset 0 1px rgba(255,255,255,.075);
 color:#fff
}
.jlit-location-retry-icon{
 display:grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border-radius:50%;
 background:linear-gradient(145deg,#20bfe7,#08739a);border:2px solid #8ce6fb;
 box-shadow:0 0 18px rgba(40,198,236,.30);font:900 29px/1 Arial;color:#fff
}
.jlit-location-retry-card small{display:block;color:#58d2f2;font:900 8px/1 Arial;letter-spacing:1.7px}
.jlit-location-retry-card strong{display:block;margin-top:7px;color:#fff;font:900 17px/1.1 Arial;letter-spacing:.35px}
.jlit-location-retry-card span{display:block;margin:10px auto 16px;max-width:310px;color:#a9c0cc;font:700 10px/1.45 Arial}
.jlit-location-retry-card button{
 width:100%;height:44px;border-radius:10px;border:1px solid #6be0fb;
 background:linear-gradient(180deg,#129bc8,#08739a);color:#fff;font:900 11px/1 Arial;letter-spacing:1px;
 box-shadow:0 0 15px rgba(34,185,227,.22),inset 0 1px rgba(255,255,255,.17);cursor:pointer
}
.jlit-location-retry-card button:hover{background:linear-gradient(180deg,#18b3df,#087fa7)}
.jlit-location-retry-card button:disabled{opacity:.65;cursor:wait}

/* Make every desktop nav cell consume the space allocated by the grid. */
.jlit-nav-console-body>.jlit-nav-tool,.jlit-nav-console-body>.jlit-route-modes,.jlit-nav-console-body>.jlit-nav-brand{
 width:100%!important;box-sizing:border-box!important;min-width:0!important
}


/* v2.0.140 — guided route-finder sequence. */
.jlit-location-retry-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.jlit-location-retry-actions button{height:46px!important}
.jlit-location-retry-card .jlit-retry-secondary{
 background:linear-gradient(180deg,#132c3a,#0b1d28)!important;border-color:#3c667b!important;color:#d8e9f0!important;
 box-shadow:inset 0 1px rgba(255,255,255,.05)!important;font-size:9px!important;line-height:1.15!important;padding:0 8px!important
}
.jlit-location-retry-card .jlit-retry-secondary:hover{background:linear-gradient(180deg,#1a3b4d,#102b3a)!important}

.jlit-guide-banner{
 position:absolute;z-index:72;top:66px;left:50%;transform:translate(-50%,-12px);
 display:flex;align-items:center;gap:10px;min-width:340px;max-width:min(560px,calc(100% - 470px));
 padding:9px 14px 9px 10px;border-radius:12px;opacity:0;pointer-events:none;
 font-family:Arial,sans-serif;box-shadow:0 13px 30px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.10);
 transition:opacity .18s ease,transform .18s ease
}
.jlit-guide-banner.is-open{opacity:1;transform:translate(-50%,0)}
.jlit-guide-icon{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:9px;border:1px solid rgba(255,255,255,.30);background:rgba(0,0,0,.15)}
.jlit-guide-icon:before{content:"›";font:900 25px/1 Arial;color:#fff}
.jlit-guide-banner>div{min-width:0}.jlit-guide-banner small{display:block;color:rgba(255,255,255,.70);font:900 6.5px/1 Arial;letter-spacing:1.3px}
.jlit-guide-banner strong{display:block;margin-top:4px;color:#fff;font:900 12px/1 Arial;letter-spacing:.45px}
.jlit-guide-banner span{display:block;margin-top:4px;color:rgba(255,255,255,.82);font:700 8px/1.15 Arial}
.jlit-guide-banner.is-blue{background:linear-gradient(160deg,#1599c4,#086b91);border:1px solid #70def7}
.jlit-guide-banner.is-yellow{background:linear-gradient(160deg,#d9aa20,#996b06);border:1px solid #f3d46b}
.jlit-guide-banner.is-yellow .jlit-guide-icon{background:#7b5606}
.jlit-guide-banner.is-orange{background:linear-gradient(160deg,#e4771a,#a84408);border:1px solid #ffb15f}
.jlit-guide-banner.is-orange .jlit-guide-icon{background:#8c3608}

.jlit-selecting-start .jlit-b3d-map{cursor:crosshair!important}

@media(max-width:900px){
 .jlit-guide-banner{top:58px;min-width:280px;max-width:calc(100% - 30px)}
}
@media(max-width:560px){
 .jlit-location-retry-actions{grid-template-columns:1fr}
 .jlit-guide-banner{top:54px;min-width:0;width:calc(100% - 22px)}
 .jlit-guide-banner span{font-size:7.5px}
}


/* v2.0.141 — colour-matched guided pulse around the next action. */
@keyframes jlitGuidePulseBlue{
 0%,100%{box-shadow:0 0 0 3px #35cfff,0 0 12px rgba(53,207,255,.85),0 0 24px rgba(53,207,255,.45),inset 0 1px rgba(255,255,255,.08)}
 50%{box-shadow:0 0 0 6px #35cfff,0 0 22px rgba(53,207,255,1),0 0 42px rgba(53,207,255,.75),inset 0 1px rgba(255,255,255,.08)}
}
@keyframes jlitGuidePulseYellow{
 0%,100%{box-shadow:0 0 0 3px #f3cc45,0 0 12px rgba(243,204,69,.85),0 0 24px rgba(243,204,69,.45),inset 0 1px rgba(255,255,255,.08)}
 50%{box-shadow:0 0 0 6px #f3cc45,0 0 22px rgba(243,204,69,1),0 0 42px rgba(243,204,69,.72),inset 0 1px rgba(255,255,255,.08)}
}
@keyframes jlitGuidePulseOrange{
 0%,100%{box-shadow:0 0 0 3px #ff8a2b,0 0 12px rgba(255,138,43,.88),0 0 24px rgba(255,138,43,.48),inset 0 1px rgba(255,255,255,.08)}
 50%{box-shadow:0 0 0 6px #ff8a2b,0 0 24px rgba(255,138,43,1),0 0 44px rgba(255,138,43,.78),inset 0 1px rgba(255,255,255,.08)}
}

.jlit-guide-locate .jlit-nav-locate{
 position:relative!important;z-index:4!important;border-color:#57dbff!important;
 animation:jlitGuidePulseBlue 1.05s ease-in-out infinite!important
}
.jlit-guide-destination .jlit-nav-destination-tool{
 position:relative!important;z-index:4!important;border-color:#f4d45c!important;
 animation:jlitGuidePulseYellow 1.05s ease-in-out infinite!important
}
.jlit-guide-directions .jlit-nav-directions:not(:disabled){
 position:relative!important;z-index:4!important;border-color:#ff9d4f!important;
 animation:jlitGuidePulseOrange 1.05s ease-in-out infinite!important
}

/* Keep active button surface coordinated with its guide colour. */
.jlit-guide-locate .jlit-nav-locate{background:linear-gradient(180deg,#124764,#092a3b)!important}
.jlit-guide-destination .jlit-nav-destination-tool{background:linear-gradient(180deg,#3d3512,#211b08)!important}
.jlit-guide-destination .jlit-nav-destination-tool .jlit-nav-icon{border-color:#d7ad2d!important;color:#ffd95a!important;background:linear-gradient(145deg,#5b470e,#2d2207)!important}
.jlit-guide-directions .jlit-nav-directions:not(:disabled){background:linear-gradient(180deg,#482612,#291508)!important}
.jlit-guide-directions .jlit-nav-directions:not(:disabled) .jlit-nav-icon{border-color:#dd7726!important;color:#ffad67!important;background:linear-gradient(145deg,#5c2c0b,#2d1607)!important}

/* Pulses should not be clipped by the nav dock. */
.jlit-nav-console,.jlit-nav-console-body{overflow:visible!important}


/* v2.0.142 — unmistakable expanding guided action frames. */
@keyframes jlitHardPulseBlue{
 0%{transform:scale(1);opacity:1;border-width:6px;box-shadow:0 0 0 2px rgba(255,255,255,.92),0 0 14px #24cfff,0 0 28px rgba(36,207,255,.90)}
 45%{transform:scale(1.075);opacity:.96;border-width:8px;box-shadow:0 0 0 3px rgba(255,255,255,.96),0 0 26px #24cfff,0 0 52px rgba(36,207,255,1)}
 100%{transform:scale(1);opacity:1;border-width:6px;box-shadow:0 0 0 2px rgba(255,255,255,.92),0 0 14px #24cfff,0 0 28px rgba(36,207,255,.90)}
}
@keyframes jlitHardPulseYellow{
 0%{transform:scale(1);opacity:1;border-width:6px;box-shadow:0 0 0 2px rgba(255,255,220,.95),0 0 14px #ffd426,0 0 28px rgba(255,212,38,.90)}
 45%{transform:scale(1.075);opacity:.96;border-width:8px;box-shadow:0 0 0 3px rgba(255,255,220,.98),0 0 27px #ffd426,0 0 54px rgba(255,212,38,1)}
 100%{transform:scale(1);opacity:1;border-width:6px;box-shadow:0 0 0 2px rgba(255,255,220,.95),0 0 14px #ffd426,0 0 28px rgba(255,212,38,.90)}
}
@keyframes jlitHardPulseOrange{
 0%{transform:scale(1);opacity:1;border-width:6px;box-shadow:0 0 0 2px rgba(255,240,224,.95),0 0 15px #ff781e,0 0 30px rgba(255,120,30,.92)}
 45%{transform:scale(1.075);opacity:.96;border-width:8px;box-shadow:0 0 0 3px rgba(255,240,224,.98),0 0 29px #ff781e,0 0 56px rgba(255,120,30,1)}
 100%{transform:scale(1);opacity:1;border-width:6px;box-shadow:0 0 0 2px rgba(255,240,224,.95),0 0 15px #ff781e,0 0 30px rgba(255,120,30,.92)}
}

/* Disable the old subtle animation so the new physical ring is the only pulse. */
.jlit-guide-locate .jlit-nav-locate,
.jlit-guide-destination .jlit-nav-destination-tool,
.jlit-guide-directions .jlit-nav-directions:not(:disabled){
 animation:none!important;
 overflow:visible!important;
 isolation:isolate!important;
}

.jlit-guide-locate .jlit-nav-locate:before,
.jlit-guide-destination .jlit-nav-destination-tool:before,
.jlit-guide-directions .jlit-nav-directions:not(:disabled):before{
 content:""!important;
 display:block!important;
 position:absolute!important;
 z-index:20!important;
 pointer-events:none!important;
 top:-7px!important;right:-7px!important;bottom:-7px!important;left:-7px!important;
 border-style:solid!important;
 border-radius:15px!important;
 transform-origin:center!important;
 box-sizing:border-box!important;
}

.jlit-guide-locate .jlit-nav-locate:before{
 border-color:#24cfff!important;
 animation:jlitHardPulseBlue .72s ease-in-out infinite!important;
}
.jlit-guide-destination .jlit-nav-destination-tool:before{
 border-color:#ffd426!important;
 animation:jlitHardPulseYellow .72s ease-in-out infinite!important;
}
.jlit-guide-directions .jlit-nav-directions:not(:disabled):before{
 border-color:#ff781e!important;
 animation:jlitHardPulseOrange .72s ease-in-out infinite!important;
}

/* Matching inner border means the highlighted button still reads when the outer
   pulse reaches the expanded phase. */
.jlit-guide-locate .jlit-nav-locate{border:3px solid #54ddff!important}
.jlit-guide-destination .jlit-nav-destination-tool{border:3px solid #ffe166!important}
.jlit-guide-directions .jlit-nav-directions:not(:disabled){border:3px solid #ff9b50!important}

/* Ensure neighbouring cells never paint over the expanding frame. */
.jlit-nav-console-body{isolation:isolate!important}
.jlit-guide-locate .jlit-nav-locate,
.jlit-guide-destination .jlit-nav-destination-tool,
.jlit-guide-directions .jlit-nav-directions:not(:disabled){z-index:25!important}

/* Accessibility: even with reduced motion, leave the very thick high-contrast
   ring visible rather than reverting to the original thin outline. */
@media (prefers-reduced-motion:reduce){
 .jlit-guide-locate .jlit-nav-locate:before,
 .jlit-guide-destination .jlit-nav-destination-tool:before,
 .jlit-guide-directions .jlit-nav-directions:not(:disabled):before{
  animation:none!important;transform:scale(1.035)!important;border-width:7px!important;opacity:1!important
 }
}


/* v2.0.145 — JLIT premium SVG icon system supplied by the user. */
.jlit-svg-icon,.jlit-manoeuvre-svg,.jlit-mode-svg,.jlit-reroute-svg{
 display:inline-block!important;
 background-color:currentColor!important;
 -webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;
 -webkit-mask-position:center!important;mask-position:center!important;
 -webkit-mask-size:contain!important;mask-size:contain!important;
 flex:0 0 auto;
}
.jlit-svg-offer{-webkit-mask-image:url('icons/offer.svg');mask-image:url('icons/offer.svg')}
.jlit-svg-tours{-webkit-mask-image:url('icons/tours.svg');mask-image:url('icons/tours.svg')}
.jlit-svg-attraction{-webkit-mask-image:url('icons/attraction.svg');mask-image:url('icons/attraction.svg')}
.jlit-svg-dining{-webkit-mask-image:url('icons/dining.svg');mask-image:url('icons/dining.svg')}
.jlit-svg-shopping{-webkit-mask-image:url('icons/shopping.svg');mask-image:url('icons/shopping.svg')}
.jlit-svg-hotel{-webkit-mask-image:url('icons/hotel.svg');mask-image:url('icons/hotel.svg')}
.jlit-svg-train{-webkit-mask-image:url('icons/train.svg');mask-image:url('icons/train.svg')}
.jlit-svg-ferry{-webkit-mask-image:url('icons/ferry.svg');mask-image:url('icons/ferry.svg')}
.jlit-svg-hospital{-webkit-mask-image:url('icons/hospital.svg');mask-image:url('icons/hospital.svg')}
.jlit-svg-walk{-webkit-mask-image:url('icons/walk.svg');mask-image:url('icons/walk.svg')}
.jlit-svg-drive{-webkit-mask-image:url('icons/drive.svg');mask-image:url('icons/drive.svg')}
.jlit-svg-day{-webkit-mask-image:url('icons/day.svg');mask-image:url('icons/day.svg')}
.jlit-svg-dusk{-webkit-mask-image:url('icons/dusk.svg');mask-image:url('icons/dusk.svg')}
.jlit-svg-night{-webkit-mask-image:url('icons/night.svg');mask-image:url('icons/night.svg')}
.jlit-svg-route-start{-webkit-mask-image:url('icons/route-start.svg');mask-image:url('icons/route-start.svg')}
.jlit-svg-finish{-webkit-mask-image:url('icons/finish.svg');mask-image:url('icons/finish.svg')}
.jlit-svg-right{-webkit-mask-image:url('icons/right.svg');mask-image:url('icons/right.svg')}

.jlit-key-row .jlit-svg-icon{
 width:21px!important;height:21px!important;flex-basis:21px!important;
 border-radius:0!important;border:0!important;box-shadow:none!important;background-color:var(--key-color)!important;
}
.jlit-key-premium .jlit-svg-offer{color:#ffd34b!important;background-color:#ffd34b!important}
.jlit-key-tour .jlit-svg-tours{background-color:#56a5ff!important}
.jlit-key-attraction .jlit-svg-attraction{background-color:#ff5262!important}
.jlit-key-dining .jlit-svg-dining{background-color:#f69b47!important}
.jlit-key-shopping .jlit-svg-shopping{background-color:#b67af0!important}
.jlit-key-accommodation .jlit-svg-hotel{background-color:#54dcdf!important}
.jlit-key-transit .jlit-svg-train{background-color:#ff596a!important}
.jlit-key-ferry .jlit-svg-ferry{background-color:#45c5f6!important}
.jlit-key-hospital .jlit-svg-hospital{background-color:#5fdf83!important}

.jlit-nav-icon.jlit-svg-icon{
 width:31px!important;height:31px!important;flex-basis:31px!important;
 border:0!important;border-radius:0!important;box-shadow:none!important;background-color:#fff!important;
}
.jlit-nav-locate .jlit-nav-icon{background-color:#fff!important}
.jlit-nav-deals .jlit-nav-icon{background-color:#fff5c8!important}
.jlit-nav-directions:not(:disabled) .jlit-nav-icon{background-color:#6ee1ff!important}
.jlit-nav-destination-tool .jlit-nav-icon{background-color:#ffe36a!important}

.jlit-route-modes button i.jlit-svg-icon{
 position:relative!important;left:auto!important;top:auto!important;transform:none!important;
 display:block!important;width:28px!important;height:28px!important;margin:0 auto 4px!important;
 background-color:currentColor!important;border:0!important;
}
.jlit-mode-walk:before,.jlit-mode-walk:after,.jlit-mode-drive:before,.jlit-mode-drive:after{display:none!important}

.jlit-time-controls button{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important}
.jlit-time-svg{width:22px!important;height:22px!important;background-color:currentColor!important}
.jlit-time-controls button span{margin-left:0!important}

.jlit-mode-svg{width:28px!important;height:28px!important;background-color:currentColor!important}
.jlit-mode-svg-walk{-webkit-mask-image:url('icons/walk.svg');mask-image:url('icons/walk.svg')}
.jlit-mode-svg-drive{-webkit-mask-image:url('icons/drive.svg');mask-image:url('icons/drive.svg')}
.jlit-dir-mode-row button{display:grid!important;place-items:center!important}
.jlit-dir-mode-row svg{display:none!important}

.jlit-reroute-svg{
 width:34px!important;height:34px!important;background-color:#fff!important;
 -webkit-mask-image:url('icons/reroute.svg');mask-image:url('icons/reroute.svg');
 border:0!important;border-radius:0!important;
}
.jlit-relocate-btn i.jlit-reroute-svg{border:0!important}

.jlit-turn-icon{
 display:grid!important;place-items:center!important;
 font-size:0!important;
}
.jlit-manoeuvre-svg{width:28px!important;height:28px!important;background-color:currentColor!important}
.jlit-manoeuvre-straight{-webkit-mask-image:url('icons/straight.svg');mask-image:url('icons/straight.svg')}
.jlit-manoeuvre-left{-webkit-mask-image:url('icons/left.svg');mask-image:url('icons/left.svg')}
.jlit-manoeuvre-right{-webkit-mask-image:url('icons/right.svg');mask-image:url('icons/right.svg')}
.jlit-manoeuvre-slight-left{-webkit-mask-image:url('icons/slight-left.svg');mask-image:url('icons/slight-left.svg')}
.jlit-manoeuvre-slight-right{-webkit-mask-image:url('icons/slight-right.svg');mask-image:url('icons/slight-right.svg')}
.jlit-manoeuvre-sharp-left{-webkit-mask-image:url('icons/sharp-left.svg');mask-image:url('icons/sharp-left.svg')}
.jlit-manoeuvre-sharp-right{-webkit-mask-image:url('icons/sharp-right.svg');mask-image:url('icons/sharp-right.svg')}
.jlit-manoeuvre-uturn-left{-webkit-mask-image:url('icons/uturn-left.svg');mask-image:url('icons/uturn-left.svg')}
.jlit-manoeuvre-uturn-right{-webkit-mask-image:url('icons/uturn-left.svg');mask-image:url('icons/uturn-left.svg');transform:scaleX(-1)}
.jlit-manoeuvre-fork-left{-webkit-mask-image:url('icons/fork-left.svg');mask-image:url('icons/fork-left.svg')}
.jlit-manoeuvre-fork-right{-webkit-mask-image:url('icons/fork-right.svg');mask-image:url('icons/fork-right.svg')}
.jlit-manoeuvre-route-start{-webkit-mask-image:url('icons/route-start.svg');mask-image:url('icons/route-start.svg')}
.jlit-manoeuvre-finish{-webkit-mask-image:url('icons/finish.svg');mask-image:url('icons/finish.svg')}
.jlit-manoeuvre-roundabout{
 width:27px!important;height:27px!important;border:4px solid currentColor!important;border-radius:50%!important;
 background:transparent!important;position:relative;
}
.jlit-manoeuvre-roundabout:after{
 content:"";position:absolute;right:-5px;top:1px;width:8px;height:8px;
 border-top:4px solid currentColor;border-right:4px solid currentColor;transform:rotate(22deg)
}
.jlit-directions-list .jlit-turn-icon{
 width:48px!important;height:48px!important;border-radius:12px!important;
 border-width:2px!important;
}
.jlit-directions-list li{grid-template-columns:54px 1fr 34px!important;min-height:74px!important}
.jlit-directions-list li.is-current .jlit-turn-icon{
 box-shadow:0 0 0 2px rgba(98,217,251,.15),0 0 18px rgba(29,180,229,.25)!important;
}
.jlit-step-speak{font-size:15px!important;filter:saturate(.8)}


/* v2.0.146 — high-contrast white navigation/directional icon pass. */
.jlit-svg-locate{-webkit-mask-image:url('icons/locate.svg');mask-image:url('icons/locate.svg')}

/* Bottom navigation toolbar */
.jlit-nav-console .jlit-svg-icon,
.jlit-nav-console .jlit-mode-walk,
.jlit-nav-console .jlit-mode-drive,
.jlit-nav-console .jlit-nav-icon{
 color:#fff!important;
 background-color:#fff!important;
 opacity:1!important;
 filter:none!important;
}

/* Directions panel mode selectors, manoeuvres and reroute control */
.jlit-directions-panel .jlit-mode-svg,
.jlit-directions-panel .jlit-manoeuvre-svg,
.jlit-directions-panel .jlit-reroute-svg,
.jlit-directions-panel .jlit-svg-icon,
.jlit-directions-panel .jlit-turn-icon .jlit-manoeuvre-svg{
 color:#fff!important;
 background-color:#fff!important;
 opacity:1!important;
 filter:none!important;
}

/* The walk/car selectors were inheriting muted/active text colours. Keep text
   styling intact but make their actual pictograms permanently bright white. */
.jlit-dir-mode-row button .jlit-mode-svg,
.jlit-route-modes button .jlit-svg-icon{
 background-color:#fff!important;
 color:#fff!important;
 opacity:1!important;
}

/* Turn pictograms should dominate the instruction cards. */
.jlit-directions-list .jlit-manoeuvre-svg{
 width:31px!important;
 height:31px!important;
 background-color:#fff!important;
}
.jlit-directions-list .jlit-turn-icon{
 color:#fff!important;
}


/* v2.0.147 — stronger YOU ARE HERE marker + clearer/lower route guidance. */

/* Make the live user position materially bolder than secondary route markers. */
.jlit-nav-user{
 width:38px!important;
 height:38px!important;
 z-index:8!important;
}
.jlit-nav-user .jlit-nav-dot{
 left:8px!important;
 top:8px!important;
 width:22px!important;
 height:22px!important;
 border:4px solid #fff!important;
 background:#10bff4!important;
 box-shadow:
   0 0 0 4px #0aa9dd,
   0 0 0 7px rgba(68,219,255,.28),
   0 4px 12px rgba(0,0,0,.46)!important;
}
.jlit-nav-user .jlit-nav-pulse{
 inset:-2px!important;
 border:4px solid #54ddff!important;
 animation:jlitGpsPulseStrong 1.35s ease-out infinite!important;
}
.jlit-nav-user b{
 top:43px!important;
 padding:6px 10px!important;
 border-radius:7px!important;
 border:2px solid #d9f8ff!important;
 background:#057da9!important;
 color:#fff!important;
 font:900 9px/1 Arial!important;
 letter-spacing:.25px!important;
 box-shadow:0 3px 10px rgba(0,0,0,.42),0 0 12px rgba(29,199,245,.35)!important;
}
@keyframes jlitGpsPulseStrong{
 0%{transform:scale(.62);opacity:1;border-width:4px}
 70%{opacity:.42}
 100%{transform:scale(2.05);opacity:0;border-width:2px}
}

/* Move staged guidance farther down into the usable map area. */
.jlit-guide-banner.is-yellow{top:88px!important}
.jlit-guide-banner.is-orange{top:92px!important}

/* Stronger, unmistakably yellow and orange route prompts. */
.jlit-guide-banner.is-yellow{
 background:linear-gradient(155deg,#f6c914 0%,#e4a400 55%,#b87100 100%)!important;
 border:2px solid #ffe66d!important;
 box-shadow:
   0 14px 34px rgba(0,0,0,.36),
   0 0 0 2px rgba(255,209,32,.16),
   0 0 25px rgba(255,190,0,.38),
   inset 0 1px rgba(255,255,255,.28)!important;
}
.jlit-guide-banner.is-yellow .jlit-guide-icon{
 background:#9f6900!important;
 border-color:#ffe47a!important;
}
.jlit-guide-banner.is-orange{
 background:linear-gradient(155deg,#ff922e 0%,#ef6814 54%,#b93805 100%)!important;
 border:2px solid #ffc06f!important;
 box-shadow:
   0 14px 34px rgba(0,0,0,.36),
   0 0 0 2px rgba(255,126,30,.16),
   0 0 27px rgba(255,100,13,.42),
   inset 0 1px rgba(255,255,255,.24)!important;
}
.jlit-guide-banner.is-orange .jlit-guide-icon{
 background:#a63a07!important;
 border-color:#ffc27c!important;
}
.jlit-guide-banner.is-yellow strong,
.jlit-guide-banner.is-orange strong{
 font-size:13px!important;
 letter-spacing:.55px!important;
 text-shadow:0 1px 2px rgba(0,0,0,.25)!important;
}
.jlit-guide-banner.is-yellow span,
.jlit-guide-banner.is-orange span{
 color:#fff!important;
 font-size:8.5px!important;
}

/* Keep the lowered position sensible on narrower layouts too. */
@media(max-width:900px){
 .jlit-guide-banner.is-yellow{top:76px!important}
 .jlit-guide-banner.is-orange{top:80px!important}
}
@media(max-width:560px){
 .jlit-guide-banner.is-yellow{top:70px!important}
 .jlit-guide-banner.is-orange{top:74px!important}
}


/* v2.0.148 — neon Day/Dusk/Night labels + mobile navigation layout. */

/* Neon time-mode wording */
.jlit-time-controls button:nth-child(1) span{
 color:#fff200!important;
 text-shadow:0 0 4px rgba(255,242,0,.95),0 0 10px rgba(255,242,0,.85),0 0 18px rgba(255,242,0,.55)!important;
}
.jlit-time-controls button:nth-child(2) span{
 color:#ff8a1f!important;
 text-shadow:0 0 4px rgba(255,138,31,.98),0 0 10px rgba(255,112,20,.88),0 0 18px rgba(255,105,0,.58)!important;
}
.jlit-time-controls button:nth-child(3) span{
 color:#29bfff!important;
 text-shadow:0 0 4px rgba(41,191,255,.98),0 0 10px rgba(41,191,255,.88),0 0 18px rgba(0,150,255,.60)!important;
}
.jlit-time-controls button span{
 font-weight:900!important;
 letter-spacing:.2px!important;
}

/* Mobile-first navigation behaviour */
@media(max-width:760px){
 .jlit-b3d-shell{
  min-height:640px!important;
 }

 /* Keep the map visible; the key should not dominate the screen. */
 .jlit-map-key{
  width:min(78vw,285px)!important;
  max-height:46%!important;
  top:72px!important;
  left:8px!important;
  bottom:auto!important;
  border-radius:13px!important;
  box-shadow:0 14px 30px rgba(0,0,0,.46)!important;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
 }
 .jlit-mobile-nav-active .jlit-map-key{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateX(-18px)!important;
 }

 /* Top controls compact but still reachable. */
 .jlit-time-controls{
  top:8px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  min-width:0!important;
  width:auto!important;
  padding:3px!important;
  border-radius:14px!important;
 }
 .jlit-time-controls button{
  min-width:58px!important;
  padding:7px 9px!important;
  gap:4px!important;
  font-size:8px!important;
 }
 .jlit-time-svg{width:18px!important;height:18px!important}

 .jlit-b3d-controls{
  top:50px!important;
  right:8px!important;
  gap:3px!important;
  padding:3px!important;
 }
 .jlit-b3d-controls button{
  min-width:44px!important;
  padding:7px 8px!important;
  font-size:7px!important;
 }

 /* Bottom nav becomes a compact 4-column control deck. */
 .jlit-nav-console{
  left:6px!important;
  right:6px!important;
  bottom:7px!important;
  width:auto!important;
  transform:none!important;
  border-radius:14px!important;
  overflow:visible!important;
 }
 .jlit-nav-console-head{
  display:none!important;
 }
 .jlit-nav-console-body{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:4px!important;
  padding:5px!important;
  overflow:visible!important;
 }
 .jlit-nav-tool,
 .jlit-route-modes,
 .jlit-nav-deals,
 .jlit-nav-directions,
 .jlit-nav-clear{
  min-width:0!important;
  min-height:54px!important;
  border-radius:10px!important;
 }
 .jlit-nav-tool{
  justify-content:center!important;
  padding:5px 3px!important;
  flex-direction:column!important;
  gap:2px!important;
 }
 .jlit-nav-tool>span{
  display:block!important;
  text-align:center!important;
 }
 .jlit-nav-tool strong{
  font-size:7px!important;
  line-height:1!important;
 }
 .jlit-nav-tool small{
  display:none!important;
 }
 .jlit-nav-icon.jlit-svg-icon{
  width:25px!important;height:25px!important;flex-basis:25px!important;
 }

 .jlit-route-modes{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  padding:3px!important;
 }
 .jlit-route-modes button{
  min-width:0!important;
  min-height:46px!important;
  padding:3px 2px!important;
 }
 .jlit-route-modes button i.jlit-svg-icon{
  width:22px!important;height:22px!important;margin-bottom:2px!important;
 }
 .jlit-route-modes button span{
  font-size:6.5px!important;
 }

 /* Hide secondary action labels while routing to preserve map space. */
 .jlit-mobile-nav-active .jlit-nav-deals,
 .jlit-mobile-nav-active .jlit-nav-clear{
  display:none!important;
 }
 .jlit-mobile-nav-active .jlit-nav-console-body{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
 }

 /* Directions becomes a compact bottom sheet instead of a full-height right panel. */
 .jlit-directions-drawer{
  left:6px!important;
  right:6px!important;
  top:auto!important;
  bottom:72px!important;
  width:auto!important;
  max-height:38%!important;
  border-radius:14px!important;
  overflow:hidden!important;
  box-shadow:0 -6px 30px rgba(0,0,0,.48)!important;
 }
 .jlit-directions-head{
  min-height:54px!important;
  padding:8px 10px!important;
 }
 .jlit-directions-title small{
  font-size:7px!important;
 }
 .jlit-directions-title strong{
  margin-top:3px!important;
  font-size:12px!important;
  max-width:180px!important;
 }
 .jlit-directions-title span{
  margin-top:4px!important;
  font-size:9px!important;
 }
 .jlit-directions-body{
  max-height:calc(38vh - 90px)!important;
  overflow:auto!important;
 }
 .jlit-directions-list li{
  min-height:58px!important;
  grid-template-columns:44px 1fr 30px!important;
  padding:6px 7px!important;
 }
 .jlit-directions-list .jlit-turn-icon{
  width:40px!important;
  height:40px!important;
 }
 .jlit-directions-list .jlit-manoeuvre-svg{
  width:25px!important;
  height:25px!important;
 }
 .jlit-directions-list strong{
  font-size:9px!important;
 }
 .jlit-directions-list span{
  font-size:8px!important;
 }
 .jlit-relocate-btn{
  margin:6px 8px!important;
  min-height:46px!important;
  padding:6px 8px!important;
 }
 .jlit-reroute-svg{
  width:28px!important;height:28px!important;
 }
 .jlit-directions-foot{
  padding:5px 7px!important;
 }

 /* Route prompts stay clear of top controls. */
 .jlit-guide-banner.is-yellow,
 .jlit-guide-banner.is-orange{
  top:94px!important;
  width:calc(100% - 18px)!important;
  max-width:none!important;
  min-width:0!important;
  padding:8px 10px!important;
 }
 .jlit-guide-banner strong{
  font-size:11px!important;
 }
 .jlit-guide-banner span{
  font-size:7.5px!important;
 }

 /* Summary strip just above compact nav. */
 .jlit-route-summary{
  bottom:72px!important;
  width:calc(100% - 18px)!important;
  min-width:0!important;
  font-size:8px!important;
  padding:7px 10px!important;
 }
}

/* Extra-small phones: compress even more. */
@media(max-width:420px){
 .jlit-map-key{
  width:82vw!important;
  max-height:42%!important;
 }
 .jlit-time-controls button{
  min-width:52px!important;
  padding:6px 7px!important;
 }
 .jlit-b3d-controls{
  transform:scale(.92);
  transform-origin:top right;
 }
 .jlit-nav-console-body{
  gap:3px!important;
  padding:4px!important;
 }
 .jlit-nav-tool,
 .jlit-route-modes,
 .jlit-nav-deals,
 .jlit-nav-directions,
 .jlit-nav-clear{
  min-height:50px!important;
 }
 .jlit-directions-drawer{
  bottom:67px!important;
  max-height:34%!important;
 }
 .jlit-route-summary{
  bottom:67px!important;
 }
}


/* v2.0.149 — simplified route guidance and lower banner placement. */

/* Guidance appears only after Destination is deliberately pressed, then again
   when the route is ready. Put it clearly inside the map rather than against
   the top control strip. */
.jlit-guide-banner.is-yellow{
 top:122px!important;
}
.jlit-guide-banner.is-orange{
 top:128px!important;
}

/* Keep them visually unmistakable. */
.jlit-guide-banner.is-yellow{
 background:linear-gradient(155deg,#ffda1a 0%,#f0b900 54%,#c98200 100%)!important;
 border:2px solid #fff080!important;
 box-shadow:
   0 15px 34px rgba(0,0,0,.38),
   0 0 0 2px rgba(255,216,31,.18),
   0 0 30px rgba(255,190,0,.46),
   inset 0 1px rgba(255,255,255,.32)!important;
}
.jlit-guide-banner.is-orange{
 background:linear-gradient(155deg,#ff9d38 0%,#f47616 54%,#c54507 100%)!important;
 border:2px solid #ffd08c!important;
 box-shadow:
   0 15px 34px rgba(0,0,0,.38),
   0 0 0 2px rgba(255,125,30,.18),
   0 0 30px rgba(255,102,12,.46),
   inset 0 1px rgba(255,255,255,.28)!important;
}

@media(max-width:900px){
 .jlit-guide-banner.is-yellow{top:112px!important}
 .jlit-guide-banner.is-orange{top:118px!important}
}
@media(max-width:560px){
 .jlit-guide-banner.is-yellow{top:108px!important}
 .jlit-guide-banner.is-orange{top:114px!important}
}


/* v2.0.150 — definitive neon time-control colours.
   Attribute selectors + !important override active/inactive theme rules. */
.jlit-time-controls .jlit-time-btn[data-jlit-time="day"],
.jlit-time-controls .jlit-time-btn[data-jlit-time="day"] span{
 color:#fff200!important;
}
.jlit-time-controls .jlit-time-btn[data-jlit-time="day"] .jlit-time-svg{
 color:#fff200!important;
 background-color:#fff200!important;
 filter:drop-shadow(0 0 4px #fff200) drop-shadow(0 0 8px rgba(255,242,0,.95))!important;
}
.jlit-time-controls .jlit-time-btn[data-jlit-time="day"] span{
 text-shadow:0 0 4px #fff200,0 0 9px #fff200,0 0 16px rgba(255,242,0,.92)!important;
}

.jlit-time-controls .jlit-time-btn[data-jlit-time="dusk"],
.jlit-time-controls .jlit-time-btn[data-jlit-time="dusk"] span{
 color:#ff7a00!important;
}
.jlit-time-controls .jlit-time-btn[data-jlit-time="dusk"] .jlit-time-svg{
 color:#ff7a00!important;
 background-color:#ff7a00!important;
 filter:drop-shadow(0 0 4px #ff7a00) drop-shadow(0 0 8px rgba(255,122,0,.95))!important;
}
.jlit-time-controls .jlit-time-btn[data-jlit-time="dusk"] span{
 text-shadow:0 0 4px #ff7a00,0 0 9px #ff7a00,0 0 16px rgba(255,122,0,.92)!important;
}

.jlit-time-controls .jlit-time-btn[data-jlit-time="night"],
.jlit-time-controls .jlit-time-btn[data-jlit-time="night"] span{
 color:#19c8ff!important;
}
.jlit-time-controls .jlit-time-btn[data-jlit-time="night"] .jlit-time-svg{
 color:#19c8ff!important;
 background-color:#19c8ff!important;
 filter:drop-shadow(0 0 4px #19c8ff) drop-shadow(0 0 8px rgba(25,200,255,.95))!important;
}
.jlit-time-controls .jlit-time-btn[data-jlit-time="night"] span{
 text-shadow:0 0 4px #19c8ff,0 0 9px #19c8ff,0 0 16px rgba(25,200,255,.92)!important;
}

/* Keep neon colours even on the selected button. */
.jlit-time-controls .jlit-time-btn.is-active[data-jlit-time="day"] span,
.jlit-time-controls .jlit-time-btn.is-active[data-jlit-time="dusk"] span,
.jlit-time-controls .jlit-time-btn.is-active[data-jlit-time="night"] span{
 color:inherit!important;
}


/* v2.0.151 — commercial marker/flag structural reset.
   Prevent theme/button CSS from distorting on-map labels and keep each flag
   as one clean, viewport-facing composition. */
.jlit-commercial-marker{
 -webkit-appearance:none!important;
 appearance:none!important;
 display:flex!important;
 padding:0!important;
 margin:0!important;
 border:0!important;
 outline:0!important;
 background:transparent!important;
 box-shadow:none!important;
 color:inherit!important;
 font:inherit!important;
 line-height:1!important;
 width:max-content!important;
 min-width:0!important;
 max-width:none!important;
 height:auto!important;
 overflow:visible!important;
 white-space:normal!important;
 text-align:left!important;
 cursor:pointer!important;
 transform-origin:50% 100%!important;
}

/* Premium Member Offer — one unified tab + offer card + clean locator stem. */
.jlit-commercial-marker.jlit-member-offer{
 --member-gold:#e2a30b!important;
 --member-light:#ffdc61!important;
 position:relative!important;
 display:flex!important;
 flex-direction:column!important;
 align-items:flex-start!important;
 justify-content:flex-start!important;
 width:246px!important;
 padding:0!important;
 filter:drop-shadow(0 7px 13px rgba(0,0,0,.34))!important;
}

.jlit-commercial-marker .jlit-member-tab{
 position:relative!important;
 z-index:4!important;
 display:flex!important;
 align-items:center!important;
 justify-content:flex-start!important;
 width:158px!important;
 min-width:158px!important;
 height:38px!important;
 box-sizing:border-box!important;
 margin:0 0 -5px 10px!important;
 padding:5px 10px!important;
 border:2px solid #e3ab24!important;
 border-radius:10px 10px 6px 6px!important;
 background:linear-gradient(180deg,#fffef8,#fff7dc)!important;
 color:#a66f00!important;
 font:900 10px/1 Arial,sans-serif!important;
 letter-spacing:.8px!important;
 white-space:nowrap!important;
 box-shadow:0 3px 8px rgba(0,0,0,.20),0 0 0 2px rgba(255,220,104,.22)!important;
 overflow:visible!important;
}
.jlit-commercial-marker .jlit-member-tab b{
 display:grid!important;
 place-items:center!important;
 flex:0 0 22px!important;
 width:22px!important;
 height:22px!important;
 margin:0 7px 0 0!important;
 padding:0!important;
 border-radius:50%!important;
 background:linear-gradient(180deg,#ffe98e,#e3a50c)!important;
 color:#fff!important;
 font:900 13px/1 Arial!important;
 box-shadow:0 0 0 2px #fff,0 1px 6px rgba(182,124,0,.45)!important;
}

.jlit-commercial-marker .jlit-member-banner{
 position:relative!important;
 z-index:3!important;
 display:block!important;
 box-sizing:border-box!important;
 width:246px!important;
 min-width:246px!important;
 max-width:246px!important;
 min-height:68px!important;
 margin:0!important;
 padding:14px 42px 13px 17px!important;
 overflow:hidden!important;
 border:3px solid #ffe185!important;
 border-radius:12px!important;
 background:linear-gradient(145deg,#f7bd24 0%,#db9708 52%,#b67200 100%)!important;
 box-shadow:
   inset 0 0 0 2px rgba(119,70,0,.22),
   inset 0 1px rgba(255,255,255,.42),
   0 8px 20px rgba(70,40,0,.32)!important;
}
.jlit-commercial-marker .jlit-member-banner:before{
 content:""!important;
 position:absolute!important;
 inset:4px!important;
 border:1px solid rgba(255,246,193,.46)!important;
 border-radius:7px!important;
 pointer-events:none!important;
}
.jlit-commercial-marker .jlit-member-banner:after{
 content:"›"!important;
 position:absolute!important;
 z-index:4!important;
 right:14px!important;
 top:50%!important;
 transform:translateY(-50%)!important;
 color:#fff8d1!important;
 font:300 32px/1 Arial!important;
 text-shadow:0 1px 3px rgba(75,42,0,.38)!important;
}
.jlit-commercial-marker .jlit-member-banner strong{
 position:relative!important;
 z-index:3!important;
 display:block!important;
 margin:0!important;
 color:#fff!important;
 font:900 17px/1.08 Arial,sans-serif!important;
 letter-spacing:.1px!important;
 text-shadow:0 2px 3px rgba(91,52,0,.48)!important;
 white-space:nowrap!important;
 overflow:hidden!important;
 text-overflow:ellipsis!important;
}
.jlit-commercial-marker .jlit-member-banner em{
 position:relative!important;
 z-index:3!important;
 display:block!important;
 margin:6px 0 0!important;
 color:#fffdf2!important;
 font:900 10px/1 Arial,sans-serif!important;
 font-style:normal!important;
 text-transform:uppercase!important;
 letter-spacing:.3px!important;
 white-space:nowrap!important;
 overflow:hidden!important;
 text-overflow:ellipsis!important;
}
.jlit-commercial-marker .jlit-member-shine{
 position:absolute!important;
 z-index:1!important;
 inset:0!important;
 pointer-events:none!important;
 background:linear-gradient(110deg,rgba(255,255,255,.18),transparent 34%,transparent 68%,rgba(255,255,255,.07))!important;
}

.jlit-commercial-marker .jlit-member-leader{
 position:relative!important;
 z-index:2!important;
 display:block!important;
 flex:0 0 42px!important;
 width:3px!important;
 height:42px!important;
 margin:0 0 0 19px!important;
 background:repeating-linear-gradient(to bottom,#ffd75a 0 6px,transparent 6px 11px)!important;
 filter:drop-shadow(0 1px 2px rgba(120,75,0,.40))!important;
}
.jlit-commercial-marker .jlit-member-target{
 position:relative!important;
 z-index:3!important;
 display:block!important;
 flex:0 0 13px!important;
 width:13px!important;
 height:13px!important;
 box-sizing:border-box!important;
 margin:-1px 0 0 14px!important;
 border:3px solid #e2a30b!important;
 border-radius:50%!important;
 background:#fff!important;
 box-shadow:0 0 0 2px #fff,0 2px 5px rgba(0,0,0,.28)!important;
}

/* Tours get the same structural reset so generic button CSS cannot break them. */
.jlit-commercial-marker.jlit-tour-marker{
 display:flex!important;
 flex-direction:column!important;
 align-items:center!important;
 width:190px!important;
 overflow:visible!important;
}
.jlit-commercial-marker .jlit-tour-flag{
 box-sizing:border-box!important;
 width:190px!important;
 min-width:190px!important;
 max-width:190px!important;
 margin:0!important;
 overflow:visible!important;
}
.jlit-commercial-marker .jlit-tour-leader{
 flex:0 0 34px!important;
 height:34px!important;
}
.jlit-commercial-marker .jlit-tour-target{
 flex:0 0 11px!important;
}

/* Ordinary location labels stay compact and cannot inherit button styling. */
.jlit-landmark-marker,
.jlit-location-marker{
 -webkit-appearance:none!important;
 appearance:none!important;
 max-width:none!important;
 overflow:visible!important;
}

/* MapLibre's own popup close button remains separate from the JLIT marker;
   keep it from visually sitting over a commercial flag if a popup is open. */
.maplibregl-popup{
 z-index:65!important;
}
.maplibregl-popup-close-button{
 width:24px!important;
 height:24px!important;
 line-height:22px!important;
 border-radius:50%!important;
 margin:4px!important;
 background:rgba(8,22,31,.88)!important;
 color:#fff!important;
 font-size:16px!important;
 box-shadow:0 2px 7px rgba(0,0,0,.25)!important;
}

/* Compact but still intact on mobile. */
@media(max-width:760px){
 .jlit-commercial-marker.jlit-member-offer{
  transform:scale(.82)!important;
  transform-origin:50% 100%!important;
 }
 .jlit-commercial-marker.jlit-tour-marker{
  transform:scale(.80)!important;
  transform-origin:50% 100%!important;
 }
}


/* v2.0.152 — detached Member Offer detail card.
   The map marker stays visible; the business/deal card lives in a stable screen
   position and never covers the gold flag itself. */
.jlit-deal-card{
 position:absolute!important;
 z-index:69!important;
 top:112px!important;
 left:404px!important;
 width:292px!important;
 display:grid!important;
 grid-template-columns:92px 1fr!important;
 gap:0!important;
 opacity:0!important;
 visibility:hidden!important;
 pointer-events:none!important;
 transform:translateY(-7px)!important;
 border:1px solid #d8a72a!important;
 border-radius:14px!important;
 overflow:hidden!important;
 background:linear-gradient(180deg,#fffdf7,#f6f0df)!important;
 box-shadow:0 16px 36px rgba(0,0,0,.36),0 0 0 2px rgba(255,205,56,.12)!important;
 transition:opacity .16s ease,transform .16s ease,visibility .16s ease!important;
 font-family:Arial,sans-serif!important;
}
.jlit-deal-card.is-open{
 opacity:1!important;
 visibility:visible!important;
 pointer-events:auto!important;
 transform:translateY(0)!important;
}
.jlit-deal-card-close{
 position:absolute!important;
 z-index:4!important;
 right:7px!important;
 top:7px!important;
 width:25px!important;
 height:25px!important;
 padding:0!important;
 border:1px solid rgba(255,255,255,.32)!important;
 border-radius:50%!important;
 background:rgba(8,21,28,.78)!important;
 color:#fff!important;
 font:700 16px/22px Arial!important;
 cursor:pointer!important;
 box-shadow:0 2px 8px rgba(0,0,0,.24)!important;
}
.jlit-deal-card-photo{
 position:relative!important;
 min-height:122px!important;
 background:
  radial-gradient(circle at 48% 34%,rgba(255,225,109,.28),transparent 28%),
  linear-gradient(145deg,#152c3a,#07141d)!important;
 background-position:center!important;
 background-size:cover!important;
 display:flex!important;
 align-items:flex-end!important;
 justify-content:center!important;
 padding:10px 7px!important;
 box-sizing:border-box!important;
}
.jlit-deal-card-photo:before{
 content:"★"!important;
 position:absolute!important;
 left:50%!important;
 top:35%!important;
 transform:translate(-50%,-50%)!important;
 display:grid!important;
 place-items:center!important;
 width:38px!important;
 height:38px!important;
 border-radius:50%!important;
 background:linear-gradient(180deg,#ffe67a,#d99a05)!important;
 color:#fff!important;
 font:900 20px/1 Arial!important;
 box-shadow:0 0 0 2px #fff,0 0 16px rgba(255,190,28,.48)!important;
}
.jlit-deal-card-photo.has-photo:before,
.jlit-deal-card-photo.has-photo span{display:none!important}
.jlit-deal-card-photo span{
 color:#ffe590!important;
 font:900 7px/1.1 Arial!important;
 letter-spacing:.8px!important;
 text-align:center!important;
}
.jlit-deal-card-content{
 min-width:0!important;
 padding:13px 15px 12px!important;
 background:linear-gradient(180deg,#fffefb,#f8f0dc)!important;
}
.jlit-deal-card-content small{
 display:block!important;
 padding-right:24px!important;
 color:#b07b00!important;
 font:900 7px/1 Arial!important;
 letter-spacing:1px!important;
}
.jlit-deal-card-content strong{
 display:block!important;
 margin-top:7px!important;
 padding-right:18px!important;
 color:#15212a!important;
 font:900 16px/1.05 Arial!important;
}
.jlit-deal-card-content>span{
 display:block!important;
 margin-top:5px!important;
 color:#805900!important;
 font:900 10px/1.15 Arial!important;
 text-transform:uppercase!important;
}
.jlit-deal-card-cta{
 display:block!important;
 margin-top:11px!important;
 padding:10px 11px!important;
 border-radius:8px!important;
 background:linear-gradient(180deg,#dca10b,#b87500)!important;
 color:#fff!important;
 font:900 10px/1 Arial!important;
 letter-spacing:.5px!important;
 text-align:center!important;
 text-decoration:none!important;
 box-shadow:inset 0 1px rgba(255,255,255,.28),0 3px 8px rgba(83,49,0,.22)!important;
}
.jlit-deal-card-cta:hover{
 background:linear-gradient(180deg,#edb51f,#c88700)!important;
 color:#fff!important;
}
.jlit-deal-card-cta.is-disabled{
 opacity:.45!important;
 pointer-events:none!important;
}

/* If the viewport is narrower, anchor the deal card to the free map area
   rather than letting it overlap the key or directions panel. */
@media(max-width:1050px){
 .jlit-deal-card{
  left:auto!important;
  right:16px!important;
  top:120px!important;
 }
}
@media(max-width:760px){
 .jlit-deal-card{
  left:8px!important;
  right:8px!important;
  top:104px!important;
  width:auto!important;
  grid-template-columns:82px 1fr!important;
 }
 .jlit-deal-card-photo{min-height:108px!important}
 .jlit-mobile-nav-active .jlit-deal-card{top:104px!important}
}


/* v2.0.153 — restore the full guided pulse sequence.
   Locate = blue. Destination = orange. Directions = orange after route ready.
   The post-location Destination step deliberately has NO banner until the user
   actually presses Destination. */

/* Destination must read as a strong orange action, not the old yellow frame. */
@keyframes jlitHardPulseDestinationOrange{
 0%{
  transform:scale(1);
  opacity:1;
  border-width:6px;
  box-shadow:
   0 0 0 2px rgba(255,244,230,.96),
   0 0 14px #ff8b21,
   0 0 29px rgba(255,120,24,.94)
 }
 45%{
  transform:scale(1.075);
  opacity:.98;
  border-width:8px;
  box-shadow:
   0 0 0 3px rgba(255,247,235,.98),
   0 0 28px #ff8b21,
   0 0 56px rgba(255,111,16,1)
 }
 100%{
  transform:scale(1);
  opacity:1;
  border-width:6px;
  box-shadow:
   0 0 0 2px rgba(255,244,230,.96),
   0 0 14px #ff8b21,
   0 0 29px rgba(255,120,24,.94)
 }
}
.jlit-guide-destination .jlit-nav-destination-tool{
 border:3px solid #ffad5e!important;
 background:linear-gradient(180deg,#5a3307,#2e1c06)!important;
 z-index:25!important;
 overflow:visible!important;
 isolation:isolate!important;
}
.jlit-guide-destination .jlit-nav-destination-tool:before{
 content:""!important;
 display:block!important;
 position:absolute!important;
 z-index:20!important;
 pointer-events:none!important;
 top:-7px!important;
 right:-7px!important;
 bottom:-7px!important;
 left:-7px!important;
 border-style:solid!important;
 border-color:#ff8b21!important;
 border-radius:15px!important;
 transform-origin:center!important;
 box-sizing:border-box!important;
 animation:jlitHardPulseDestinationOrange .72s ease-in-out infinite!important;
}

/* The destination icon itself should echo the orange pulse while this step is active. */
.jlit-guide-destination .jlit-nav-destination-tool .jlit-nav-icon{
 background-color:#ffd0a1!important;
}

/* Keep the yellow instructional banner yellow after the user presses Destination.
   Only the button pulse is orange. */
.jlit-guide-banner.is-yellow{
 background:linear-gradient(155deg,#ffdc20 0%,#efb600 54%,#c78300 100%)!important;
 border-color:#fff085!important;
}

/* Route-ready Directions pulse remains strong orange. */
.jlit-guide-directions .jlit-nav-directions:not(:disabled):before{
 border-color:#ff781e!important;
 animation:jlitHardPulseOrange .72s ease-in-out infinite!important;
}

@media(prefers-reduced-motion:reduce){
 .jlit-guide-destination .jlit-nav-destination-tool:before{
  animation:none!important;
  transform:scale(1.035)!important;
  border-width:7px!important;
 }
}


/* v2.0.154 — Stage 1: interactive layer panel. */
.jlit-marker-key{
 width:272px!important;
 background:linear-gradient(180deg,rgba(9,25,36,.985),rgba(4,14,22,.985))!important;
 border:1px solid #36566a!important;
 border-radius:15px!important;
 box-shadow:0 18px 44px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.055)!important;
 overflow:auto!important;
 scrollbar-width:thin;
 scrollbar-color:#557789 transparent;
}
.jlit-key-titlebar{
 position:sticky!important;top:0!important;z-index:4!important;
 min-height:64px!important;
 display:flex!important;align-items:center!important;justify-content:space-between!important;
 padding:12px 12px 11px!important;
 background:linear-gradient(180deg,#18384b,#102837)!important;
 border-bottom:1px solid #35566a!important;
}
.jlit-key-titlebar>div{min-width:0!important}
.jlit-key-titlebar small{
 display:block!important;
 color:#6ddcff!important;
 font:900 7px/1 Arial!important;
 letter-spacing:1.4px!important;
}
.jlit-key-titlebar strong{
 display:block!important;
 margin-top:6px!important;
 color:#fff!important;
 font:900 11px/1.08 Arial!important;
 letter-spacing:.35px!important;
}
.jlit-key-collapse{
 width:31px!important;height:31px!important;flex:0 0 31px!important;
 padding:0!important;border:1px solid #4e7084!important;border-radius:9px!important;
 background:#0a202d!important;color:#d8edf6!important;
 font:900 21px/28px Arial!important;cursor:pointer!important;
}

.jlit-key-group{padding:9px 9px 4px!important;border:0!important}
.jlit-key-group-title{
 display:block!important;padding:0 4px 7px!important;
 color:#7895a5!important;font:900 6.5px/1 Arial!important;letter-spacing:1.5px!important;
}

.jlit-key-row{
 --layer:#44c7ee;
 position:relative!important;
 display:grid!important;
 grid-template-columns:minmax(0,1fr) 28px 37px!important;
 align-items:center!important;
 gap:7px!important;
 min-height:55px!important;
 margin:0 0 7px!important;
 padding:0!important;
 border:1px solid #294657!important;
 border-radius:11px!important;
 background:linear-gradient(180deg,#102938,#0b1e2a)!important;
 overflow:hidden!important;
 transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,opacity .16s ease!important;
}
.jlit-key-row:before{
 content:""!important;position:absolute!important;left:0!important;top:7px!important;bottom:7px!important;
 width:3px!important;border-radius:0 3px 3px 0!important;background:var(--layer)!important;
 opacity:.9!important;
}
.jlit-key-row.is-on{
 border-color:color-mix(in srgb,var(--layer) 55%,#294657)!important;
 box-shadow:inset 0 1px rgba(255,255,255,.035),0 0 12px color-mix(in srgb,var(--layer) 13%,transparent)!important;
}
.jlit-key-row.is-off{opacity:.58!important;background:#0a1b25!important}
.jlit-key-row:hover{border-color:var(--layer)!important}

.jlit-key-layer-main{
 -webkit-appearance:none!important;appearance:none!important;
 display:flex!important;align-items:center!important;gap:10px!important;
 min-width:0!important;width:100%!important;min-height:53px!important;
 padding:7px 5px 7px 10px!important;
 border:0!important;background:transparent!important;color:#fff!important;
 text-align:left!important;cursor:pointer!important;
}
.jlit-key-row .jlit-key-icon{
 width:27px!important;height:27px!important;flex:0 0 27px!important;
 background-color:var(--layer)!important;color:var(--layer)!important;
 filter:drop-shadow(0 0 5px color-mix(in srgb,var(--layer) 50%,transparent))!important;
}
.jlit-key-parking-icon{
 display:grid!important;place-items:center!important;border-radius:50%!important;
 color:#fff!important;background:var(--layer)!important;
 font:900 14px/1 Arial!important;
}
.jlit-key-copy{display:block!important;min-width:0!important}
.jlit-key-copy strong{
 display:block!important;color:#f4fbff!important;
 font:900 9px/1 Arial!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.jlit-key-copy small{
 display:block!important;margin-top:4px!important;color:#7f9aa9!important;
 font:700 6.5px/1 Arial!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.jlit-key-count{
 display:grid!important;place-items:center!important;
 min-width:24px!important;height:22px!important;border-radius:7px!important;
 background:#081923!important;border:1px solid #294453!important;
 color:#cce0e9!important;font:900 8px/1 Arial!important;
}

.jlit-layer-switch{
 position:relative!important;width:34px!important;height:20px!important;padding:0!important;
 border:1px solid #46606f!important;border-radius:999px!important;
 background:#273b47!important;cursor:pointer!important;
 box-shadow:inset 0 2px 5px rgba(0,0,0,.28)!important;
}
.jlit-layer-switch span{
 position:absolute!important;left:3px!important;top:3px!important;width:12px!important;height:12px!important;
 border-radius:50%!important;background:#9db1bc!important;
 box-shadow:0 1px 3px rgba(0,0,0,.35)!important;
 transition:transform .18s ease,background .18s ease,box-shadow .18s ease!important;
}
.jlit-key-row.is-on .jlit-layer-switch{
 background:color-mix(in srgb,var(--layer) 35%,#102431)!important;
 border-color:var(--layer)!important;
 box-shadow:0 0 9px color-mix(in srgb,var(--layer) 38%,transparent),inset 0 2px 5px rgba(0,0,0,.18)!important;
}
.jlit-key-row.is-on .jlit-layer-switch span{
 transform:translateX(14px)!important;background:#fff!important;
 box-shadow:0 0 6px #fff,0 0 10px color-mix(in srgb,var(--layer) 65%,transparent)!important;
}

.jlit-key-premium{--layer:#f5c629!important}
.jlit-key-tour{--layer:#2f9dff!important}
.jlit-key-attraction{--layer:#ff4c62!important}
.jlit-key-dining{--layer:#ff8126!important}
.jlit-key-shopping{--layer:#b65cff!important}
.jlit-key-accommodation{--layer:#3ed6da!important}
.jlit-key-transit{--layer:#ff4f69!important}
.jlit-key-ferry{--layer:#31c9f1!important}
.jlit-key-hospital{--layer:#36df75!important}
.jlit-key-parking{--layer:#4b9cff!important}

.jlit-key-actions{
 display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;
 padding:7px 9px 10px!important;
}
.jlit-key-show-all,.jlit-key-hide{
 min-height:34px!important;padding:7px 8px!important;
 border:1px solid #355568!important;border-radius:9px!important;
 background:#0b202c!important;color:#bcd1dc!important;
 font:900 7px/1 Arial!important;letter-spacing:.35px!important;cursor:pointer!important;
}
.jlit-key-show-all:hover,.jlit-key-hide:hover{border-color:#55cfee!important;color:#fff!important}

/* Mobile: tapping a layer focus closes the drawer; menu reopens it. */
@media(max-width:760px){
 .jlit-marker-key{width:min(86vw,300px)!important;max-height:58%!important}
 .jlit-key-row{grid-template-columns:minmax(0,1fr) 27px 36px!important}
 .jlit-key-copy strong{font-size:9px!important}
}

/* Explicit hidden state must win over the panel's display rules. */
.jlit-b3d-shell.jlit-key-hidden .jlit-marker-key{
 opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateX(-18px)!important;
}


/* v2.0.155 — Stage 2: directory-driven premium place/deal panel. */
.jlit-deal-card{
 position:absolute!important;
 z-index:69!important;
 top:92px!important;
 right:16px!important;
 left:auto!important;
 width:350px!important;
 display:block!important;
 opacity:0!important;
 visibility:hidden!important;
 pointer-events:none!important;
 transform:translateX(16px)!important;
 border:1px solid #3c5c70!important;
 border-radius:16px!important;
 overflow:hidden!important;
 background:linear-gradient(180deg,#0b1d29,#061018)!important;
 box-shadow:0 20px 48px rgba(0,0,0,.50),inset 0 1px rgba(255,255,255,.05)!important;
 transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
 font-family:Arial,sans-serif!important;
 color:#fff!important;
}
.jlit-deal-card.is-open{
 opacity:1!important;
 visibility:visible!important;
 pointer-events:auto!important;
 transform:translateX(0)!important;
}
.jlit-deal-card.is-loading:after{
 content:"UPDATING FROM JLIT LISTING…"!important;
 position:absolute!important;left:12px!important;top:12px!important;z-index:6!important;
 padding:5px 7px!important;border-radius:6px!important;
 background:rgba(4,15,22,.80)!important;color:#8fdcf5!important;
 font:900 6px/1 Arial!important;letter-spacing:.8px!important;
}
.jlit-deal-card-close{
 position:absolute!important;z-index:8!important;right:9px!important;top:9px!important;
 width:30px!important;height:30px!important;padding:0!important;
 border:1px solid #4c6a7a!important;border-radius:9px!important;
 background:rgba(4,16,23,.88)!important;color:#e7f4fa!important;
 font:700 18px/27px Arial!important;cursor:pointer!important;
 box-shadow:0 3px 10px rgba(0,0,0,.28)!important;
}
.jlit-deal-card-hero{
 position:relative!important;height:150px!important;
 overflow:hidden!important;background:linear-gradient(145deg,#173442,#07151e)!important;
}
.jlit-deal-card-hero img{
 display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;
}
.jlit-deal-card-hero:after{
 content:""!important;position:absolute!important;inset:0!important;pointer-events:none!important;
 background:linear-gradient(to bottom,transparent 54%,rgba(6,16,24,.34) 78%,rgba(6,16,24,.82) 100%)!important;
}
.jlit-deal-card-hero-fallback{
 position:absolute!important;inset:0!important;display:flex!important;flex-direction:column!important;
 align-items:center!important;justify-content:center!important;gap:10px!important;
 background:
  radial-gradient(circle at 50% 40%,rgba(255,204,46,.18),transparent 28%),
  linear-gradient(145deg,#173442,#07151e)!important;
}
.jlit-deal-card-hero-fallback.is-hidden{display:none!important}
.jlit-deal-card-hero-fallback>span{
 display:grid!important;place-items:center!important;width:48px!important;height:48px!important;border-radius:50%!important;
 background:linear-gradient(180deg,#ffe777,#d69905)!important;color:#fff!important;
 font:900 24px/1 Arial!important;box-shadow:0 0 0 2px #fff,0 0 20px rgba(255,192,29,.46)!important;
}
.jlit-deal-card-hero-fallback small{
 color:#ffe494!important;font:900 8px/1 Arial!important;letter-spacing:1px!important;
}
.jlit-deal-card-content{padding:14px 15px 15px!important}
.jlit-deal-eyebrow{
 display:block!important;color:#f4c429!important;font:900 8px/1 Arial!important;letter-spacing:1.1px!important;
}
.jlit-deal-title{
 display:block!important;margin-top:7px!important;color:#fff!important;
 font:900 22px/1.04 Arial!important;letter-spacing:-.25px!important;
}
.jlit-deal-offer{
 display:flex!important;align-items:center!important;gap:8px!important;margin-top:11px!important;
 color:#ffd22f!important;
}
.jlit-deal-offer>span{
 display:grid!important;place-items:center!important;width:25px!important;height:25px!important;flex:0 0 25px!important;
 border-radius:50%!important;background:#d99c06!important;color:#fff!important;font:900 13px/1 Arial!important;
 box-shadow:0 0 0 2px #fff6c7,0 0 10px rgba(255,190,22,.35)!important;
}
.jlit-deal-offer b{
 color:#fff!important;font:900 14px/1.05 Arial!important;text-transform:uppercase!important;
}
.jlit-deal-meta,.jlit-deal-distance{
 margin:8px 0 0!important;color:#9fb5c1!important;font:700 9px/1.25 Arial!important;
}
.jlit-deal-distance{color:#d2e3ea!important}
.jlit-deal-thumbs{
 display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:5px!important;margin-top:12px!important;
}
.jlit-deal-thumbs.is-empty{display:none!important}
.jlit-deal-thumb{
 -webkit-appearance:none!important;appearance:none!important;
 height:48px!important;padding:0!important;border:1px solid #365260!important;border-radius:7px!important;
 overflow:hidden!important;background:#102630!important;cursor:pointer!important;
}
.jlit-deal-thumb img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.jlit-deal-thumb:hover{border-color:#72d8f3!important}
.jlit-deal-card-actions{
 display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:13px!important;
}
.jlit-deal-card-cta,.jlit-deal-card-directions{
 min-height:46px!important;display:flex!important;align-items:center!important;justify-content:center!important;
 padding:0 12px!important;border-radius:9px!important;text-decoration:none!important;
 font:900 10px/1 Arial!important;letter-spacing:.35px!important;cursor:pointer!important;
}
.jlit-deal-card-cta{
 border:1px solid #ffe06a!important;
 background:linear-gradient(180deg,#ffd84b,#e3a714)!important;color:#2d2100!important;
 box-shadow:inset 0 1px rgba(255,255,255,.44),0 4px 12px rgba(85,56,0,.24)!important;
}
.jlit-deal-card-directions{
 border:1px solid #3ed5ff!important;
 background:linear-gradient(180deg,#1aaad9,#0877a4)!important;color:#fff!important;
 box-shadow:inset 0 1px rgba(255,255,255,.15),0 4px 12px rgba(0,88,126,.30)!important;
}
.jlit-deal-card-cta:hover{background:linear-gradient(180deg,#ffe267,#ecb41f)!important}
.jlit-deal-card-directions:hover{background:linear-gradient(180deg,#29bdeb,#0b88ba)!important}
.jlit-deal-card-cta.is-disabled{opacity:.45!important;pointer-events:none!important}

/* When directions are open, the navigation drawer owns the right edge. */
.jlit-directions-open .jlit-deal-card{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

/* Mobile: same information architecture becomes a compact bottom sheet. */
@media(max-width:760px){
 .jlit-deal-card{
  left:6px!important;right:6px!important;top:auto!important;bottom:72px!important;width:auto!important;
  max-height:58%!important;overflow:auto!important;border-radius:15px!important;
  transform:translateY(14px)!important;
 }
 .jlit-deal-card.is-open{transform:translateY(0)!important}
 .jlit-deal-card-hero{height:118px!important}
 .jlit-deal-card-content{padding:11px 12px 12px!important}
 .jlit-deal-title{font-size:18px!important}
 .jlit-deal-thumb{height:42px!important}
 .jlit-deal-card-actions{position:sticky!important;bottom:0!important;background:#061018!important;padding-top:8px!important}
}


/* v2.0.156 — Stage 3: contextual, transforming navigation dock.
   The routing engine is unchanged; only the visible control set changes by task. */

.jlit-nav-console{
 left:50%!important;
 right:auto!important;
 bottom:12px!important;
 width:min(760px,calc(100% - 34px))!important;
 transform:translateX(-50%)!important;
 transition:width .22s ease,background .22s ease,border-color .22s ease!important;
}
.jlit-nav-console-body{
 display:grid!important;
 align-items:stretch!important;
 grid-template-columns:1fr 1.6fr!important;
 gap:6px!important;
 padding:7px!important;
}
.jlit-nav-brand,
.jlit-nav-deals,
.jlit-nav-clear,
.jlit-route-modes,
.jlit-nav-directions{
 display:none!important;
}
.jlit-nav-locate,
.jlit-nav-destination-tool{
 display:flex!important;
 min-height:62px!important;
}

/* Stage 0: opening state — one strong My Location action plus Where To? visibly disabled. */
.jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-console{
 width:min(650px,calc(100% - 34px))!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-destination-tool{
 opacity:.38!important;
 pointer-events:none!important;
 filter:saturate(.4)!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-locate{
 background:linear-gradient(180deg,#12384a,#0b2634)!important;
}

/* Location acquired — navigation becomes the simple MY LOCATION + WHERE TO? bar. */
.jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-console{
 width:min(720px,calc(100% - 34px))!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-locate{
 border-color:#23647c!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-locate b:after{
 content:"  ✓"!important;
 color:#4de19a!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-destination-tool{
 background:linear-gradient(180deg,#182b35,#0c1c25)!important;
}

/* Where To? pressed — keep the same two-control bar; destination is visibly active. */
.jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-console{
 width:min(720px,calc(100% - 34px))!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-destination-tool{
 background:linear-gradient(180deg,#54310b,#2d1c08)!important;
}

/* While route is being built, simplify to destination + travel mode; no redundant controls. */
.jlit-b3d-shell[data-jlit-nav-stage="routing"] .jlit-nav-console-body{
 grid-template-columns:1.35fr 1fr!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="routing"] .jlit-nav-locate{display:none!important}
.jlit-b3d-shell[data-jlit-nav-stage="routing"] .jlit-nav-destination-tool{display:flex!important}
.jlit-b3d-shell[data-jlit-nav-stage="routing"] .jlit-route-modes{display:grid!important}

/* Route exists — transform completely into journey controls. */
.jlit-b3d-shell[data-jlit-nav-stage="route"] .jlit-nav-console{
 width:min(690px,calc(100% - 34px))!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="route"] .jlit-nav-console-body{
 grid-template-columns:1.05fr 1.55fr .8fr!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="route"] .jlit-nav-locate,
.jlit-b3d-shell[data-jlit-nav-stage="route"] .jlit-nav-destination-tool{
 display:none!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="route"] .jlit-route-modes{
 display:grid!important;
 grid-template-columns:1fr 1fr!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="route"] .jlit-nav-directions,
.jlit-b3d-shell[data-jlit-nav-stage="route"] .jlit-nav-clear{
 display:flex!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="route"] .jlit-nav-directions{
 background:linear-gradient(180deg,#0e7ca5,#075875)!important;
 border-color:#35cef7!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="route"] .jlit-nav-directions b{
 font-size:10px!important;
}

/* Active directions — route controls become secondary; directions drawer owns the task. */
.jlit-b3d-shell[data-jlit-nav-stage="active"] .jlit-nav-console{
 width:min(520px,calc(100% - 34px))!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="active"] .jlit-nav-console-body{
 grid-template-columns:1fr .72fr!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="active"] .jlit-nav-locate,
.jlit-b3d-shell[data-jlit-nav-stage="active"] .jlit-nav-destination-tool,
.jlit-b3d-shell[data-jlit-nav-stage="active"] .jlit-route-modes,
.jlit-b3d-shell[data-jlit-nav-stage="active"] .jlit-nav-deals{
 display:none!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="active"] .jlit-nav-directions,
.jlit-b3d-shell[data-jlit-nav-stage="active"] .jlit-nav-clear{
 display:flex!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="active"] .jlit-nav-directions b:after{
 content:" OPEN"!important;
 color:#7ee7ff!important;
}

/* Contextual cards are deliberately roomier than the old seven-column dock. */
.jlit-nav-tool{
 min-height:62px!important;
 padding:8px 14px!important;
}
.jlit-nav-tool b{
 font-size:10px!important;
 letter-spacing:.45px!important;
}
.jlit-nav-tool small{
 margin-top:4px!important;
 font-size:7px!important;
}
.jlit-route-modes{
 min-height:62px!important;
 border-radius:11px!important;
 overflow:hidden!important;
}
.jlit-route-modes button{
 min-height:60px!important;
}

/* Route summary moves with the narrower contextual dock. */
.jlit-route-summary{
 bottom:90px!important;
 max-width:560px!important;
}

/* Mobile uses the same state model rather than a permanently packed toolbar. */
@media(max-width:760px){
 .jlit-nav-console{
  left:6px!important;
  right:6px!important;
  bottom:7px!important;
  width:auto!important;
  transform:none!important;
 }
 .jlit-nav-console-body{
  grid-template-columns:1fr 1.35fr!important;
  gap:4px!important;
  padding:5px!important;
 }
 .jlit-nav-locate,.jlit-nav-destination-tool{
  min-height:56px!important;
 }
 .jlit-nav-tool{
  flex-direction:row!important;
  justify-content:flex-start!important;
  gap:7px!important;
  padding:6px 8px!important;
 }
 .jlit-nav-tool>span{display:block!important;text-align:left!important}
 .jlit-nav-tool b{font-size:8px!important}
 .jlit-nav-tool small{display:block!important;font-size:6px!important}
 .jlit-nav-icon.jlit-svg-icon{width:25px!important;height:25px!important;flex-basis:25px!important}

 .jlit-b3d-shell[data-jlit-nav-stage="route"] .jlit-nav-console-body{
  grid-template-columns:1fr 1.25fr .64fr!important;
 }
 .jlit-b3d-shell[data-jlit-nav-stage="route"] .jlit-nav-clear span,
 .jlit-b3d-shell[data-jlit-nav-stage="active"] .jlit-nav-clear span{
  display:none!important;
 }
 .jlit-b3d-shell[data-jlit-nav-stage="route"] .jlit-nav-clear,
 .jlit-b3d-shell[data-jlit-nav-stage="active"] .jlit-nav-clear{
  justify-content:center!important;
  padding:5px!important;
 }
 .jlit-b3d-shell[data-jlit-nav-stage="active"] .jlit-nav-console-body{
  grid-template-columns:1fr 58px!important;
 }
 .jlit-route-summary{
  bottom:76px!important;
  width:calc(100% - 20px)!important;
  max-width:none!important;
 }
}


/* v2.0.157 — Stage 4: consolidated top experience bar. */
.jlit-experience-bar{
 position:absolute!important;
 z-index:72!important;
 top:10px!important;
 left:14px!important;
 right:14px!important;
 min-height:58px!important;
 display:grid!important;
 grid-template-columns:auto auto minmax(220px,1fr) auto auto!important;
 align-items:center!important;
 gap:9px!important;
 padding:6px!important;
 border:1px solid #38576a!important;
 border-radius:16px!important;
 background:linear-gradient(180deg,rgba(10,27,39,.97),rgba(5,17,25,.97))!important;
 box-shadow:0 12px 32px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.055)!important;
 backdrop-filter:blur(10px)!important;
 font-family:Arial,sans-serif!important;
}
.jlit-experience-brand{
 display:flex!important;align-items:center!important;gap:8px!important;
 padding:4px 9px 4px 5px!important;border-right:1px solid #294453!important;
}
.jlit-experience-brand-mark{
 display:grid!important;place-items:center!important;width:34px!important;height:34px!important;
 border-radius:10px!important;background:linear-gradient(145deg,#f03646,#a10c1b)!important;color:#fff!important;
 font:900 17px/1 Arial!important;box-shadow:inset 0 1px rgba(255,255,255,.25),0 3px 10px rgba(0,0,0,.25)!important;
}
.jlit-experience-brand strong{
 display:block!important;color:#fff!important;font:900 10px/1 Arial!important;letter-spacing:.7px!important;white-space:nowrap!important;
}
.jlit-experience-brand small{
 display:block!important;margin-top:4px!important;color:#7894a3!important;font:700 6.5px/1 Arial!important;white-space:nowrap!important;
}

.jlit-experience-tabs{
 display:flex!important;align-items:center!important;gap:3px!important;
}
.jlit-experience-tabs button{
 min-height:37px!important;padding:0 10px!important;border:1px solid transparent!important;border-radius:9px!important;
 background:transparent!important;color:#89a3b1!important;font:900 7px/1 Arial!important;letter-spacing:.6px!important;cursor:pointer!important;
}
.jlit-experience-tabs button:hover{
 color:#fff!important;background:#102b3b!important;border-color:#2e5063!important;
}
.jlit-experience-tabs button.is-active{
 color:#fff!important;background:linear-gradient(180deg,#1b4358,#102d3e)!important;border-color:#4c7185!important;
 box-shadow:inset 0 1px rgba(255,255,255,.07),0 0 10px rgba(55,178,222,.10)!important;
}

.jlit-experience-search{
 position:relative!important;display:grid!important;grid-template-columns:24px minmax(0,1fr) 34px!important;
 align-items:center!important;min-width:0!important;height:40px!important;
 border:1px solid #355568!important;border-radius:11px!important;background:#071923!important;
}
.jlit-experience-search>i{
 display:grid!important;place-items:center!important;color:#67cdeb!important;font:900 17px/1 Arial!important;font-style:normal!important;
}
.jlit-experience-search input{
 min-width:0!important;width:100%!important;height:38px!important;padding:0 7px!important;border:0!important;outline:0!important;
 background:transparent!important;color:#fff!important;font:800 11px/1 Arial!important;
}
.jlit-experience-search input::placeholder{color:#698592!important}
.jlit-experience-search>button{
 width:30px!important;height:30px!important;padding:0!important;border:1px solid #355a6d!important;border-radius:8px!important;
 background:#102e3d!important;color:#8de2f7!important;font:900 15px/1 Arial!important;cursor:pointer!important;
}
.jlit-search-results{
 position:absolute!important;z-index:90!important;left:0!important;right:0!important;top:45px!important;
 display:none!important;padding:5px!important;border:1px solid #35586b!important;border-radius:11px!important;
 background:rgba(5,18,27,.99)!important;box-shadow:0 16px 34px rgba(0,0,0,.48)!important;
}
.jlit-search-results.is-open{display:block!important}
.jlit-search-result{
 width:100%!important;min-height:46px!important;display:flex!important;align-items:center!important;gap:9px!important;
 padding:6px 8px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#fff!important;text-align:left!important;cursor:pointer!important;
}
.jlit-search-result:hover{background:#102c3b!important}
.jlit-search-result>i{
 display:grid!important;place-items:center!important;width:28px!important;height:28px!important;flex:0 0 28px!important;
 border-radius:8px!important;background:#123243!important;color:#72daf6!important;font:900 13px/1 Arial!important;font-style:normal!important;
}
.jlit-search-result strong{display:block!important;font:900 9px/1 Arial!important}
.jlit-search-result small{display:block!important;margin-top:4px!important;color:#7896a5!important;font:700 6.5px/1 Arial!important}
.jlit-search-empty{padding:10px!important;color:#7896a5!important;font:800 8px/1 Arial!important;text-align:center!important}

.jlit-experience-bar .jlit-time-controls{
 position:static!important;left:auto!important;top:auto!important;transform:none!important;
 display:flex!important;align-items:center!important;gap:3px!important;
 padding:3px!important;border:1px solid #315165!important;border-radius:12px!important;
 background:#071923!important;box-shadow:none!important;
}
.jlit-experience-bar .jlit-time-controls button{
 position:relative!important;min-width:58px!important;height:36px!important;padding:0 8px!important;
 border:1px solid transparent!important;border-radius:9px!important;background:transparent!important;
 display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;
}
.jlit-experience-bar .jlit-time-controls .jlit-time-btn.is-active{
 background:linear-gradient(180deg,#173348,#0d2433)!important;
}
.jlit-experience-bar .jlit-time-btn[data-jlit-time="day"].is-active{
 border-color:#fff200!important;box-shadow:0 0 0 1px rgba(255,242,0,.20),0 0 12px rgba(255,242,0,.35)!important;
}
.jlit-experience-bar .jlit-time-btn[data-jlit-time="dusk"].is-active{
 border-color:#ff7a00!important;box-shadow:0 0 0 1px rgba(255,122,0,.20),0 0 12px rgba(255,122,0,.38)!important;
}
.jlit-experience-bar .jlit-time-btn[data-jlit-time="night"].is-active{
 border-color:#19c8ff!important;box-shadow:0 0 0 1px rgba(25,200,255,.20),0 0 12px rgba(25,200,255,.38)!important;
}

.jlit-experience-tools{
 display:flex!important;align-items:center!important;gap:4px!important;
}
.jlit-experience-tools button{
 min-width:38px!important;height:38px!important;padding:0 8px!important;border:1px solid #35566a!important;border-radius:9px!important;
 background:#0a202d!important;color:#d8edf6!important;font:900 9px/1 Arial!important;cursor:pointer!important;
}
.jlit-experience-tools button:hover{border-color:#5acdec!important;background:#113043!important}

/* The old separate map-control block no longer exists. Keep MapLibre native controls below the experience bar. */
.maplibregl-ctrl-top-right{top:70px!important}

/* Layer panel starts below the new top bar. */
.jlit-marker-key{top:82px!important;max-height:calc(100% - 188px)!important}

/* Guidance should live beneath the new top bar too. */
.jlit-guide-banner.is-yellow{top:136px!important}
.jlit-guide-banner.is-orange{top:142px!important}

/* Mobile: experience tabs become compact; search gets its own row. */
@media(max-width:900px){
 .jlit-experience-bar{
  grid-template-columns:auto 1fr auto!important;
  gap:5px!important;
 }
 .jlit-experience-brand{display:none!important}
 .jlit-experience-tabs{grid-column:1 / 3!important;overflow-x:auto!important}
 .jlit-experience-search{grid-column:1 / 4!important;grid-row:2!important}
 .jlit-experience-bar .jlit-time-controls{grid-column:3!important;grid-row:1!important}
 .jlit-experience-tools{display:none!important}
 .jlit-marker-key{top:128px!important}
 .maplibregl-ctrl-top-right{top:124px!important}
 .jlit-guide-banner.is-yellow{top:150px!important}
 .jlit-guide-banner.is-orange{top:156px!important}
}
@media(max-width:600px){
 .jlit-experience-bar{
  left:6px!important;right:6px!important;top:6px!important;padding:4px!important;border-radius:13px!important;
 }
 .jlit-experience-tabs button{
  min-height:32px!important;padding:0 8px!important;font-size:6.5px!important;
 }
 .jlit-experience-bar .jlit-time-controls button{
  min-width:47px!important;height:32px!important;padding:0 5px!important;
 }
 .jlit-time-svg{width:16px!important;height:16px!important}
 .jlit-experience-search{height:36px!important}
 .jlit-experience-search input{height:34px!important;font-size:10px!important}
 .jlit-marker-key{top:116px!important;max-height:48%!important}
 .maplibregl-ctrl-top-right{top:112px!important}
 .jlit-guide-banner.is-yellow{top:134px!important}
 .jlit-guide-banner.is-orange{top:140px!important}
}


/* v2.0.158 — exact mock-up deal card, hard-locked against theme overrides. */
.jlit-b3d-shell .jlit-deal-card,
.jlit-b3d-shell .jlit-deal-card *,
.jlit-b3d-shell .jlit-deal-card *::before,
.jlit-b3d-shell .jlit-deal-card *::after{box-sizing:border-box!important}

.jlit-b3d-shell .jlit-deal-card{
 position:absolute!important;z-index:120!important;top:86px!important;right:16px!important;left:auto!important;
 width:386px!important;max-width:calc(100% - 32px)!important;margin:0!important;padding:0!important;
 display:block!important;overflow:hidden!important;border:1px solid rgba(102,151,177,.78)!important;border-radius:15px!important;
 background:#071923!important;background-image:linear-gradient(180deg,#0a202d 0%,#061720 100%)!important;color:#fff!important;
 box-shadow:0 18px 52px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.06)!important;
 font-family:Arial,Helvetica,sans-serif!important;text-align:left!important;opacity:0!important;visibility:hidden!important;
 pointer-events:none!important;transform:translateX(14px)!important;transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
}
.jlit-b3d-shell .jlit-deal-card.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateX(0)!important}
.jlit-b3d-shell .jlit-deal-card > *,
.jlit-b3d-shell .jlit-deal-card-content,
.jlit-b3d-shell .jlit-deal-card-content *{background-color:transparent!important;color:inherit!important}

.jlit-b3d-shell .jlit-deal-card-close{
 position:absolute!important;top:10px!important;right:10px!important;z-index:12!important;width:31px!important;height:31px!important;
 min-width:31px!important;min-height:31px!important;margin:0!important;padding:0!important;border:1px solid #4d6f82!important;
 border-radius:9px!important;background:#0a1c26!important;color:#f4fbff!important;font:700 18px/29px Arial!important;
 text-align:center!important;cursor:pointer!important;box-shadow:0 4px 13px rgba(0,0,0,.34)!important;
}
.jlit-b3d-shell .jlit-deal-card-hero{
 position:relative!important;width:100%!important;height:177px!important;margin:0!important;padding:0!important;overflow:hidden!important;
 background:#0b202c!important;border:0!important;
}
.jlit-b3d-shell .jlit-deal-card-hero img{
 display:block!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important;
 object-fit:cover!important;object-position:center!important;border:0!important;border-radius:0!important;
}
.jlit-b3d-shell .jlit-deal-card-hero:after{
 content:""!important;position:absolute!important;inset:0!important;pointer-events:none!important;
 background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(4,14,20,.16) 76%,rgba(4,14,20,.52) 100%)!important;
}
.jlit-b3d-shell .jlit-deal-card-hero-fallback{
 position:absolute!important;inset:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
 gap:9px!important;background:radial-gradient(circle at 50% 38%,rgba(255,199,31,.18),transparent 28%),linear-gradient(145deg,#173442,#07151e)!important;
}
.jlit-b3d-shell .jlit-deal-card-hero-fallback.is-hidden{display:none!important}
.jlit-b3d-shell .jlit-deal-card-hero-fallback>span{
 display:grid!important;place-items:center!important;width:50px!important;height:50px!important;border-radius:50%!important;
 background:linear-gradient(180deg,#ffe163,#d69c08)!important;color:#fff!important;font:900 24px/1 Arial!important;
 box-shadow:0 0 0 2px #fff5bc,0 0 18px rgba(255,189,22,.42)!important;
}
.jlit-b3d-shell .jlit-deal-card-hero-fallback small{color:#ffd866!important;font:900 8px/1 Arial!important;letter-spacing:1.1px!important}

.jlit-b3d-shell .jlit-deal-card-content{
 display:block!important;width:100%!important;margin:0!important;padding:15px 15px 14px!important;border:0!important;
 background:linear-gradient(180deg,#0a202d,#061720)!important;color:#fff!important;
}
.jlit-b3d-shell .jlit-deal-eyebrow{
 display:block!important;margin:0 0 6px!important;padding:0!important;color:#f6c82b!important;
 font:900 8px/1 Arial!important;letter-spacing:1.05px!important;text-transform:uppercase!important;
}
.jlit-b3d-shell .jlit-deal-title{
 display:block!important;margin:0!important;padding:0!important;color:#fff!important;font:900 24px/1.04 Arial!important;
 letter-spacing:-.4px!important;text-transform:none!important;text-decoration:none!important;
}
.jlit-b3d-shell .jlit-deal-offer{
 display:flex!important;align-items:center!important;gap:9px!important;margin:12px 0 0!important;padding:0!important;background:transparent!important;
}
.jlit-b3d-shell .jlit-deal-offer>span{
 display:grid!important;place-items:center!important;width:27px!important;height:27px!important;flex:0 0 27px!important;margin:0!important;padding:0!important;
 border-radius:50%!important;background:#dca307!important;color:#fff!important;font:900 14px/1 Arial!important;
 box-shadow:0 0 0 2px #fff4ae,0 0 10px rgba(255,184,18,.36)!important;
}
.jlit-b3d-shell .jlit-deal-offer b{
 display:block!important;margin:0!important;padding:0!important;color:#ffd329!important;font:900 12px/1.06 Arial!important;
 letter-spacing:.1px!important;text-transform:uppercase!important;
}
.jlit-b3d-shell .jlit-deal-category{
 margin:8px 0 0!important;padding:0!important;color:#a8bbc6!important;font:700 9px/1.15 Arial!important;
}
.jlit-b3d-shell .jlit-deal-meta,
.jlit-b3d-shell .jlit-deal-distance{
 display:flex!important;align-items:flex-start!important;gap:7px!important;margin:9px 0 0!important;padding:0!important;
 color:#c4d4dc!important;font:700 9px/1.25 Arial!important;
}
.jlit-b3d-shell .jlit-deal-meta span:last-child,
.jlit-b3d-shell .jlit-deal-distance span:last-child{color:#c4d4dc!important}
.jlit-b3d-shell .jlit-meta-pin{
 width:14px!important;flex:0 0 14px!important;color:#8ea9b8!important;font-size:10px!important;line-height:1.2!important;text-align:center!important;
}
.jlit-b3d-shell .jlit-distance-person{
 width:14px!important;flex:0 0 14px!important;color:#eef7fb!important;font:900 13px/1 Arial!important;text-align:center!important;
}

.jlit-b3d-shell .jlit-deal-thumbs{
 display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;width:100%!important;
 margin:13px 0 0!important;padding:0!important;background:transparent!important;
}
.jlit-b3d-shell .jlit-deal-thumbs.is-empty{display:none!important}
.jlit-b3d-shell .jlit-deal-thumb{
 appearance:none!important;-webkit-appearance:none!important;position:relative!important;width:100%!important;height:54px!important;
 margin:0!important;padding:0!important;overflow:hidden!important;border:1px solid #466676!important;border-radius:7px!important;
 background:#102a36!important;cursor:pointer!important;box-shadow:none!important;
}
.jlit-b3d-shell .jlit-deal-thumb img{
 display:block!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important;
 object-fit:cover!important;border:0!important;border-radius:0!important;
}
.jlit-b3d-shell .jlit-deal-thumb:hover{border-color:#7de4ff!important;transform:translateY(-1px)!important}

.jlit-b3d-shell .jlit-deal-card-actions{
 display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%!important;margin:14px 0 0!important;padding:0!important;
 background:transparent!important;
}
.jlit-b3d-shell .jlit-deal-card-cta,
.jlit-b3d-shell .jlit-deal-card-directions{
 appearance:none!important;-webkit-appearance:none!important;min-width:0!important;min-height:58px!important;height:58px!important;margin:0!important;
 padding:0 13px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
 border-radius:10px!important;text-decoration:none!important;text-transform:uppercase!important;font:900 11px/1 Arial!important;
 letter-spacing:.45px!important;cursor:pointer!important;box-shadow:none!important;
}
.jlit-b3d-shell .jlit-deal-card-cta{
 border:1px solid #ffe26b!important;background:linear-gradient(180deg,#ffdb4b 0%,#efb51d 100%)!important;color:#2c2100!important;
 box-shadow:inset 0 1px rgba(255,255,255,.52),0 5px 14px rgba(120,77,0,.28)!important;
}
.jlit-b3d-shell .jlit-deal-card-directions{
 border:1px solid #3fcfff!important;background:linear-gradient(180deg,#159ed2 0%,#0679a8 100%)!important;color:#fff!important;
 box-shadow:inset 0 1px rgba(255,255,255,.15),0 5px 14px rgba(0,87,124,.32)!important;
}
.jlit-b3d-shell .jlit-deal-card-cta span{color:#2c2100!important;background:transparent!important}
.jlit-b3d-shell .jlit-deal-card-directions span{color:#fff!important;background:transparent!important}
.jlit-b3d-shell .jlit-deal-btn-icon{
 display:block!important;width:24px!important;height:24px!important;flex:0 0 24px!important;background-color:currentColor!important;
 -webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;-webkit-mask-position:center!important;mask-position:center!important;
 -webkit-mask-size:contain!important;mask-size:contain!important;
}
.jlit-b3d-shell .jlit-deal-qr-icon{
 color:#2c2100!important;-webkit-mask-image:url("icons/deal-qr.svg")!important;mask-image:url("icons/deal-qr.svg")!important;
}
.jlit-b3d-shell .jlit-deal-directions-icon{
 color:#fff!important;-webkit-mask-image:url("icons/deal-directions.svg")!important;mask-image:url("icons/deal-directions.svg")!important;
}
.jlit-b3d-shell .jlit-deal-card-cta:hover{background:linear-gradient(180deg,#ffe46d 0%,#f3bd28 100%)!important}
.jlit-b3d-shell .jlit-deal-card-directions:hover{background:linear-gradient(180deg,#21b0e2 0%,#0786b9 100%)!important}
.jlit-b3d-shell .jlit-deal-card-cta.is-disabled{opacity:.45!important;pointer-events:none!important}

@media(max-width:900px){
 .jlit-b3d-shell .jlit-deal-card{
  left:8px!important;right:8px!important;top:auto!important;bottom:78px!important;width:auto!important;max-width:none!important;max-height:66%!important;
  overflow:auto!important;border-radius:14px!important;transform:translateY(14px)!important;
 }
 .jlit-b3d-shell .jlit-deal-card.is-open{transform:translateY(0)!important}
 .jlit-b3d-shell .jlit-deal-card-hero{height:145px!important}
 .jlit-b3d-shell .jlit-deal-card-content{padding:12px!important}
 .jlit-b3d-shell .jlit-deal-title{font-size:20px!important}
 .jlit-b3d-shell .jlit-deal-thumb{height:47px!important}
 .jlit-b3d-shell .jlit-deal-card-actions{
  position:sticky!important;bottom:0!important;z-index:3!important;padding-top:9px!important;background:#061720!important;
 }
}


/* v2.0.160 — unified translucent map-marker language from the approved mock-up. */
.jlit-b3d-shell .jlit-unified-marker-host,
.jlit-b3d-shell button.jlit-unified-marker-host{
 -webkit-appearance:none!important;
 appearance:none!important;
 position:relative!important;
 display:block!important;
 width:auto!important;
 min-width:0!important;
 max-width:none!important;
 height:auto!important;
 margin:0!important;
 padding:0!important;
 border:0!important;
 border-radius:0!important;
 background:transparent!important;
 box-shadow:none!important;
 overflow:visible!important;
 text-align:left!important;
 color:#fff!important;
 cursor:pointer!important;
 transform-origin:28px 100%!important;
}
.jlit-b3d-shell .jlit-landmark-marker.jlit-unified-marker-host{;
}
.jlit-b3d-shell .jlit-unified-marker{
 --pin-color:#22a7e8;
 position:relative!important;
 display:flex!important;
 align-items:flex-start!important;
 min-width:0!important;
 height:58px!important;
 padding:0!important;
 filter:drop-shadow(0 7px 12px rgba(0,0,0,.34))!important;
 pointer-events:auto!important;
}
.jlit-b3d-shell .jlit-unified-pin{
 position:relative!important;
 z-index:3!important;
 display:block!important;
 width:54px!important;
 height:58px!important;
 flex:0 0 54px!important;
 margin:0!important;
 padding:0!important;
}
.jlit-b3d-shell .jlit-unified-pin-core{
 position:absolute!important;
 top:0!important;
 left:3px!important;
 display:grid!important;
 place-items:center!important;
 width:46px!important;
 height:46px!important;
 border:2px solid color-mix(in srgb,var(--pin-color) 88%,white)!important;
 border-radius:50%!important;
 background:color-mix(in srgb,var(--pin-color) 62%,rgba(6,18,27,.36))!important;
 box-shadow:
  inset 0 1px 8px rgba(255,255,255,.18),
  0 0 0 3px color-mix(in srgb,var(--pin-color) 18%,transparent),
  0 0 13px color-mix(in srgb,var(--pin-color) 42%,transparent)!important;
 backdrop-filter:blur(3px)!important;
}
.jlit-b3d-shell .jlit-unified-pin:after{
 content:""!important;
 position:absolute!important;
 z-index:1!important;
 left:20px!important;
 top:37px!important;
 width:16px!important;
 height:16px!important;
 border-right:2px solid color-mix(in srgb,var(--pin-color) 88%,white)!important;
 border-bottom:2px solid color-mix(in srgb,var(--pin-color) 88%,white)!important;
 background:color-mix(in srgb,var(--pin-color) 62%,rgba(6,18,27,.36))!important;
 transform:rotate(45deg)!important;
 border-radius:0 0 4px 0!important;
 box-shadow:4px 4px 8px rgba(0,0,0,.18)!important;
}
.jlit-b3d-shell .jlit-marker-category-icon{
 position:relative!important;
 z-index:5!important;
 display:block!important;
 width:23px!important;
 height:23px!important;
 margin:0!important;
 background-color:#fff!important;
 color:#fff!important;
 filter:drop-shadow(0 1px 2px rgba(0,0,0,.28))!important;
}
.jlit-b3d-shell .jlit-marker-inline-svg{
 position:relative!important;
 z-index:5!important;
 display:block!important;
 width:25px!important;
 height:25px!important;
 fill:#fff!important;
 filter:drop-shadow(0 1px 2px rgba(0,0,0,.28))!important;
}
.jlit-b3d-shell .jlit-marker-parking-letter{
 position:relative!important;
 z-index:5!important;
 display:block!important;
 color:#fff!important;
 font:900 21px/1 Arial!important;
}
.jlit-b3d-shell .jlit-unified-label{
 position:relative!important;
 z-index:2!important;
 display:flex!important;
 flex-direction:column!important;
 justify-content:center!important;
 min-width:92px!important;
 max-width:190px!important;
 min-height:38px!important;
 margin:4px 0 0 -5px!important;
 padding:7px 12px 7px 14px!important;
 border:1.5px solid color-mix(in srgb,var(--pin-color) 78%,white)!important;
 border-radius:0 12px 12px 0!important;
 background:linear-gradient(180deg,rgba(11,32,45,.90),rgba(5,18,27,.88))!important;
 box-shadow:
  inset 0 1px rgba(255,255,255,.08),
  0 5px 12px rgba(0,0,0,.24),
  0 0 9px color-mix(in srgb,var(--pin-color) 18%,transparent)!important;
 backdrop-filter:blur(5px)!important;
}
.jlit-b3d-shell .jlit-unified-label strong{
 display:block!important;
 margin:0!important;
 padding:0!important;
 color:#fff!important;
 font:900 11px/1.03 Arial,sans-serif!important;
 letter-spacing:-.05px!important;
 white-space:nowrap!important;
 overflow:hidden!important;
 text-overflow:ellipsis!important;
 text-shadow:0 1px 2px rgba(0,0,0,.35)!important;
}
.jlit-b3d-shell .jlit-unified-label small{
 display:block!important;
 margin:4px 0 0!important;
 padding:0!important;
 color:color-mix(in srgb,var(--pin-color) 75%,white)!important;
 font:800 8px/1 Arial,sans-serif!important;
 text-transform:none!important;
 white-space:nowrap!important;
 overflow:hidden!important;
 text-overflow:ellipsis!important;
}
.jlit-b3d-shell .jlit-unified-marker:hover .jlit-unified-pin-core{
 background:color-mix(in srgb,var(--pin-color) 78%,rgba(6,18,27,.24))!important;
 box-shadow:
  inset 0 1px 8px rgba(255,255,255,.22),
  0 0 0 4px color-mix(in srgb,var(--pin-color) 22%,transparent),
  0 0 18px color-mix(in srgb,var(--pin-color) 58%,transparent)!important;
}
.jlit-b3d-shell .jlit-unified-marker:hover .jlit-unified-label{
 border-color:var(--pin-color)!important;
 background:linear-gradient(180deg,rgba(15,42,57,.96),rgba(8,24,34,.94))!important;
}

/* Premium Member Offers are deliberately larger and gold, matching the concept. */
.jlit-b3d-shell .jlit-unified-marker.is-premium{
 height:68px!important;
 filter:drop-shadow(0 8px 15px rgba(0,0,0,.40))!important;
}
.jlit-b3d-shell .jlit-unified-marker.is-premium .jlit-unified-pin{
 width:62px!important;height:68px!important;flex-basis:62px!important;
}
.jlit-b3d-shell .jlit-unified-marker.is-premium .jlit-unified-pin-core{
 left:3px!important;width:54px!important;height:54px!important;border-width:2px!important;
 background:linear-gradient(145deg,rgba(255,215,55,.91),rgba(186,116,0,.82))!important;
 border-color:#ffe46f!important;
 box-shadow:inset 0 2px 9px rgba(255,255,255,.28),0 0 0 3px rgba(247,195,26,.17),0 0 17px rgba(247,195,26,.48)!important;
}
.jlit-b3d-shell .jlit-unified-marker.is-premium .jlit-unified-pin:after{
 left:23px!important;top:44px!important;width:18px!important;height:18px!important;
 background:linear-gradient(145deg,rgba(236,177,13,.93),rgba(173,101,0,.88))!important;
 border-color:#ffe46f!important;
}
.jlit-b3d-shell .jlit-unified-marker.is-premium .jlit-marker-category-icon{
 width:27px!important;height:27px!important;
}
.jlit-b3d-shell .jlit-unified-marker.is-premium .jlit-unified-label{
 min-width:156px!important;
 max-width:222px!important;
 min-height:48px!important;
 margin-top:4px!important;
 margin-left:-5px!important;
 padding:8px 15px 8px 16px!important;
 border:2px solid #e6b518!important;
 border-radius:0 13px 13px 0!important;
 background:linear-gradient(180deg,rgba(44,36,8,.94),rgba(22,21,9,.91))!important;
 box-shadow:inset 0 1px rgba(255,255,255,.08),0 5px 15px rgba(0,0,0,.32),0 0 12px rgba(242,190,23,.18)!important;
}
.jlit-b3d-shell .jlit-unified-marker.is-premium .jlit-unified-label strong{
 font-size:13px!important;
}
.jlit-b3d-shell .jlit-unified-marker.is-premium .jlit-unified-label small{
 margin-top:5px!important;
 color:#ffd84a!important;
 font-size:9px!important;
 text-transform:uppercase!important;
}

/* Marker palette mirrors the redesigned key. */
.jlit-b3d-shell [data-marker-theme="member"]{--marker-color:#f4c51f!important}
.jlit-b3d-shell [data-marker-theme="tour"]{--marker-color:#1f9dff!important}
.jlit-b3d-shell [data-marker-theme="shopping"]{--marker-color:#ef4fa3!important}
.jlit-b3d-shell [data-marker-theme="attractions"]{--marker-color:#22a7e8!important}
.jlit-b3d-shell [data-marker-theme="park"]{--marker-color:#32d28b!important}
.jlit-b3d-shell [data-marker-theme="dining"]{--marker-color:#ff7f24!important}
.jlit-b3d-shell [data-marker-theme="accommodation"]{--marker-color:#37d4d7!important}
.jlit-b3d-shell [data-marker-theme="transit"]{--marker-color:#ff536a!important}
.jlit-b3d-shell [data-marker-theme="ferry"]{--marker-color:#28c7ef!important}
.jlit-b3d-shell [data-marker-theme="hospital"]{--marker-color:#36dc79!important}
.jlit-b3d-shell [data-marker-theme="parking"]{--marker-color:#3995ff!important}

/* Update the layer panel itself so marker and key colours genuinely match. */
.jlit-b3d-shell .jlit-key-premium{--layer:#f4c51f!important}
.jlit-b3d-shell .jlit-key-tour{--layer:#1f9dff!important}
.jlit-b3d-shell .jlit-key-attraction{--layer:#22a7e8!important}
.jlit-b3d-shell .jlit-key-dining{--layer:#ff7f24!important}
.jlit-b3d-shell .jlit-key-shopping{--layer:#ef4fa3!important}
.jlit-b3d-shell .jlit-key-accommodation{--layer:#37d4d7!important}
.jlit-b3d-shell .jlit-key-transit{--layer:#ff536a!important}
.jlit-b3d-shell .jlit-key-ferry{--layer:#28c7ef!important}
.jlit-b3d-shell .jlit-key-hospital{--layer:#36dc79!important}
.jlit-b3d-shell .jlit-key-parking{--layer:#3995ff!important}

/* Retire the old flag/nameplate/pin visuals if stale markup survives from a cached DOM mutation. */
.jlit-b3d-shell .jlit-unified-marker-host .jlit-member-tab,
.jlit-b3d-shell .jlit-unified-marker-host .jlit-member-banner,
.jlit-b3d-shell .jlit-unified-marker-host .jlit-member-leader,
.jlit-b3d-shell .jlit-unified-marker-host .jlit-member-target,
.jlit-b3d-shell .jlit-unified-marker-host .jlit-tour-flag,
.jlit-b3d-shell .jlit-unified-marker-host .jlit-tour-leader,
.jlit-b3d-shell .jlit-unified-marker-host .jlit-tour-target,
.jlit-b3d-shell .jlit-unified-marker-host .jlit-location-nameplate,
.jlit-b3d-shell .jlit-unified-marker-host .jlit-drop-pin{
 display:none!important;
}

/* The commercial host must not inherit the old v151/v152 fixed flag dimensions. */
.jlit-b3d-shell .jlit-commercial-marker.jlit-unified-commercial{
 width:auto!important;
 min-width:0!important;
 max-width:none!important;
 height:auto!important;
 min-height:0!important;
 display:block!important;
 flex-direction:initial!important;
 align-items:initial!important;
 justify-content:initial!important;
 filter:none!important;;
}

/* Mobile remains compact but keeps the same visual language. */
@media(max-width:760px){
 .jlit-b3d-shell .jlit-landmark-marker.jlit-unified-marker-host{;
 }
 .jlit-b3d-shell .jlit-commercial-marker.jlit-unified-commercial{;;
 }
 .jlit-b3d-shell .jlit-unified-label{max-width:160px!important}
 .jlit-b3d-shell .jlit-unified-marker.is-premium .jlit-unified-label{max-width:190px!important}
}


/* v2.0.161 — critical marker positioning repair.
   MapLibre's host transform is sacred: it places the marker geographically.
   Scale only the child visual, anchored around the pin tip. */
.jlit-b3d-shell .jlit-landmark-marker.jlit-unified-marker-host{
 --jlit-marker-scale:var(--lm-scale,1);
}
.jlit-b3d-shell .jlit-landmark-marker.jlit-unified-marker-host > .jlit-unified-marker{
 transform:scale(var(--jlit-marker-scale,1))!important;
 transform-origin:28px 100%!important;
}
.jlit-b3d-shell .jlit-commercial-marker.jlit-unified-commercial > .jlit-unified-marker{
 transform:scale(1)!important;
 transform-origin:31px 100%!important;
}
@media(max-width:760px){
 .jlit-b3d-shell .jlit-commercial-marker.jlit-unified-commercial > .jlit-unified-marker{
  transform:scale(.88)!important;
  transform-origin:31px 100%!important;
 }
}


/* v2.0.162 — blend the teardrop and nameplate into one continuous marker shape. */
.jlit-b3d-shell .jlit-unified-label{
 position:relative!important;
 z-index:2!important;
 margin:4px 0 0 -13px!important;
 padding:7px 13px 7px 21px!important;
 border:1.5px solid color-mix(in srgb,var(--pin-color) 82%,white)!important;
 border-left:0!important;
 border-radius:15px 12px 12px 15px!important;
 background:
   linear-gradient(
     180deg,
     color-mix(in srgb,var(--pin-color) 28%,rgba(10,31,43,.92)),
     color-mix(in srgb,var(--pin-color) 17%,rgba(5,18,27,.94))
   )!important;
 box-shadow:
   inset 0 1px rgba(255,255,255,.10),
   inset 8px 0 12px color-mix(in srgb,var(--pin-color) 12%,transparent),
   0 5px 12px rgba(0,0,0,.24),
   0 0 10px color-mix(in srgb,var(--pin-color) 20%,transparent)!important;
 overflow:visible!important;
}

/* Curved bridge between circle and nameplate. */
.jlit-b3d-shell .jlit-unified-label:before{
 content:""!important;
 position:absolute!important;
 z-index:-1!important;
 left:-15px!important;
 top:0!important;
 width:30px!important;
 height:100%!important;
 border-top:1.5px solid color-mix(in srgb,var(--pin-color) 82%,white)!important;
 border-bottom:1.5px solid color-mix(in srgb,var(--pin-color) 82%,white)!important;
 border-left:1.5px solid color-mix(in srgb,var(--pin-color) 82%,white)!important;
 border-radius:18px 0 0 18px!important;
 background:
   linear-gradient(
     180deg,
     color-mix(in srgb,var(--pin-color) 34%,rgba(10,31,43,.94)),
     color-mix(in srgb,var(--pin-color) 21%,rgba(5,18,27,.95))
   )!important;
 box-shadow:inset 8px 0 9px color-mix(in srgb,var(--pin-color) 18%,transparent)!important;
}

/* Mask out the hard seam where the bridge tucks underneath the pin. */
.jlit-b3d-shell .jlit-unified-pin-core:after{
 content:""!important;
 position:absolute!important;
 z-index:7!important;
 right:-10px!important;
 top:8px!important;
 width:17px!important;
 height:30px!important;
 border-radius:0 16px 16px 0!important;
 background:
   linear-gradient(
     180deg,
     color-mix(in srgb,var(--pin-color) 64%,rgba(6,18,27,.28)),
     color-mix(in srgb,var(--pin-color) 54%,rgba(6,18,27,.34))
   )!important;
 box-shadow:5px 0 7px color-mix(in srgb,var(--pin-color) 18%,transparent)!important;
}

/* Keep icon above the seam mask. */
.jlit-b3d-shell .jlit-marker-category-icon,
.jlit-b3d-shell .jlit-marker-inline-svg,
.jlit-b3d-shell .jlit-marker-parking-letter{
 z-index:9!important;
}

/* The label text sits slightly farther right so the curved join stays clean. */
.jlit-b3d-shell .jlit-unified-label strong,
.jlit-b3d-shell .jlit-unified-label small{
 position:relative!important;
 z-index:3!important;
}

/* Premium gold version mirrors the same curved join at a larger scale. */
.jlit-b3d-shell .jlit-unified-marker.is-premium .jlit-unified-label{
 margin-left:-15px!important;
 padding-left:24px!important;
 border-left:0!important;
 border-radius:17px 13px 13px 17px!important;
 background:
   linear-gradient(
     180deg,
     rgba(78,61,7,.96),
     rgba(38,31,8,.95)
   )!important;
 border-color:#e8b91c!important;
 box-shadow:
   inset 0 1px rgba(255,255,255,.10),
   inset 9px 0 13px rgba(238,183,18,.12),
   0 6px 15px rgba(0,0,0,.31),
   0 0 13px rgba(242,190,23,.22)!important;
}
.jlit-b3d-shell .jlit-unified-marker.is-premium .jlit-unified-label:before{
 left:-17px!important;
 width:34px!important;
 border-color:#e8b91c!important;
 border-radius:20px 0 0 20px!important;
 background:linear-gradient(180deg,rgba(91,70,8,.97),rgba(45,35,8,.96))!important;
}
.jlit-b3d-shell .jlit-unified-marker.is-premium .jlit-unified-pin-core:after{
 right:-11px!important;
 top:9px!important;
 width:19px!important;
 height:36px!important;
 border-radius:0 18px 18px 0!important;
 background:linear-gradient(180deg,rgba(221,166,10,.92),rgba(182,118,0,.88))!important;
 box-shadow:5px 0 8px rgba(230,171,10,.24)!important;
}

/* Slight colour tuning to match the mock-up more closely. */
.jlit-b3d-shell [data-marker-theme="shopping"] .jlit-unified-label{
 background:linear-gradient(180deg,rgba(69,25,55,.94),rgba(32,16,29,.95))!important;
 border-color:#ef63b0!important;
}
.jlit-b3d-shell [data-marker-theme="attractions"] .jlit-unified-label{
 background:linear-gradient(180deg,rgba(15,55,75,.94),rgba(7,28,41,.95))!important;
 border-color:#35b6ef!important;
}
.jlit-b3d-shell [data-marker-theme="park"] .jlit-unified-label{
 background:linear-gradient(180deg,rgba(19,65,49,.94),rgba(9,33,26,.95))!important;
 border-color:#47da9a!important;
}
.jlit-b3d-shell [data-marker-theme="dining"] .jlit-unified-label{
 background:linear-gradient(180deg,rgba(72,40,14,.94),rgba(35,22,10,.95))!important;
 border-color:#ff9144!important;
}
.jlit-b3d-shell [data-marker-theme="tour"] .jlit-unified-label{
 background:linear-gradient(180deg,rgba(13,48,78,.94),rgba(7,28,46,.95))!important;
 border-color:#45adff!important;
}
.jlit-b3d-shell [data-marker-theme="accommodation"] .jlit-unified-label{
 background:linear-gradient(180deg,rgba(10,62,65,.94),rgba(6,33,35,.95))!important;
 border-color:#55dfe2!important;
}

/* Keep hover behaviour consistent with the blended silhouette. */
.jlit-b3d-shell .jlit-unified-marker:hover .jlit-unified-label{
 background:
   linear-gradient(
     180deg,
     color-mix(in srgb,var(--pin-color) 38%,rgba(12,37,50,.96)),
     color-mix(in srgb,var(--pin-color) 24%,rgba(7,24,34,.97))
   )!important;
}


/* v2.0.163 — clean seamless marker silhouette.
   One rounded pill runs underneath the circular pin. No bridge, no seam mask. */

.jlit-b3d-shell .jlit-unified-marker{
 position:relative!important;
 display:flex!important;
 align-items:flex-start!important;
 height:58px!important;
}

.jlit-b3d-shell .jlit-unified-pin{
 position:relative!important;
 z-index:5!important;
 width:54px!important;
 height:58px!important;
 flex:0 0 54px!important;
}

/* Clean translucent circular pin. */
.jlit-b3d-shell .jlit-unified-pin-core{
 position:absolute!important;
 z-index:6!important;
 left:3px!important;
 top:0!important;
 width:46px!important;
 height:46px!important;
 border:2px solid color-mix(in srgb,var(--pin-color) 86%,white)!important;
 border-radius:50%!important;
 background:
   linear-gradient(
     145deg,
     color-mix(in srgb,var(--pin-color) 74%,rgba(255,255,255,.08)),
     color-mix(in srgb,var(--pin-color) 48%,rgba(5,18,27,.34))
   )!important;
 box-shadow:
   inset 0 1px 8px rgba(255,255,255,.18),
   0 0 0 3px color-mix(in srgb,var(--pin-color) 14%,transparent),
   0 0 12px color-mix(in srgb,var(--pin-color) 36%,transparent)!important;
 backdrop-filter:blur(3px)!important;
 overflow:visible!important;
}

/* Disable the previous seam-mask entirely. */
.jlit-b3d-shell .jlit-unified-pin-core:after{
 content:none!important;
 display:none!important;
}

/* Teardrop point remains a direct continuation of the circle. */
.jlit-b3d-shell .jlit-unified-pin:after{
 content:""!important;
 position:absolute!important;
 z-index:4!important;
 left:20px!important;
 top:37px!important;
 width:16px!important;
 height:16px!important;
 border-right:2px solid color-mix(in srgb,var(--pin-color) 86%,white)!important;
 border-bottom:2px solid color-mix(in srgb,var(--pin-color) 86%,white)!important;
 background:
   linear-gradient(
     145deg,
     color-mix(in srgb,var(--pin-color) 69%,rgba(255,255,255,.04)),
     color-mix(in srgb,var(--pin-color) 49%,rgba(5,18,27,.30))
   )!important;
 transform:rotate(45deg)!important;
 border-radius:0 0 4px 0!important;
 box-shadow:4px 4px 8px rgba(0,0,0,.16)!important;
}

/* The label is now ONE rounded pill and simply overlaps underneath the circle. */
.jlit-b3d-shell .jlit-unified-label{
 position:relative!important;
 z-index:3!important;
 display:flex!important;
 flex-direction:column!important;
 justify-content:center!important;
 min-width:100px!important;
 max-width:190px!important;
 min-height:40px!important;
 margin:3px 0 0 -16px!important;
 padding:7px 13px 7px 25px!important;
 border:1.5px solid color-mix(in srgb,var(--pin-color) 78%,white)!important;
 border-radius:20px 12px 12px 20px!important;
 background:
   linear-gradient(
     180deg,
     color-mix(in srgb,var(--pin-color) 34%,rgba(10,31,43,.93)),
     color-mix(in srgb,var(--pin-color) 19%,rgba(5,18,27,.95))
   )!important;
 box-shadow:
   inset 0 1px rgba(255,255,255,.08),
   0 5px 11px rgba(0,0,0,.22),
   0 0 8px color-mix(in srgb,var(--pin-color) 14%,transparent)!important;
 backdrop-filter:blur(5px)!important;
 overflow:hidden!important;
}

/* Remove old bridge pseudo-element. */
.jlit-b3d-shell .jlit-unified-label:before{
 content:none!important;
 display:none!important;
}

/* Subtle coloured glow behind the overlap so pin and pill visually merge. */
.jlit-b3d-shell .jlit-unified-label:after{
 content:""!important;
 position:absolute!important;
 z-index:0!important;
 left:0!important;
 top:0!important;
 bottom:0!important;
 width:38px!important;
 border-radius:20px 0 0 20px!important;
 background:
   linear-gradient(
     90deg,
     color-mix(in srgb,var(--pin-color) 48%,transparent),
     transparent
   )!important;
 opacity:.42!important;
 pointer-events:none!important;
}

/* Text above overlap glow. */
.jlit-b3d-shell .jlit-unified-label strong,
.jlit-b3d-shell .jlit-unified-label small{
 position:relative!important;
 z-index:2!important;
}

/* Premium Member Offer uses identical geometry, only larger. */
.jlit-b3d-shell .jlit-unified-marker.is-premium{
 height:68px!important;
}
.jlit-b3d-shell .jlit-unified-marker.is-premium .jlit-unified-pin{
 width:62px!important;
 height:68px!important;
 flex-basis:62px!important;
}
.jlit-b3d-shell .jlit-unified-marker.is-premium .jlit-unified-pin-core{
 left:3px!important;
 top:0!important;
 width:54px!important;
 height:54px!important;
 border:2px solid #ffe271!important;
 background:
   linear-gradient(
     145deg,
     rgba(255,218,67,.95),
     rgba(194,126,0,.86)
   )!important;
 box-shadow:
   inset 0 2px 9px rgba(255,255,255,.25),
   0 0 0 3px rgba(247,195,26,.14),
   0 0 16px rgba(247,195,26,.40)!important;
}
.jlit-b3d-shell .jlit-unified-marker.is-premium .jlit-unified-pin:after{
 left:23px!important;
 top:44px!important;
 width:18px!important;
 height:18px!important;
 border-color:#ffe271!important;
 background:linear-gradient(145deg,rgba(235,177,15,.95),rgba(174,104,0,.90))!important;
}
.jlit-b3d-shell .jlit-unified-marker.is-premium .jlit-unified-label{
 min-width:160px!important;
 max-width:224px!important;
 min-height:50px!important;
 margin:3px 0 0 -18px!important;
 padding:8px 15px 8px 29px!important;
 border:2px solid #e6b518!important;
 border-radius:23px 13px 13px 23px!important;
 background:
   linear-gradient(
     180deg,
     rgba(76,59,7,.96),
     rgba(35,29,8,.96)
   )!important;
 box-shadow:
   inset 0 1px rgba(255,255,255,.09),
   0 6px 14px rgba(0,0,0,.29),
   0 0 11px rgba(242,190,23,.18)!important;
}
.jlit-b3d-shell .jlit-unified-marker.is-premium .jlit-unified-label:after{
 width:45px!important;
 border-radius:23px 0 0 23px!important;
 background:linear-gradient(90deg,rgba(234,181,18,.34),transparent)!important;
 opacity:.55!important;
}

/* Cleaner category matching — closer to the mock-up's translucent colour families. */
.jlit-b3d-shell [data-marker-theme="shopping"] .jlit-unified-label{
 background:linear-gradient(180deg,rgba(101,26,74,.92),rgba(48,17,39,.94))!important;
 border-color:#ed63b0!important;
}
.jlit-b3d-shell [data-marker-theme="attractions"] .jlit-unified-label{
 background:linear-gradient(180deg,rgba(16,75,104,.92),rgba(7,37,54,.94))!important;
 border-color:#40b9ef!important;
}
.jlit-b3d-shell [data-marker-theme="park"] .jlit-unified-label{
 background:linear-gradient(180deg,rgba(21,87,63,.92),rgba(9,43,33,.94))!important;
 border-color:#4bdd9c!important;
}
.jlit-b3d-shell [data-marker-theme="dining"] .jlit-unified-label{
 background:linear-gradient(180deg,rgba(100,49,12,.92),rgba(49,25,8,.94))!important;
 border-color:#ff9448!important;
}
.jlit-b3d-shell [data-marker-theme="tour"] .jlit-unified-label{
 background:linear-gradient(180deg,rgba(16,68,111,.92),rgba(8,34,57,.94))!important;
 border-color:#4cb0ff!important;
}
.jlit-b3d-shell [data-marker-theme="accommodation"] .jlit-unified-label{
 background:linear-gradient(180deg,rgba(10,80,83,.92),rgba(5,40,43,.94))!important;
 border-color:#58e1e4!important;
}

/* Hover keeps same silhouette; only increases brightness. */
.jlit-b3d-shell .jlit-unified-marker:hover .jlit-unified-label{
 filter:brightness(1.08)!important;
}


/* v2.0.164 — crisp, high-focus marker pins + stronger category colour.
   The pin is intentionally much less translucent/glowy than v163. */
.jlit-b3d-shell .jlit-unified-pin-core{
 border:2px solid rgba(255,255,255,.92)!important;
 background:var(--pin-color)!important;
 backdrop-filter:none!important;
 -webkit-backdrop-filter:none!important;
 box-shadow:
   inset 0 1px 0 rgba(255,255,255,.28),
   0 1px 3px rgba(0,0,0,.34)!important;
 filter:none!important;
}
.jlit-b3d-shell .jlit-unified-pin:after{
 border-right:2px solid rgba(255,255,255,.92)!important;
 border-bottom:2px solid rgba(255,255,255,.92)!important;
 background:var(--pin-color)!important;
 box-shadow:2px 2px 3px rgba(0,0,0,.24)!important;
}
.jlit-b3d-shell .jlit-marker-category-icon{
 background-color:#fff!important;
 color:#fff!important;
 filter:none!important;
 opacity:1!important;
}
.jlit-b3d-shell .jlit-marker-inline-svg{
 fill:#fff!important;
 filter:none!important;
 opacity:1!important;
}
.jlit-b3d-shell .jlit-marker-parking-letter{
 color:#fff!important;
 text-shadow:none!important;
 opacity:1!important;
}

/* Remove the soft overlap haze that made the pins appear out of focus. */
.jlit-b3d-shell .jlit-unified-label:after{
 opacity:.16!important;
 filter:none!important;
}
.jlit-b3d-shell .jlit-unified-marker{
 filter:drop-shadow(0 3px 4px rgba(0,0,0,.28))!important;
}
.jlit-b3d-shell .jlit-unified-marker:hover .jlit-unified-pin-core{
 background:var(--pin-color)!important;
 box-shadow:
   inset 0 1px 0 rgba(255,255,255,.32),
   0 2px 5px rgba(0,0,0,.36)!important;
}

/* Premium gold receives the same crisp treatment. */
.jlit-b3d-shell .jlit-unified-marker.is-premium .jlit-unified-pin-core{
 border-color:#fff4b5!important;
 background:#efb90f!important;
 box-shadow:
   inset 0 1px 0 rgba(255,255,255,.34),
   0 1px 4px rgba(73,47,0,.38)!important;
}
.jlit-b3d-shell .jlit-unified-marker.is-premium .jlit-unified-pin:after{
 border-color:#fff4b5!important;
 background:#dca107!important;
 box-shadow:2px 2px 4px rgba(73,47,0,.30)!important;
}

/* Commercial Member Offer marker must remain above ordinary place markers. */
.jlit-b3d-shell .maplibregl-marker.jlit-commercial-marker.jlit-unified-commercial{
 z-index:44!important;
 overflow:visible!important;
 pointer-events:auto!important;
}
.jlit-b3d-shell .maplibregl-marker.jlit-landmark-marker.jlit-unified-marker-host{
 z-index:32!important;
}

/* Stronger category colours, matching the key but with less pastel haze. */
.jlit-b3d-shell [data-marker-theme="member"]{--pin-color:#efb90f!important}
.jlit-b3d-shell [data-marker-theme="tour"]{--pin-color:#168df0!important}
.jlit-b3d-shell [data-marker-theme="shopping"]{--pin-color:#e84299!important}
.jlit-b3d-shell [data-marker-theme="attractions"]{--pin-color:#159fdf!important}
.jlit-b3d-shell [data-marker-theme="park"]{--pin-color:#22bd75!important}
.jlit-b3d-shell [data-marker-theme="dining"]{--pin-color:#f36d18!important}
.jlit-b3d-shell [data-marker-theme="accommodation"]{--pin-color:#20c4c9!important}
.jlit-b3d-shell [data-marker-theme="transit"]{--pin-color:#ec405a!important}
.jlit-b3d-shell [data-marker-theme="ferry"]{--pin-color:#12b8e3!important}
.jlit-b3d-shell [data-marker-theme="hospital"]{--pin-color:#24c967!important}
.jlit-b3d-shell [data-marker-theme="parking"]{--pin-color:#2586ef!important}


/* v2.0.165 — permanently fixed geographic pin tips.
   Ordinary map markers no longer resize as zoom changes. */
.jlit-b3d-shell .jlit-landmark-marker.jlit-unified-marker-host{
 --jlit-marker-scale:1!important;
}
.jlit-b3d-shell .jlit-landmark-marker.jlit-unified-marker-host > .jlit-unified-marker{
 transform:scale(1)!important;
 transform-origin:28px 58px!important;
 transition:none!important;
}
.jlit-b3d-shell .jlit-commercial-marker.jlit-unified-commercial > .jlit-unified-marker{
 transform:scale(1)!important;
 transform-origin:31px 68px!important;
 transition:none!important;
}

/* The geographic host itself must never animate or be visually transformed by
   JLIT CSS. MapLibre's inline translate remains the only host transform. */
.jlit-b3d-shell .maplibregl-marker.jlit-unified-marker-host{
 transition:none!important;
 animation:none!important;
 will-change:auto!important;
}

/* Keep the exact teardrop point visually crisp at all zoom levels. */
.jlit-b3d-shell .jlit-unified-pin,
.jlit-b3d-shell .jlit-unified-pin-core,
.jlit-b3d-shell .jlit-unified-pin:after{
 transition:none!important;
}

/* Sports on 20 / all commercial member pins render above the map UI marker stack. */
.jlit-b3d-shell .maplibregl-marker.jlit-commercial-marker.jlit-unified-commercial{
 z-index:120!important;
 display:block!important;
 overflow:visible!important;
}

/* Mobile also keeps the coordinate tip fixed; no separate .88 scaling. */
@media(max-width:760px){
 .jlit-b3d-shell .jlit-commercial-marker.jlit-unified-commercial > .jlit-unified-marker{
  transform:scale(1)!important;
  transform-origin:31px 68px!important;
 }
}


/* v2.0.166 — true rooftop anchoring.
   MapLibre Marker altitude now matches the building extrusion height, eliminating
   ground-plane parallax when panning/tilting a 3D map. */
.jlit-b3d-shell .maplibregl-marker.jlit-unified-marker-host{
 backface-visibility:hidden!important;
 -webkit-backface-visibility:hidden!important;
}
.jlit-b3d-shell .maplibregl-marker.jlit-commercial-marker.jlit-unified-commercial{
 z-index:150!important;
 visibility:visible;
}

/* Keep the teardrop itself optically sharp while it is projected at roof altitude. */
.jlit-b3d-shell .jlit-unified-pin-core,
.jlit-b3d-shell .jlit-unified-pin:after{
 filter:none!important;
 backdrop-filter:none!important;
 -webkit-backdrop-filter:none!important;
}


/* v2.0.167 — immutable geographic anchors.
   Marker hosts are owned entirely by MapLibre. JLIT never animates or transforms
   the host after placement. */
.jlit-b3d-shell .maplibregl-marker.jlit-unified-marker-host{
 animation:none!important;
 transition:none!important;
 filter:none!important;
 will-change:auto!important;
}
.jlit-b3d-shell .maplibregl-marker.jlit-unified-marker-host > .jlit-unified-marker{
 transform:scale(1)!important;
 transform-origin:28px 100%!important;
 animation:none!important;
 transition:none!important;
}

/* Premium member marker uses its own pin-tip centre but remains constant-size. */
.jlit-b3d-shell .maplibregl-marker.jlit-commercial-marker.jlit-unified-commercial > .jlit-unified-marker{
 transform:scale(1)!important;
 transform-origin:31px 100%!important;
}

/* Ground-anchored open-area markers should not receive any visual lift/glow
   that can make the tip appear detached from the map. */
.jlit-b3d-shell .jlit-unified-pin,
.jlit-b3d-shell .jlit-unified-pin-core,
.jlit-b3d-shell .jlit-unified-pin:after{
 animation:none!important;
 transition:none!important;
}


/* v2.0.168 — TRUE native longitude/latitude lock.
   The MapLibre marker host alone moves when the geographic point moves on screen.
   No JLIT child transform, translate, scale, margin animation or positional transition
   is allowed to alter the pin-tip relationship to that host. */
.jlit-b3d-shell .maplibregl-marker.jlit-unified-marker-host{
 margin:0!important;
 padding:0!important;
 animation:none!important;
 transition:none!important;
 filter:none!important;
}
.jlit-b3d-shell .maplibregl-marker.jlit-unified-marker-host .jlit-unified-marker{
 margin:0!important;
 translate:none!important;
 scale:none!important;
 rotate:none!important;
 transform:none!important;
 animation:none!important;
 transition:none!important;
}


/* v2.0.169 — fixed lng/lat + fixed one-time altitude.
   No visual transform is allowed to shift the teardrop tip from MapLibre's
   projected geographic anchor. */
.jlit-b3d-shell .maplibregl-marker.jlit-unified-marker-host{
 animation:none!important;
 transition:none!important;
 filter:none!important;
}
.jlit-b3d-shell .maplibregl-marker.jlit-unified-marker-host > .jlit-unified-marker{
 transform:none!important;
 translate:none!important;
 scale:none!important;
 rotate:none!important;
 animation:none!important;
 transition:none!important;
}


/* v2.0.170 — zero-point geographic anchors, matching the working Soi-marker principle.
   The MapLibre marker element itself has NO width or height. Its exact screen point
   is therefore the longitude/latitude. The visible pin and label are absolutely
   positioned around that point and cannot affect MapLibre's anchor calculation. */

.jlit-b3d-shell .maplibregl-marker.jlit-unified-marker-host,
.jlit-b3d-shell .jlit-landmark-marker.jlit-unified-marker-host,
.jlit-b3d-shell .jlit-commercial-marker.jlit-unified-commercial{
 width:0!important;
 min-width:0!important;
 max-width:0!important;
 height:0!important;
 min-height:0!important;
 max-height:0!important;
 margin:0!important;
 padding:0!important;
 border:0!important;
 overflow:visible!important;
 background:transparent!important;
 box-shadow:none!important;
 line-height:0!important;
}

/* Ordinary landmark: pin tip sits exactly on host coordinate.
   Visual is 58px high, with tip at the bottom. */
.jlit-b3d-shell .jlit-landmark-marker.jlit-unified-marker-host > .jlit-unified-marker{
 position:absolute!important;
 left:-28px!important;
 bottom:0!important;
 top:auto!important;
 width:max-content!important;
 min-width:max-content!important;
 height:58px!important;
 margin:0!important;
 transform:none!important;
 translate:none!important;
 scale:none!important;
 rotate:none!important;
 transform-origin:28px 58px!important;
 pointer-events:auto!important;
}

/* Premium Member Offer uses the larger 68px visual, with its 31px pin centre
   directly over the same zero-size geographic anchor. */
.jlit-b3d-shell .jlit-commercial-marker.jlit-unified-commercial > .jlit-unified-marker{
 position:absolute!important;
 left:-31px!important;
 bottom:0!important;
 top:auto!important;
 width:max-content!important;
 min-width:max-content!important;
 height:68px!important;
 margin:0!important;
 transform:none!important;
 translate:none!important;
 scale:none!important;
 rotate:none!important;
 transform-origin:31px 68px!important;
 pointer-events:auto!important;
}

/* The host itself must never become the clickable area; only the visible child is. */
.jlit-b3d-shell .maplibregl-marker.jlit-unified-marker-host{
 pointer-events:none!important;
 animation:none!important;
 transition:none!important;
 filter:none!important;
}
.jlit-b3d-shell .maplibregl-marker.jlit-unified-marker-host > .jlit-unified-marker{
 pointer-events:auto!important;
}

/* Remove all layout behaviour inherited from older button/marker definitions. */
.jlit-b3d-shell button.jlit-commercial-marker.jlit-unified-commercial{
 display:block!important;
 flex:none!important;
 align-items:initial!important;
 justify-content:initial!important;
}

/* Constant readable size at all zoom levels. The anchor never changes. */
.jlit-b3d-shell .jlit-landmark-marker.jlit-unified-marker-host{
 --jlit-marker-scale:1!important;
 --lm-scale:1!important;
}

/* Mobile uses identical zero-point anchoring. */
@media(max-width:760px){
 .jlit-b3d-shell .jlit-landmark-marker.jlit-unified-marker-host > .jlit-unified-marker{
  left:-28px!important;
  bottom:0!important;
  transform:none!important;
 }
 .jlit-b3d-shell .jlit-commercial-marker.jlit-unified-commercial > .jlit-unified-marker{
  left:-31px!important;
  bottom:0!important;
  transform:none!important;
 }
}


/* v2.0.172 — route visibility + compact side panels. */

/* Preserve more map space: slimmer layer panel without wrapping labels. */
.jlit-b3d-shell .jlit-marker-key{
 width:242px!important;
}
.jlit-b3d-shell .jlit-key-row{
 grid-template-columns:minmax(0,1fr) 30px 36px!important;
 gap:5px!important;
 min-height:51px!important;
}
.jlit-b3d-shell .jlit-key-layer-main{
 gap:8px!important;
 min-height:49px!important;
 padding:6px 4px 6px 9px!important;
}
.jlit-b3d-shell .jlit-key-row .jlit-key-icon{
 width:25px!important;
 height:25px!important;
 flex-basis:25px!important;
}
.jlit-b3d-shell .jlit-key-copy strong{
 font-size:8.5px!important;
 white-space:nowrap!important;
}
.jlit-b3d-shell .jlit-key-copy small{
 font-size:6.2px!important;
 white-space:nowrap!important;
}

/* Count badge: centred, bold and actually readable. */
.jlit-b3d-shell .jlit-key-count{
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 width:28px!important;
 min-width:28px!important;
 height:24px!important;
 margin:0!important;
 padding:0!important;
 border-radius:7px!important;
 background:#0a1d28!important;
 border:1px solid #466476!important;
 color:#fff!important;
 font:900 10px/24px Arial,sans-serif!important;
 text-align:center!important;
 letter-spacing:0!important;
 overflow:hidden!important;
}

/* Slimmer turn-by-turn drawer. */
.jlit-b3d-shell .jlit-directions-drawer,
.jlit-b3d-shell .jlit-directions-panel{
 width:318px!important;
 max-width:318px!important;
}
.jlit-b3d-shell .jlit-directions-drawer.is-open{
 right:12px!important;
}
.jlit-b3d-shell .jlit-directions-list{
 padding-left:10px!important;
 padding-right:10px!important;
}
.jlit-b3d-shell .jlit-directions-list .jlit-turn-icon{
 flex:0 0 42px!important;
 width:42px!important;
}
.jlit-b3d-shell .jlit-directions-list .jlit-manoeuvre-svg{
 width:27px!important;
 height:27px!important;
}
.jlit-b3d-shell .jlit-directions-list strong{
 font-size:10px!important;
}
.jlit-b3d-shell .jlit-directions-list span,
.jlit-b3d-shell .jlit-directions-list small{
 font-size:8px!important;
}

/* Make the active cyan route clearly visible against buildings/roads. */
.jlit-b3d-shell[data-jlit-nav-stage="route"] .maplibregl-canvas,
.jlit-b3d-shell[data-jlit-nav-stage="active"] .maplibregl-canvas{
 outline:0!important;
}

@media(max-width:760px){
 .jlit-b3d-shell .jlit-marker-key{
  width:min(80vw,264px)!important;
 }
 .jlit-b3d-shell .jlit-directions-drawer,
 .jlit-b3d-shell .jlit-directions-panel{
  width:auto!important;
  max-width:none!important;
 }
}


/* v2.0.173 — patient geolocation state + start-focused routing + blue Directions cue. */
.jlit-b3d-shell .jlit-location-retry-card.is-waiting .jlit-location-retry-actions{
 display:none!important;
}
.jlit-b3d-shell .jlit-location-retry-card.is-waiting{
 min-height:190px!important;
}
.jlit-b3d-shell .jlit-location-retry-icon{
 display:grid!important;
 place-items:center!important;
}
.jlit-b3d-shell .jlit-location-spinner{
 display:block!important;
 width:34px!important;
 height:34px!important;
 border:4px solid rgba(90,214,255,.24)!important;
 border-top-color:#42d4ff!important;
 border-right-color:#42d4ff!important;
 border-radius:50%!important;
 animation:jlitLocationSpin .78s linear infinite!important;
 box-shadow:0 0 12px rgba(47,204,255,.22)!important;
}
@keyframes jlitLocationSpin{
 to{transform:rotate(360deg)}
}

/* Once the route is ready, START DIRECTIONS must be unmistakable. */
@keyframes jlitDirectionsBluePulse{
 0%,100%{
  box-shadow:
    0 0 0 2px #5ce4ff,
    0 0 0 5px rgba(33,202,255,.28),
    0 0 14px rgba(22,194,255,.55)!important;
  transform:scale(1)!important;
 }
 50%{
  box-shadow:
    0 0 0 4px #75ebff,
    0 0 0 9px rgba(33,202,255,.18),
    0 0 26px rgba(22,194,255,.82)!important;
  transform:scale(1.035)!important;
 }
}
.jlit-b3d-shell.jlit-guide-directions .jlit-nav-directions{
 position:relative!important;
 border-color:#63e4ff!important;
 animation:jlitDirectionsBluePulse .82s ease-in-out infinite!important;
 z-index:5!important;
}
.jlit-b3d-shell.jlit-guide-directions .jlit-nav-directions .jlit-nav-icon,
.jlit-b3d-shell.jlit-guide-directions .jlit-nav-directions b{
 color:#fff!important;
}

/* Keep the guide colour consistent with the blue action cue. */
.jlit-b3d-shell.jlit-guide-directions .jlit-guide-banner.is-orange{
 border-color:#42d4ff!important;
 box-shadow:0 0 0 2px rgba(66,212,255,.18),0 8px 24px rgba(0,0,0,.34),0 0 18px rgba(66,212,255,.36)!important;
}


/* v2.0.174 — unmistakable next-step cue + route layers forced above 3D city. */
.jlit-b3d-shell .jlit-location-retry-card.is-waiting > strong{
 font-size:18px!important;
 line-height:1.08!important;
 letter-spacing:.2px!important;
}
.jlit-b3d-shell .jlit-location-retry-card.is-waiting > span{
 display:block!important;
 margin-top:9px!important;
 color:#fff!important;
 font:900 15px/1.15 Arial,sans-serif!important;
}

/* Do not scale the button itself. Draw an independent animated frame around it. */
.jlit-b3d-shell.jlit-guide-directions .jlit-nav-directions{
 position:relative!important;
 overflow:visible!important;
 animation:none!important;
 transform:none!important;
 border-color:#5ce4ff!important;
}
.jlit-b3d-shell.jlit-guide-directions .jlit-nav-directions::after{
 content:""!important;
 position:absolute!important;
 z-index:20!important;
 pointer-events:none!important;
 inset:-5px!important;
 border:3px solid #59ddff!important;
 border-radius:14px!important;
 opacity:1!important;
 animation:jlitStartDirectionsFrame 1s ease-in-out infinite!important;
}
@keyframes jlitStartDirectionsFrame{
 0%,100%{
  inset:-4px;
  border-color:#54ddff;
  box-shadow:0 0 0 2px rgba(84,221,255,.30),0 0 11px rgba(33,202,255,.58);
  opacity:.88;
 }
 50%{
  inset:-9px;
  border-color:#93efff;
  box-shadow:0 0 0 5px rgba(84,221,255,.18),0 0 27px rgba(33,202,255,.92);
  opacity:1;
 }
}

/* Blue route-ready guide banner, matching the button cue. */
.jlit-b3d-shell .jlit-guide-banner.is-blue{
 border-color:#4edbff!important;
 background:linear-gradient(180deg,#0b87b4,#075f83)!important;
 box-shadow:0 8px 24px rgba(0,0,0,.32),0 0 20px rgba(54,211,255,.42)!important;
}

/* Make the road route unmistakable when rendered above the city. */
.maplibregl-map .maplibregl-canvas-container{
 isolation:isolate;
}


/* v2.0.175 — enforced deal-navigation sequence. */
.jlit-screen-route-overlay{
 position:absolute!important;inset:0!important;z-index:8!important;
 width:100%!important;height:100%!important;pointer-events:none!important;
 overflow:hidden!important;opacity:0!important;transition:opacity .12s ease!important;
}
.jlit-screen-route-overlay.is-visible{opacity:1!important}
.jlit-screen-route-overlay path{
 fill:none!important;stroke-linecap:round!important;stroke-linejoin:round!important;
 vector-effect:non-scaling-stroke!important;
}
.jlit-screen-route-glow{
 stroke:#14cfff!important;stroke-width:14!important;opacity:.34!important;
 filter:drop-shadow(0 0 6px rgba(16,207,255,.78))!important;
}
.jlit-screen-route-casing{stroke:#fff!important;stroke-width:8!important;opacity:.96!important}
.jlit-screen-route-core{
 stroke:#08c9ff!important;stroke-width:5!important;opacity:1!important;
 filter:drop-shadow(0 0 2px rgba(0,192,255,.82))!important;
}

@keyframes jlitDirectStartPulse{
 0%,100%{box-shadow:0 0 0 3px #59ddff,0 0 0 6px rgba(59,207,255,.24),0 0 14px rgba(36,207,255,.62)!important}
 50%{box-shadow:0 0 0 5px #9af2ff,0 0 0 11px rgba(59,207,255,.14),0 0 30px rgba(36,207,255,.96)!important}
}
.jlit-b3d-shell .jlit-nav-directions.jlit-route-ready-pulse{
 position:relative!important;z-index:30!important;overflow:visible!important;
 border:2px solid #74e7ff!important;animation:jlitDirectStartPulse .88s ease-in-out infinite!important;
}
.jlit-b3d-shell .jlit-nav-directions.jlit-route-ready-pulse::after{
 content:""!important;position:absolute!important;pointer-events:none!important;
 inset:-8px!important;border:2px solid rgba(118,232,255,.92)!important;border-radius:15px!important;
 animation:jlitDirectPulseRing .88s ease-in-out infinite!important;
}
@keyframes jlitDirectPulseRing{
 0%,100%{opacity:.45;transform:scale(.985)}
 50%{opacity:1;transform:scale(1.025)}
}
.jlit-b3d-shell .jlit-location-retry-card.is-waiting>strong{
 font-size:19px!important;line-height:1.08!important;
}
.jlit-b3d-shell .jlit-location-retry-card.is-waiting>span{
 margin-top:10px!important;color:#fff!important;font:900 17px/1.1 Arial,sans-serif!important;letter-spacing:.3px!important;
}


/* v2.0.176 — route overlay moved OUTSIDE MapLibre canvas stacking context.
   It now sits directly on the JLIT shell above the map, so 3D buildings/custom
   layers cannot obscure the cyan road path. */
.jlit-b3d-shell{
 position:relative!important;
}
.jlit-b3d-shell > .jlit-screen-route-overlay{
 position:absolute!important;
 z-index:55!important;
 pointer-events:none!important;
 overflow:hidden!important;
 opacity:0!important;
 transition:opacity .10s ease!important;
}
.jlit-b3d-shell > .jlit-screen-route-overlay.is-visible{
 opacity:1!important;
}
.jlit-b3d-shell > .jlit-screen-route-overlay path{
 fill:none!important;
 stroke-linecap:round!important;
 stroke-linejoin:round!important;
 vector-effect:non-scaling-stroke!important;
}
.jlit-b3d-shell > .jlit-screen-route-overlay .jlit-screen-route-glow{
 stroke:#00cfff!important;
 stroke-width:16!important;
 opacity:.34!important;
 filter:drop-shadow(0 0 7px rgba(0,207,255,.90))!important;
}
.jlit-b3d-shell > .jlit-screen-route-overlay .jlit-screen-route-casing{
 stroke:#ffffff!important;
 stroke-width:9!important;
 opacity:.98!important;
}
.jlit-b3d-shell > .jlit-screen-route-overlay .jlit-screen-route-core{
 stroke:#00bfff!important;
 stroke-width:6!important;
 opacity:1!important;
 filter:drop-shadow(0 0 3px rgba(0,174,255,1))!important;
}

/* Keep UI above the route overlay. */
.jlit-b3d-shell .jlit-experience-bar,
.jlit-b3d-shell .jlit-marker-key,
.jlit-b3d-shell .jlit-nav-console,
.jlit-b3d-shell .jlit-route-summary,
.jlit-b3d-shell .jlit-directions-drawer,
.jlit-b3d-shell .jlit-deal-card,
.jlit-b3d-shell .jlit-location-retry,
.jlit-b3d-shell .jlit-guide-banner{
 z-index:80!important;
}

/* One single readable waiting line. */
.jlit-b3d-shell .jlit-location-retry-card.is-waiting > strong{
 max-width:340px!important;
 color:#fff!important;
 font:900 19px/1.15 Arial,sans-serif!important;
 text-align:center!important;
}
.jlit-b3d-shell .jlit-location-retry-card.is-waiting > span{
 display:none!important;
}

/* Extra-specific direct pulse selector so no contextual-nav CSS can suppress it. */
.jlit-b3d-shell button.jlit-nav-directions[data-jlit-route-ready="true"]{
 position:relative!important;
 overflow:visible!important;
 border:3px solid #69e5ff!important;
 animation:jlitDirectStartPulse .82s ease-in-out infinite!important;
 box-shadow:0 0 0 4px rgba(59,207,255,.24),0 0 22px rgba(36,207,255,.82)!important;
}


/* v2.0.177 — cyan route overlay is now a direct child of MapLibre's canvas container.
   This guarantees it is painted above the 3D canvas but below DOM controls/markers. */
.jlit-b3d-shell .maplibregl-canvas-container{
 position:relative!important;
}
.jlit-b3d-shell .maplibregl-canvas-container > .jlit-screen-route-overlay{
 position:absolute!important;
 left:0!important;
 top:0!important;
 z-index:999!important;
 pointer-events:none!important;
 overflow:visible!important;
 display:block!important;
 opacity:0!important;
 visibility:hidden!important;
 transition:none!important;
}
.jlit-b3d-shell .maplibregl-canvas-container > .jlit-screen-route-overlay.is-visible{
 opacity:1!important;
 visibility:visible!important;
}
.jlit-b3d-shell .maplibregl-canvas-container > .jlit-screen-route-overlay path{
 fill:none!important;
 stroke-linecap:round!important;
 stroke-linejoin:round!important;
 vector-effect:non-scaling-stroke!important;
}
.jlit-b3d-shell .maplibregl-canvas-container > .jlit-screen-route-overlay .jlit-screen-route-glow{
 stroke:#00d8ff!important;
 stroke-width:18!important;
 opacity:.30!important;
 filter:drop-shadow(0 0 7px rgba(0,216,255,.95))!important;
}
.jlit-b3d-shell .maplibregl-canvas-container > .jlit-screen-route-overlay .jlit-screen-route-casing{
 stroke:#ffffff!important;
 stroke-width:10!important;
 opacity:.94!important;
}
.jlit-b3d-shell .maplibregl-canvas-container > .jlit-screen-route-overlay .jlit-screen-route-core{
 stroke:#00c8ff!important;
 stroke-width:6!important;
 opacity:1!important;
 filter:drop-shadow(0 0 3px rgba(0,190,255,1))!important;
}

/* Old shell-level route SVG, if left by a previous cached DOM, is suppressed. */
.jlit-b3d-shell > .jlit-screen-route-overlay{
 display:none!important;
}


/* v2.0.178 — native MapLibre route only. Retire all experimental SVG overlays. */
.jlit-screen-route-overlay,
.jlit-b3d-shell > .jlit-screen-route-overlay,
.jlit-b3d-shell .maplibregl-canvas-container > .jlit-screen-route-overlay{
 display:none!important;
 visibility:hidden!important;
 opacity:0!important;
}

/* Native route is rendered by MapLibre as the top-most line layers.
   Keep navigation controls above canvas; no CSS route simulation is used. */


/* v2.0.179 — cyan navigation path is also rendered inside the Three.js city scene.
   This guarantees the route is painted by the same renderer as the visible city. */


/* v2.0.180 — offer Directions now uses the identical navigation mechanism as a
   manual map destination. No separate offer-routing UI or camera pathway remains. */


/* v2.0.181 — deterministic offer navigation sequence + unmistakable blue pulse. */

/* Kill the old orange route-ready pseudo-frame completely. */
.jlit-b3d-shell.jlit-guide-directions .jlit-nav-directions:not(:disabled)::before,
.jlit-b3d-shell .jlit-nav-directions[data-jlit-route-ready="true"]::before{
 content:none!important;
 display:none!important;
 animation:none!important;
}

/* Dedicated DOM ring cannot be overridden by the old contextual button rules. */
.jlit-b3d-shell .jlit-nav-directions{
 position:relative!important;
}
.jlit-b3d-shell .jlit-nav-directions .jlit-route-ready-ring{
 position:absolute!important;
 z-index:999!important;
 pointer-events:none!important;
 inset:-7px!important;
 border:4px solid #59e2ff!important;
 border-radius:15px!important;
 box-shadow:
  0 0 0 3px rgba(89,226,255,.30),
  0 0 18px rgba(35,208,255,.82)!important;
 animation:jlitRouteReadyRing181 .78s ease-in-out infinite!important;
}
@keyframes jlitRouteReadyRing181{
 0%,100%{
  inset:-5px;
  opacity:.72;
  border-color:#43d7ff;
  box-shadow:0 0 0 2px rgba(67,215,255,.28),0 0 12px rgba(35,208,255,.65);
 }
 50%{
  inset:-11px;
  opacity:1;
  border-color:#9af3ff;
  box-shadow:0 0 0 5px rgba(67,215,255,.16),0 0 30px rgba(35,208,255,1);
 }
}


/* v2.0.182 — navigation tidy + real Bangkok destination search. */

/* Opening Locate Me cue: still obvious, but no longer overpowering. */
@keyframes jlitLocateSoftPulse182{
 0%,100%{
  box-shadow:0 0 0 2px rgba(65,218,255,.72),0 0 10px rgba(42,205,255,.30)!important;
 }
 50%{
  box-shadow:0 0 0 4px rgba(107,231,255,.72),0 0 18px rgba(42,205,255,.46)!important;
 }
}
.jlit-b3d-shell.jlit-guide-locate .jlit-nav-locate{
 animation:jlitLocateSoftPulse182 1.25s ease-in-out infinite!important;
 transform:none!important;
}
.jlit-b3d-shell.jlit-guide-locate .jlit-nav-locate::before{
 border-width:2px!important;
 inset:-3px!important;
 opacity:.55!important;
 animation:none!important;
 box-shadow:none!important;
}

/* Opening navigation: compact Locate + compact Where To + genuine text search. */
.jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-console,
.jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-console,
.jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-console{
 width:min(850px,calc(100% - 34px))!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-console-body,
.jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-console-body,
.jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-console-body{
 grid-template-columns:210px 142px minmax(260px,1fr)!important;
 gap:6px!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-locate,
.jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-locate,
.jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-locate{
 min-height:62px!important;
 padding:7px 12px!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-destination-tool,
.jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-destination-tool,
.jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-destination-tool{
 display:flex!important;
 min-height:62px!important;
 padding:7px 10px!important;
 justify-content:center!important;
}
.jlit-b3d-shell .jlit-nav-destination-tool b{
 white-space:nowrap!important;
}

/* The search box is only part of the pre-route/navigation-selection states. */
.jlit-nav-search{
 display:none;
 position:relative!important;
 min-width:0!important;
 min-height:62px!important;
 align-items:center!important;
 gap:8px!important;
 padding:7px 9px!important;
 border:1px solid #284f63!important;
 border-radius:11px!important;
 background:linear-gradient(180deg,#0b2635,#071c28)!important;
 box-shadow:inset 0 1px rgba(255,255,255,.05)!important;
 z-index:42!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-search,
.jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-search,
.jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-search{
 display:flex!important;
}
.jlit-nav-search:focus-within{
 border-color:#39cef6!important;
 box-shadow:0 0 0 2px rgba(57,206,246,.18),0 0 16px rgba(28,189,235,.18)!important;
}
.jlit-nav-search-icon{
 flex:0 0 27px!important;
 width:27px!important;height:27px!important;
 display:grid!important;place-items:center!important;
 color:#55d9ff!important;font:900 26px/1 Arial,sans-serif!important;
 transform:rotate(-20deg)!important;
}
.jlit-nav-search input{
 flex:1 1 auto!important;
 min-width:0!important;
 width:100%!important;
 height:42px!important;
 margin:0!important;padding:0 4px!important;
 border:0!important;outline:0!important;
 background:transparent!important;
 color:#fff!important;
 font:800 12px/42px Arial,sans-serif!important;
 box-shadow:none!important;
}
.jlit-nav-search input::placeholder{
 color:#8da6b4!important;
 font-weight:700!important;
 opacity:1!important;
}
.jlit-nav-search-clear{
 flex:0 0 28px!important;
 width:28px!important;height:28px!important;
 padding:0!important;margin:0!important;
 border:0!important;border-radius:8px!important;
 background:#102f3f!important;color:#a8c7d5!important;
 font:800 18px/28px Arial,sans-serif!important;
}
.jlit-nav-search-clear:hover{color:#fff!important;background:#164156!important}

/* Results open upward because the navigation dock lives at the bottom. */
.jlit-nav-search-results{
 display:none!important;
 position:absolute!important;
 left:0!important;right:0!important;
 bottom:calc(100% + 7px)!important;
 max-height:280px!important;
 overflow:auto!important;
 padding:6px!important;
 border:1px solid #365f74!important;
 border-radius:12px!important;
 background:rgba(5,20,29,.985)!important;
 box-shadow:0 16px 38px rgba(0,0,0,.48)!important;
 z-index:500!important;
}
.jlit-nav-search.is-open .jlit-nav-search-results{display:block!important}
.jlit-nav-search-result{
 display:block!important;
 width:100%!important;
 margin:0!important;padding:9px 10px!important;
 border:0!important;border-bottom:1px solid rgba(109,151,172,.16)!important;
 border-radius:8px!important;
 background:transparent!important;
 color:#fff!important;text-align:left!important;
 cursor:pointer!important;
}
.jlit-nav-search-result:last-child{border-bottom:0!important}
.jlit-nav-search-result:hover,
.jlit-nav-search-result:focus{
 background:#0d4965!important;
 outline:0!important;
}
.jlit-nav-search-result strong{
 display:block!important;
 color:#fff!important;
 font:900 11px/1.2 Arial,sans-serif!important;
}
.jlit-nav-search-result span{
 display:block!important;
 margin-top:3px!important;
 color:#9ebac8!important;
 font:700 8px/1.3 Arial,sans-serif!important;
 white-space:normal!important;
}
.jlit-nav-search-empty{
 padding:12px!important;
 color:#9db7c4!important;
 font:800 10px/1.3 Arial,sans-serif!important;
 text-align:center!important;
}
.jlit-nav-search.is-loading::after{
 content:""!important;
 position:absolute!important;
 right:43px!important;top:23px!important;
 width:15px!important;height:15px!important;
 border:2px solid rgba(75,213,250,.22)!important;
 border-top-color:#4bd5fa!important;
 border-radius:50%!important;
 animation:jlitLocationSpin .7s linear infinite!important;
}

/* Keep Where To as the familiar attention cue, but compact. */
.jlit-b3d-shell.jlit-guide-destination .jlit-nav-destination-tool::before{
 inset:-4px!important;
 border-width:3px!important;
 opacity:.88!important;
}

/* Search is hidden once an actual route owns the bottom dock. */
.jlit-b3d-shell[data-jlit-nav-stage="routing"] .jlit-nav-search,
.jlit-b3d-shell[data-jlit-nav-stage="route"] .jlit-nav-search,
.jlit-b3d-shell[data-jlit-nav-stage="active"] .jlit-nav-search{
 display:none!important;
}

/* Responsive: search becomes full-width second row on smaller screens. */
@media(max-width:760px){
 .jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-console-body,
 .jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-console-body,
 .jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-console-body{
  grid-template-columns:1fr .68fr!important;
 }
 .jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-search,
 .jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-search,
 .jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-search{
  grid-column:1/-1!important;
  min-height:50px!important;
 }
 .jlit-nav-search input{height:36px!important;line-height:36px!important}
}


/* v2.0.184 — safe isolated Deals Near Me test mode.
   Preserve v2.0.182 navigation and Member Offers behaviour. */

.jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-console,
.jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-console,
.jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-console{
 width:min(980px,calc(100% - 34px))!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-console-body,
.jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-console-body,
.jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-console-body{
 grid-template-columns:200px 132px minmax(250px,1fr) 150px!important;
 gap:6px!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-deals,
.jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-deals,
.jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-deals{
 display:flex!important;
 min-height:62px!important;
 padding:7px 9px!important;
 background:linear-gradient(180deg,#3a310d,#211d0a)!important;
 border:1px solid #8d731f!important;
 border-radius:10px!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-deals b,
.jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-deals b,
.jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-deals b{
 color:#ffe16a!important;
 font-size:8px!important;
 white-space:nowrap!important;
}
.jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-deals small,
.jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-deals small,
.jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-deals small{
 color:#c2a94e!important;
 font-size:7px!important;
}

/* Temporary test markers are clearly identifiable and only appear in Deals Near Me mode. */
.jlit-b3d-shell .jlit-nearby-test-deal .jlit-unified-label strong::after{
 content:" TEST"!important;
 display:inline-block!important;
 margin-left:4px!important;
 padding:1px 4px!important;
 border-radius:4px!important;
 background:rgba(255,255,255,.13)!important;
 color:#ffe99a!important;
 font:900 6px/1.35 Arial,sans-serif!important;
 vertical-align:1px!important;
}

@media(max-width:760px){
 .jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-console-body,
 .jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-console-body,
 .jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-console-body{
  grid-template-columns:1fr .70fr!important;
 }
 .jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-search,
 .jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-search,
 .jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-search{
  grid-column:1/-1!important;
 }
 .jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-deals,
 .jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-deals,
 .jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-deals{
  grid-column:1/-1!important;
  min-height:46px!important;
  justify-content:center!important;
 }
}


/* v2.0.185 — wider opening Siam overview + balanced Locate Me pulse. */
@keyframes jlitLocateBalancedPulse185{
 0%,100%{
  box-shadow:
   0 0 0 2px rgba(62,215,255,.76),
   0 0 10px rgba(37,199,245,.30)!important;
  border-color:#50dfff!important;
 }
 50%{
  box-shadow:
   0 0 0 4px rgba(103,231,255,.88),
   0 0 20px rgba(37,199,245,.56)!important;
  border-color:#8cecff!important;
 }
}

/* Override the older hard-ring and ultra-soft versions only for the opening locate state. */
.jlit-b3d-shell.jlit-guide-locate .jlit-nav-locate{
 position:relative!important;
 overflow:visible!important;
 transform:none!important;
 border:2px solid #4edbff!important;
 animation:jlitLocateBalancedPulse185 1.05s ease-in-out infinite!important;
}

.jlit-b3d-shell.jlit-guide-locate .jlit-nav-locate::before{
 content:""!important;
 display:block!important;
 position:absolute!important;
 pointer-events:none!important;
 z-index:20!important;
 inset:-4px!important;
 border:2px solid rgba(92,226,255,.82)!important;
 border-radius:14px!important;
 opacity:.72!important;
 box-shadow:0 0 12px rgba(45,207,250,.28)!important;
 animation:jlitLocateOuterRing185 1.05s ease-in-out infinite!important;
}

@keyframes jlitLocateOuterRing185{
 0%,100%{
  inset:-3px;
  opacity:.46;
 }
 50%{
  inset:-6px;
  opacity:.88;
 }
}

@media (prefers-reduced-motion:reduce){
 .jlit-b3d-shell.jlit-guide-locate .jlit-nav-locate,
 .jlit-b3d-shell.jlit-guide-locate .jlit-nav-locate::before{
  animation:none!important;
 }
}


/* v2.0.186 — controlled Bangkok investor/demo location. */
.jlit-demo-test-button{
 position:absolute!important;left:10px!important;bottom:10px!important;z-index:39!important;
 width:46px!important;height:46px!important;border-radius:50%!important;
 border:2px solid rgba(74,216,255,.82)!important;background:rgba(5,31,46,.94)!important;
 color:#fff!important;font:900 10px/1 Arial,sans-serif!important;letter-spacing:.7px!important;
 box-shadow:0 4px 14px rgba(0,0,0,.32),0 0 10px rgba(31,199,245,.24)!important;
 cursor:pointer!important;
}
.jlit-demo-test-button:hover{box-shadow:0 4px 14px rgba(0,0,0,.32),0 0 16px rgba(31,199,245,.52)!important}
.jlit-demo-test-button.is-active{
 width:62px!important;height:62px!important;background:#07394b!important;border-color:#ffd02e!important;
 color:#ffd02e!important;box-shadow:0 0 0 3px rgba(255,208,46,.18),0 0 18px rgba(255,208,46,.35)!important;
}
.jlit-demo-location-modal{
 position:absolute!important;inset:0!important;z-index:160!important;display:none!important;
 align-items:center!important;justify-content:center!important;background:rgba(2,14,23,.48)!important;
 backdrop-filter:blur(4px)!important;
}
.jlit-demo-location-modal.is-open{display:flex!important}
.jlit-demo-location-card{
 width:min(440px,calc(100% - 32px))!important;padding:26px!important;border-radius:20px!important;
 border:1px solid rgba(74,216,255,.55)!important;background:linear-gradient(145deg,#0b3045,#061c2a)!important;
 color:#fff!important;text-align:center!important;box-shadow:0 18px 55px rgba(0,0,0,.48)!important;
}
.jlit-demo-location-card small{display:block!important;color:#55dfff!important;font-weight:900!important;letter-spacing:1.6px!important;margin-bottom:8px!important}
.jlit-demo-location-card strong{display:block!important;font-size:21px!important;line-height:1.1!important;margin-bottom:10px!important}
.jlit-demo-location-card span{display:block!important;font-size:14px!important;line-height:1.45!important;color:#d9edf5!important}
.jlit-demo-location-actions{display:flex!important;gap:10px!important;justify-content:center!important;margin-top:20px!important}
.jlit-demo-location-actions button{
 min-height:44px!important;border-radius:11px!important;padding:0 18px!important;font-weight:900!important;cursor:pointer!important;
 border:1px solid #39d6ff!important;background:#0c8fc0!important;color:#fff!important;
}
.jlit-demo-location-actions button+button{background:#102735!important;border-color:#416171!important;color:#dbeaf0!important}
@media(max-width:760px){
 .jlit-demo-test-button{left:7px!important;bottom:7px!important;width:40px!important;height:40px!important;font-size:9px!important}
 .jlit-demo-test-button.is-active{width:52px!important;height:52px!important}
}

/* v2.0.188 — professional cosmetic pass */
.jlit-b3d-shell .jlit-topbar{border-color:rgba(76,139,166,.42)!important;box-shadow:0 8px 24px rgba(0,0,0,.22)!important;backdrop-filter:blur(12px)!important}
.jlit-b3d-shell .jlit-topbar button,.jlit-b3d-shell .jlit-topbar a{letter-spacing:.35px!important}
.jlit-b3d-shell .jlit-marker-key{width:224px!important;border-radius:14px!important;box-shadow:0 12px 30px rgba(0,0,0,.28)!important}
.jlit-b3d-shell .jlit-marker-key-top{padding:12px 12px 10px!important}
.jlit-b3d-shell .jlit-key-row{grid-template-columns:minmax(0,1fr) 28px 34px!important;min-height:48px!important;border-radius:10px!important}
.jlit-b3d-shell .jlit-key-layer-main{min-height:46px!important;padding:5px 3px 5px 8px!important}
.jlit-b3d-shell .jlit-key-copy strong{font-size:8.2px!important;letter-spacing:.05px!important}
.jlit-b3d-shell .jlit-key-copy small{font-size:5.9px!important;opacity:.72!important}
.jlit-b3d-shell .jlit-key-count{width:27px!important;min-width:27px!important;height:23px!important;font:900 10px/23px Arial,sans-serif!important}
.jlit-b3d-shell .jlit-nav-console{border:1px solid rgba(62,148,183,.55)!important;border-radius:15px!important;background:linear-gradient(180deg,rgba(8,31,44,.97),rgba(4,19,29,.98))!important;box-shadow:0 14px 34px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.05)!important;padding:5px!important}
.jlit-b3d-shell .jlit-nav-console-body{gap:4px!important}
.jlit-b3d-shell .jlit-nav-console-body>button,.jlit-b3d-shell .jlit-nav-search{border-radius:10px!important;box-shadow:none!important}
.jlit-b3d-shell .jlit-nav-search{background:rgba(5,25,36,.72)!important}
.jlit-b3d-shell .jlit-directions-drawer,.jlit-b3d-shell .jlit-directions-panel{width:296px!important;max-width:296px!important;border-radius:15px!important;box-shadow:0 16px 34px rgba(0,0,0,.34)!important}
.jlit-b3d-shell .jlit-directions-list strong{font-size:9.6px!important}
.jlit-b3d-shell .jlit-directions-list span,.jlit-b3d-shell .jlit-directions-list small{font-size:7.7px!important}
.jlit-b3d-shell .jlit-landmark-marker.jlit-unified-marker-host>.jlit-unified-marker{transform:scale(var(--lm-scale,1))!important;transform-origin:50% 100%!important;transition:opacity .16s ease,filter .16s ease!important}
.jlit-b3d-shell .jlit-landmark-marker.jlit-lod-compact .jlit-unified-label{max-width:118px!important}
.jlit-b3d-shell .jlit-landmark-marker.jlit-lod-compact .jlit-unified-label small{display:none!important}
.jlit-b3d-shell .jlit-landmark-marker.jlit-lod-compact{opacity:.86!important}
.jlit-b3d-shell .jlit-commercial-marker{z-index:34!important;filter:drop-shadow(0 5px 9px rgba(0,0,0,.28))!important}
.jlit-demo-test-button:not(.is-active){opacity:.78!important;transform:scale(.9)!important}
.jlit-demo-test-button:not(.is-active):hover{opacity:1!important;transform:scale(1)!important}
@media(min-width:761px) and (max-width:1200px){.jlit-b3d-shell .jlit-marker-key{width:214px!important}.jlit-b3d-shell .jlit-directions-drawer,.jlit-b3d-shell .jlit-directions-panel{width:282px!important;max-width:282px!important}}
@media(max-width:760px){.jlit-b3d-shell .jlit-marker-key{width:min(76vw,248px)!important}.jlit-b3d-shell .jlit-directions-drawer,.jlit-b3d-shell .jlit-directions-panel{width:auto!important;max-width:none!important}}

/* v2.0.190 — facade-preservation pass. Based on v2.0.188; v2.0.189 lighting experiment intentionally discarded. */

/* v2.0.191 — performance audit: stale-build cancellation, visibility pause, adaptive animation cadence, deferred assets, DOM/event cleanup. */

/* v2.0.192 — interaction latency fix: heavy Three.js work pauses during map gestures; facade work resumes after settle. */

/* v2.0.193 — smoothness-priority runtime: full-frame animation, no interaction freeze, idle-only construction. */


/* v2.0.196 — deal-card scroll access. Keep the direct QR claim visible inside the fixed map viewport. */
@media(min-width:901px){
 .jlit-b3d-shell .jlit-deal-card{
  max-height:calc(100% - 102px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
  scrollbar-width:thin!important;
 }
 .jlit-b3d-shell .jlit-deal-card::-webkit-scrollbar{width:8px!important}
 .jlit-b3d-shell .jlit-deal-card::-webkit-scrollbar-track{background:#071923!important}
 .jlit-b3d-shell .jlit-deal-card::-webkit-scrollbar-thumb{background:#365d70!important;border-radius:999px!important}
 .jlit-b3d-shell .jlit-deal-card-close{position:sticky!important;float:right!important;top:10px!important;margin:10px 10px -41px 0!important}
}


/* v2.0.197 — deal-card viewport lock + persistent scrollbar; Sports on 20 live offer copy sync. */
@media(min-width:901px){
 .jlit-b3d-shell .jlit-deal-card{
  top:86px!important;bottom:14px!important;height:auto!important;max-height:none!important;
  overflow-x:hidden!important;overflow-y:scroll!important;overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;scrollbar-width:auto!important;scrollbar-color:#4d7f96 #041018!important;
 }
 .jlit-b3d-shell .jlit-deal-card::-webkit-scrollbar{width:10px!important}
 .jlit-b3d-shell .jlit-deal-card::-webkit-scrollbar-track{background:#041018!important}
 .jlit-b3d-shell .jlit-deal-card::-webkit-scrollbar-thumb{background:#4d7f96!important;border:2px solid #041018!important;border-radius:999px!important}
}

/* v2.0.198 — real Bangkok JLIT member offers added from live ListingPro data. */


/* v2.0.199 — commercial-first map hierarchy + Member Offers overview. */
/* Supporting landmarks/attractions are intentionally subordinate at city scale.
   Scale is applied around the pin tip, so geographic anchoring remains exact. */
.jlit-b3d-shell .jlit-landmark-marker.jlit-unified-marker-host > .jlit-unified-marker{
 transform:scale(var(--lm-scale,1))!important;
 transform-origin:28px 58px!important;
 transition:opacity .14s ease!important;
}
.jlit-b3d-shell .jlit-landmark-marker.jlit-lod-compact .jlit-unified-label{
 max-width:104px!important;
}
.jlit-b3d-shell .jlit-landmark-marker.jlit-lod-compact .jlit-unified-label strong{
 font-size:10px!important;
}
.jlit-b3d-shell .jlit-landmark-marker.jlit-lod-micro .jlit-unified-label{
 display:none!important;
}
.jlit-b3d-shell .jlit-landmark-marker.jlit-lod-micro{
 opacity:.68!important;
}
/* Gold Member Offers stay visually dominant and never inherit landmark LOD scaling. */
.jlit-b3d-shell .jlit-commercial-marker.jlit-unified-commercial > .jlit-unified-marker{
 transform:none!important;
 opacity:1!important;
}
.jlit-b3d-shell .maplibregl-marker.jlit-commercial-marker.jlit-unified-commercial{
 z-index:180!important;
}


/* v2.0.200 — hard commercial-first hierarchy. These selectors are deliberately
   appended last and use !important so older marker sizing rules cannot win. */
.jlit-b3d-shell .jlit-landmark-marker .jlit-unified-marker{will-change:transform!important;}
.jlit-b3d-shell .jlit-landmark-marker .jlit-unified-label{transition:none!important;}
.jlit-b3d-shell .jlit-commercial-marker.jlit-unified-commercial .jlit-unified-marker,
.jlit-b3d-shell .jlit-commercial-marker.jlit-unified-commercial .jlit-unified-label{
 opacity:1!important;visibility:visible!important;
}
.jlit-b3d-shell [data-jlit-layer-row="member"] .jlit-key-layer-main{cursor:pointer!important;}

/* v2.0.201 — Member Offers key now focuses the densest live commercial cluster; supporting-marker LOD from v2.0.200 preserved. */

/* v2.0.204 — Viator affiliate hydration + deterministic live layer counts. */

/* v2.0.205 — monetised Viator experiences remain one Tours layer but use
   experience-specific neon colours so the commercial inventory reads as varied. */
.jlit-b3d-shell [data-marker-theme="tour-food"]{--pin-color:#ff3f57!important}
.jlit-b3d-shell [data-marker-theme="tour-shopping"]{--pin-color:#ef4fa3!important}
.jlit-b3d-shell [data-marker-theme="tour-river"]{--pin-color:#24c8e8!important}
.jlit-b3d-shell [data-marker-theme="tour-active"]{--pin-color:#28d487!important}
.jlit-b3d-shell [data-marker-theme="tour-culture"]{--pin-color:#9a58e8!important}
.jlit-b3d-shell [data-marker-theme="tour-night"]{--pin-color:#ff8a2b!important}


/* v2.0.206 — automatic left/right commercial label flipping.
   The geographic pin itself never moves; only the name/deal pill changes side. */
.jlit-b3d-shell .jlit-commercial-marker.jlit-label-left > .jlit-unified-marker .jlit-unified-label{
 position:absolute!important;
 right:38px!important;
 left:auto!important;
 top:0!important;
 margin:3px -14px 0 0!important;
 padding:7px 25px 7px 13px!important;
 border-radius:12px 20px 20px 12px!important;
 text-align:right!important;
 align-items:flex-end!important;
}
.jlit-b3d-shell .jlit-commercial-marker.jlit-label-left > .jlit-unified-marker .jlit-unified-label:after{
 left:auto!important;
 right:0!important;
 border-radius:0 20px 20px 0!important;
 background:linear-gradient(270deg,color-mix(in srgb,var(--pin-color) 48%,transparent),transparent)!important;
}
.jlit-b3d-shell .jlit-commercial-marker.jlit-label-left > .jlit-unified-marker.is-premium .jlit-unified-label{
 right:43px!important;
 margin:3px -16px 0 0!important;
 padding:8px 29px 8px 15px!important;
 border-radius:13px 23px 23px 13px!important;
}
.jlit-b3d-shell .jlit-commercial-marker.jlit-label-left > .jlit-unified-marker.is-premium .jlit-unified-label:after{
 left:auto!important;
 right:0!important;
 border-radius:0 23px 23px 0!important;
 background:linear-gradient(270deg,rgba(234,181,18,.34),transparent)!important;
}


/* v2.0.210 — desktop readability + explicit home icon polish. */
@media(min-width:1051px){
  .jlit-nav-tool b{font-size:11px!important;line-height:1.05!important;letter-spacing:.62px!important;text-shadow:0 1px 2px rgba(0,0,0,.55)!important}
  .jlit-nav-tool small{font-size:9.5px!important;line-height:1.1!important;font-weight:800!important;color:#9bb1bd!important;letter-spacing:.12px!important;text-shadow:0 1px 2px rgba(0,0,0,.5)!important}
  .jlit-nav-brand strong{font-size:14px!important}.jlit-nav-brand small{font-size:9px!important;color:#a2b7c2!important}
  .jlit-nav-tool>span{gap:5px!important}
}
.jlit-experience-tools .jlit-home-tool{display:grid!important;place-items:center!important;min-width:38px!important;width:38px!important;height:38px!important;padding:0!important}
.jlit-experience-tools .jlit-home-tool svg{display:block!important;width:22px!important;height:22px!important;color:#172432!important}
.jlit-experience-tools .jlit-home-tool:hover svg{color:#172432!important}


/* v2.0.211 — home visibility + gold double-frame Deals Near Me. */
.jlit-experience-tools .jlit-home-tool svg,
.jlit-experience-tools .jlit-home-tool:hover svg{
  color:#fff!important;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.65))!important;
}
.jlit-b3d-shell .jlit-nav-console .jlit-nav-deals{
  border:2px solid #d7a91e!important;
  box-shadow:inset 0 0 0 3px #211d0a, inset 0 0 0 4px #f0c84b, 0 0 10px rgba(231,181,32,.24)!important;
  outline:1px solid rgba(255,220,91,.42)!important;
  outline-offset:2px!important;
}


/* v2.0.212 — fixed-coordinate marker hard lock.
   MapLibre anchors the teardrop tip using bottom-left + a fixed X offset, so
   label width, label visibility and left/right banner presentation cannot
   change the geographic attachment point while the map pans or rotates. */
.jlit-b3d-shell .maplibregl-marker.jlit-unified-marker-host{
  transform-origin:0 100%!important;
}


/* v2.0.213 — remove redundant mapped-content search from the top bar and
   rebalance the freed space into a cleaner desktop/mobile command strip. */
.jlit-b3d-shell .jlit-experience-bar{
  grid-template-columns:auto minmax(300px,1fr) auto auto!important;
  gap:12px!important;
  padding-left:8px!important;
  padding-right:8px!important;
}
.jlit-b3d-shell .jlit-experience-tabs{
  gap:6px!important;
  min-width:0!important;
}
.jlit-b3d-shell .jlit-experience-tabs button{
  min-width:70px!important;
  padding:0 14px!important;
  font-size:7.5px!important;
  letter-spacing:.72px!important;
}
.jlit-b3d-shell .jlit-experience-bar .jlit-time-controls{justify-self:end!important}
.jlit-b3d-shell .jlit-experience-tools{justify-self:end!important}
@media(max-width:900px){
  .jlit-b3d-shell .jlit-experience-bar{
    grid-template-columns:minmax(0,1fr) auto!important;
    min-height:52px!important;
  }
  .jlit-b3d-shell .jlit-experience-tabs{grid-column:1!important;grid-row:1!important;overflow-x:auto!important}
  .jlit-b3d-shell .jlit-experience-bar .jlit-time-controls{grid-column:2!important;grid-row:1!important}
  .jlit-b3d-shell .jlit-marker-key{top:82px!important}
  .jlit-b3d-shell .maplibregl-ctrl-top-right{top:70px!important}
  .jlit-b3d-shell .jlit-guide-banner.is-yellow{top:136px!important}
  .jlit-b3d-shell .jlit-guide-banner.is-orange{top:142px!important}
}
@media(max-width:600px){
  .jlit-b3d-shell .jlit-experience-tabs button{min-width:62px!important;padding:0 9px!important;font-size:6.7px!important}
  .jlit-b3d-shell .jlit-marker-key{top:72px!important}
  .jlit-b3d-shell .maplibregl-ctrl-top-right{top:66px!important}
}


/* v2.0.214 — simplify the top command strip after removing redundant Deals/Tours
   and the duplicate layer-toggle tool. Keep only genuinely distinct actions,
   compact the bar to its content, and add a subtle live-state indicator. */
.jlit-b3d-shell .jlit-experience-bar{
  right:auto!important;
  width:max-content!important;
  max-width:calc(100% - 28px)!important;
  grid-template-columns:auto auto auto auto auto!important;
  gap:8px!important;
  min-height:54px!important;
  padding:5px 7px!important;
}
.jlit-b3d-shell .jlit-experience-tabs{
  gap:4px!important;
}
.jlit-b3d-shell .jlit-experience-tabs button{
  min-width:76px!important;
  padding:0 14px!important;
  font-size:7.7px!important;
}
.jlit-b3d-shell .jlit-live-status{
  height:34px!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:0 9px!important;
  border:1px solid rgba(59,220,122,.28)!important;
  border-radius:9px!important;
  background:rgba(10,40,28,.48)!important;
  color:#74f0a4!important;
  white-space:nowrap!important;
}
.jlit-b3d-shell .jlit-live-status span{
  width:7px!important;
  height:7px!important;
  flex:0 0 7px!important;
  border-radius:50%!important;
  background:#42e77c!important;
  box-shadow:0 0 0 2px rgba(66,231,124,.12),0 0 8px rgba(66,231,124,.7)!important;
  animation:jlitLivePulse 1.45s ease-in-out infinite!important;
}
.jlit-b3d-shell .jlit-live-status strong{
  font:900 7.3px/1 Arial,sans-serif!important;
  letter-spacing:1px!important;
}
@keyframes jlitLivePulse{
  0%,100%{opacity:.55;transform:scale(.88)}
  50%{opacity:1;transform:scale(1.08)}
}
@media (prefers-reduced-motion:reduce){
  .jlit-b3d-shell .jlit-live-status span{animation:none!important}
}
@media(max-width:900px){
  .jlit-b3d-shell .jlit-experience-bar{
    width:calc(100% - 28px)!important;
    grid-template-columns:auto minmax(0,1fr) auto auto!important;
  }
  .jlit-b3d-shell .jlit-experience-brand{display:flex!important}
  .jlit-b3d-shell .jlit-experience-tabs{grid-column:auto!important;grid-row:auto!important;overflow:visible!important}
  .jlit-b3d-shell .jlit-experience-bar .jlit-time-controls{grid-column:auto!important;grid-row:auto!important}
  .jlit-b3d-shell .jlit-experience-tools{display:flex!important}
  .jlit-b3d-shell .jlit-live-status{display:none!important}
}
@media(max-width:700px){
  .jlit-b3d-shell .jlit-experience-brand{display:none!important}
  .jlit-b3d-shell .jlit-experience-bar{
    grid-template-columns:minmax(0,1fr) auto auto!important;
  }
  .jlit-b3d-shell .jlit-experience-tabs button{min-width:64px!important;padding:0 9px!important;font-size:6.7px!important}
}

/* v2.0.215 — balanced full-width command bar.
   Keep the deliberately reduced control set, but restore the header as a
   complete map-wide command strip. Left actions and right map controls form
   two clean clusters, with LIVE centred in the breathing space between them. */
@media(min-width:901px){
  .jlit-b3d-shell .jlit-experience-bar{
    left:14px!important;
    right:14px!important;
    width:auto!important;
    max-width:none!important;
    grid-template-columns:auto auto minmax(90px,1fr) auto auto!important;
    gap:10px!important;
    min-height:54px!important;
    padding:5px 7px!important;
  }
  .jlit-b3d-shell .jlit-experience-brand{
    justify-self:start!important;
  }
  .jlit-b3d-shell .jlit-experience-tabs{
    justify-self:start!important;
  }
  .jlit-b3d-shell .jlit-live-status{
    justify-self:center!important;
    align-self:center!important;
  }
  .jlit-b3d-shell .jlit-experience-bar .jlit-time-controls{
    justify-self:end!important;
  }
  .jlit-b3d-shell .jlit-experience-tools{
    justify-self:end!important;
  }
}

/* v2.0.216 — member authentication in the map command bar. */
.jlit-b3d-shell .jlit-auth-controls{
 display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:5px!important;
 padding-left:8px!important;border-left:1px solid #294453!important;white-space:nowrap!important;
}
.jlit-b3d-shell .jlit-auth-controls a{
 min-height:36px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
 padding:0 10px!important;border-radius:9px!important;text-decoration:none!important;
 font:900 7px/1 Arial,sans-serif!important;letter-spacing:.65px!important;box-sizing:border-box!important;
}
.jlit-b3d-shell .jlit-auth-login{
 color:#a9c0cc!important;border:1px solid #35566a!important;background:#0a202d!important;
}
.jlit-b3d-shell .jlit-auth-login:hover{color:#fff!important;border-color:#62cdeb!important;background:#113043!important}
.jlit-b3d-shell .jlit-auth-register{
 color:#06160d!important;border:1px solid #4fe28b!important;background:linear-gradient(180deg,#46dc82,#22ad5b)!important;
 box-shadow:0 0 0 1px rgba(74,225,137,.12),0 0 12px rgba(44,190,102,.14)!important;
}
.jlit-b3d-shell .jlit-auth-my{
 gap:6px!important;color:#dfffea!important;border:1px solid #3bcf79!important;background:#0b2b1c!important;
}
.jlit-b3d-shell .jlit-auth-user-icon{font-size:8px!important;color:#45df83!important;filter:drop-shadow(0 0 4px rgba(69,223,131,.55))!important}
@media(min-width:901px){
 .jlit-b3d-shell .jlit-experience-bar{
  grid-template-columns:auto auto minmax(70px,1fr) auto auto auto!important;
 }
}
@media(max-width:1040px) and (min-width:901px){
 .jlit-b3d-shell .jlit-auth-controls a{padding:0 8px!important;font-size:6.5px!important}
 .jlit-b3d-shell .jlit-experience-brand small{display:none!important}
}
@media(max-width:900px){
 .jlit-b3d-shell .jlit-auth-controls{padding-left:4px!important;border-left:0!important}
 .jlit-b3d-shell .jlit-auth-login{display:none!important}
 .jlit-b3d-shell .jlit-auth-controls a{min-height:34px!important;padding:0 8px!important}
}
@media(max-width:700px){
 .jlit-b3d-shell .jlit-auth-register{font-size:0!important;width:36px!important;padding:0!important}
 .jlit-b3d-shell .jlit-auth-register:after{content:'JOIN';font:900 6.5px/1 Arial!important;letter-spacing:.4px!important}
 .jlit-b3d-shell .jlit-auth-my strong{font-size:0!important}.jlit-b3d-shell .jlit-auth-my strong:after{content:'ME';font:900 6.5px/1 Arial!important}
}


/* v2.0.217 — Bangkok clock default + daylight discoverability cue */
@keyframes jlitDayAttentionPulse{
  0%,100%{box-shadow:0 0 0 1px rgba(255,224,42,.55),0 0 8px rgba(255,224,42,.30),inset 0 0 0 1px rgba(255,255,255,.08)}
  50%{box-shadow:0 0 0 3px rgba(255,224,42,.95),0 0 18px rgba(255,224,42,.75),0 0 30px rgba(255,224,42,.35),inset 0 0 0 1px rgba(255,255,255,.18)}
}
.jlit-b3d-shell .jlit-time-btn[data-jlit-time="day"].jlit-day-attention{
  animation:jlitDayAttentionPulse 1.55s ease-in-out infinite!important;
  border-color:#ffe22a!important;
}
@media (prefers-reduced-motion:reduce){
  .jlit-b3d-shell .jlit-time-btn[data-jlit-time="day"].jlit-day-attention{animation:none!important;box-shadow:0 0 0 3px rgba(255,224,42,.92),0 0 16px rgba(255,224,42,.52)!important}
}


/* v2.0.218 — current lighting mode pulse + explicit manual-switch hint */
.jlit-b3d-shell .jlit-time-switch-hint{
  display:flex;align-items:center;justify-content:center;white-space:nowrap;
  margin-left:auto;padding:0 10px;color:#9eb5c2;font:800 7px/1 Arial,sans-serif;
  letter-spacing:1.05px;text-transform:uppercase;opacity:.9
}
@keyframes jlitCurrentDayPulse{
  0%,100%{box-shadow:0 0 0 1px rgba(255,224,42,.45),0 0 7px rgba(255,224,42,.28),inset 0 0 0 1px rgba(255,255,255,.08)}
  50%{box-shadow:0 0 0 3px rgba(255,224,42,.95),0 0 18px rgba(255,224,42,.72),0 0 28px rgba(255,224,42,.30),inset 0 0 0 1px rgba(255,255,255,.18)}
}
@keyframes jlitCurrentDuskPulse{
  0%,100%{box-shadow:0 0 0 1px rgba(255,132,24,.45),0 0 7px rgba(255,132,24,.28),inset 0 0 0 1px rgba(255,255,255,.08)}
  50%{box-shadow:0 0 0 3px rgba(255,132,24,.96),0 0 18px rgba(255,112,16,.72),0 0 28px rgba(255,112,16,.30),inset 0 0 0 1px rgba(255,255,255,.18)}
}
@keyframes jlitCurrentNightPulse{
  0%,100%{box-shadow:0 0 0 1px rgba(34,205,255,.45),0 0 7px rgba(34,205,255,.28),inset 0 0 0 1px rgba(255,255,255,.08)}
  50%{box-shadow:0 0 0 3px rgba(34,205,255,.96),0 0 18px rgba(34,205,255,.72),0 0 28px rgba(34,205,255,.30),inset 0 0 0 1px rgba(255,255,255,.18)}
}
.jlit-b3d-shell .jlit-time-btn[data-jlit-time="day"].jlit-current-time-pulse{animation:jlitCurrentDayPulse 1.55s ease-in-out infinite!important;border-color:#ffe22a!important}
.jlit-b3d-shell .jlit-time-btn[data-jlit-time="dusk"].jlit-current-time-pulse{animation:jlitCurrentDuskPulse 1.55s ease-in-out infinite!important;border-color:#ff8418!important}
.jlit-b3d-shell .jlit-time-btn[data-jlit-time="night"].jlit-current-time-pulse{animation:jlitCurrentNightPulse 1.55s ease-in-out infinite!important;border-color:#22cdff!important}
@media(max-width:1120px){.jlit-b3d-shell .jlit-time-switch-hint{padding:0 5px;font-size:6px;letter-spacing:.65px}}
@media(max-width:900px){.jlit-b3d-shell .jlit-time-switch-hint{display:none}}
@media(prefers-reduced-motion:reduce){
 .jlit-b3d-shell .jlit-time-btn.jlit-current-time-pulse{animation:none!important;box-shadow:0 0 0 2px currentColor,0 0 12px currentColor!important}
}


/* v2.0.219 — exact active-mode frame flash + single-row desktop header rebalance.
   The geographic/time behavior is unchanged. Only the border/frame of the
   currently active Day/Dusk/Night control flashes on/off; button contents do
   not pulse. Desktop auth is kept in the same command-bar row. */
@keyframes jlitActiveFrameFlash{
  0%,42%{opacity:1}
  58%,100%{opacity:.08}
}
.jlit-b3d-shell .jlit-time-btn{position:relative!important}
.jlit-b3d-shell .jlit-time-btn.jlit-current-time-pulse{
  animation:none!important;
}
.jlit-b3d-shell .jlit-time-btn.jlit-current-time-pulse::after{
  content:""!important;
  position:absolute!important;
  inset:-3px!important;
  border-radius:11px!important;
  pointer-events:none!important;
  animation:jlitActiveFrameFlash 1.25s steps(1,end) infinite!important;
  background:transparent!important;
  box-shadow:none!important;
}
.jlit-b3d-shell .jlit-time-btn[data-jlit-time="day"].jlit-current-time-pulse::after{
  border:3px solid #ffe22a!important;
  filter:drop-shadow(0 0 5px rgba(255,226,42,.78))!important;
}
.jlit-b3d-shell .jlit-time-btn[data-jlit-time="dusk"].jlit-current-time-pulse::after{
  border:3px solid #ff8418!important;
  filter:drop-shadow(0 0 5px rgba(255,132,24,.80))!important;
}
.jlit-b3d-shell .jlit-time-btn[data-jlit-time="night"].jlit-current-time-pulse::after{
  border:3px solid #22cdff!important;
  filter:drop-shadow(0 0 5px rgba(34,205,255,.82))!important;
}
@media(prefers-reduced-motion:reduce){
  .jlit-b3d-shell .jlit-time-btn.jlit-current-time-pulse::after{animation:none!important;opacity:1!important}
}

@media(min-width:901px){
  .jlit-b3d-shell .jlit-experience-bar{
    left:14px!important;
    right:14px!important;
    width:auto!important;
    max-width:none!important;
    grid-template-columns:auto auto auto minmax(60px,1fr) auto auto auto!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    column-gap:8px!important;
    row-gap:0!important;
    min-height:54px!important;
    height:54px!important;
    padding:5px 7px!important;
    overflow:visible!important;
  }
  .jlit-b3d-shell .jlit-experience-brand,
  .jlit-b3d-shell .jlit-experience-tabs,
  .jlit-b3d-shell .jlit-live-status,
  .jlit-b3d-shell .jlit-time-switch-hint,
  .jlit-b3d-shell .jlit-time-controls,
  .jlit-b3d-shell .jlit-experience-tools,
  .jlit-b3d-shell .jlit-auth-controls{
    grid-row:1!important;
    align-self:center!important;
    margin-top:0!important;
    margin-bottom:0!important;
  }
  .jlit-b3d-shell .jlit-experience-brand{grid-column:1!important;justify-self:start!important}
  .jlit-b3d-shell .jlit-experience-tabs{grid-column:2!important;justify-self:start!important}
  .jlit-b3d-shell .jlit-live-status{grid-column:3!important;justify-self:start!important}
  .jlit-b3d-shell .jlit-time-switch-hint{
    grid-column:4!important;
    justify-self:end!important;
    margin-left:0!important;
    padding:0 6px!important;
  }
  .jlit-b3d-shell .jlit-experience-bar .jlit-time-controls{grid-column:5!important;justify-self:end!important}
  .jlit-b3d-shell .jlit-experience-tools{grid-column:6!important;justify-self:end!important}
  .jlit-b3d-shell .jlit-auth-controls{
    grid-column:7!important;
    justify-self:end!important;
    padding-left:6px!important;
  }
}
@media(max-width:1180px) and (min-width:901px){
  .jlit-b3d-shell .jlit-experience-bar{column-gap:6px!important;grid-template-columns:auto auto auto minmax(28px,1fr) auto auto auto!important}
  .jlit-b3d-shell .jlit-experience-tabs button{min-width:68px!important;padding-left:10px!important;padding-right:10px!important}
  .jlit-b3d-shell .jlit-time-switch-hint{font-size:5.8px!important;letter-spacing:.55px!important;padding:0 3px!important}
  .jlit-b3d-shell .jlit-auth-controls a{padding-left:7px!important;padding-right:7px!important}
}

/* v2.0.220 — no CSS opacity change: road/building occlusion corrected in MapLibre layer ordering. */


/* v2.0.221 — complete Bangkok product landing page surrounding the map. */
.jlit-bangkok-page{--jp-navy:#071a27;--jp-panel:#0c2432;--jp-ink:#13212b;--jp-muted:#667985;--jp-gold:#e9b629;--jp-blue:#138dbd;--jp-green:#18a75a;--jp-line:#dbe4e8;max-width:1500px;margin:0 auto 56px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--jp-ink)}
.jlit-bangkok-page *{box-sizing:border-box}.jlit-bangkok-page button,.jlit-bangkok-page a{font-family:inherit}
.jlit-bangkok-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:30px;align-items:end;padding:46px 28px 20px}
.jlit-page-kicker,.jlit-page-heading>span{display:block;color:#bd8500;font-size:12px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase}
.jlit-bangkok-hero h1{max-width:860px;margin:9px 0 14px;font-size:clamp(36px,4.5vw,68px);line-height:.98;letter-spacing:-2.2px;color:#091d2b}.jlit-bangkok-hero-copy>p{max-width:780px;margin:0;color:#536976;font-size:18px;line-height:1.55}
.jlit-page-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.jlit-page-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 19px;border:0;border-radius:10px;font-size:12px;font-weight:900;letter-spacing:.55px;text-decoration:none;cursor:pointer}.jlit-page-btn-gold{background:linear-gradient(180deg,#ffd95a,#e7ad15);color:#332400;box-shadow:0 7px 18px rgba(183,127,0,.19)}.jlit-page-btn-dark{background:#0b2230;color:#fff}.jlit-page-btn-blue{background:#0d89bb;color:#fff}.jlit-page-btn-green{background:#18aa5a;color:#fff}
.jlit-bangkok-hero-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.jlit-bangkok-hero-stats div{min-height:92px;padding:17px;border:1px solid #d7e2e7;border-radius:14px;background:#fff;box-shadow:0 7px 24px rgba(21,51,68,.06)}.jlit-bangkok-hero-stats strong{display:block;color:#0a2839;font-size:22px;letter-spacing:.4px}.jlit-bangkok-hero-stats span{display:block;margin-top:6px;color:#6b7e88;font-size:12px;font-weight:700}
.jlit-bangkok-page .jlit-b3d-shell{width:calc(100% - 32px);margin:18px 16px 26px}
.jlit-page-section{margin:0 16px;padding:62px 26px;border-top:1px solid var(--jp-line)}.jlit-page-heading{max-width:790px}.jlit-page-heading h2{margin:8px 0 10px;color:#0a2230;font-size:clamp(30px,3.2vw,48px);line-height:1.04;letter-spacing:-1.4px}.jlit-page-heading p{margin:0;color:#647986;font-size:16px;line-height:1.55}.jlit-heading-row{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:22px}.jlit-page-linkbtn{flex:0 0 auto;border:0;background:transparent;color:#0d80ae;font-size:12px;font-weight:900;letter-spacing:.45px;cursor:pointer}
.jlit-fourways-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}.jlit-fourways-grid article{display:flex;flex-direction:column;min-height:300px;padding:24px;border:1px solid #d8e3e8;border-radius:17px;background:#fff;box-shadow:0 8px 28px rgba(18,51,69,.06)}.jlit-feature-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#0a2636;color:#fff;font-size:22px;font-weight:900}.jlit-fourways-grid h3{margin:20px 0 8px;font-size:22px;color:#0b2230}.jlit-fourways-grid p{margin:0 0 24px;color:#657986;font-size:14px;line-height:1.55}.jlit-fourways-grid button{margin-top:auto;align-self:flex-start;border:0;background:transparent;color:#0c82b1;font-size:11px;font-weight:900;letter-spacing:.4px;cursor:pointer;padding:0}
.jlit-live-deals-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:28px}.jlit-live-deal-card{overflow:hidden;border:1px solid #d6e1e6;border-radius:17px;background:#fff;box-shadow:0 8px 28px rgba(18,51,69,.07)}.jlit-live-deal-image{position:relative;height:150px;background-position:center;background-size:cover}.jlit-live-deal-image.is-placeholder{background:linear-gradient(135deg,#102d3c,#1e5366)}.jlit-live-deal-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(3,16,24,.48),transparent 62%)}.jlit-live-deal-image span{position:absolute;z-index:2;left:12px;bottom:11px;padding:6px 9px;border-radius:7px;background:#e3ad18;color:#fff;font-size:8px;font-weight:900;letter-spacing:.9px}.jlit-live-deal-body{padding:18px}.jlit-live-deal-body small{color:#7a8c96;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.55px}.jlit-live-deal-body h3{margin:5px 0 10px;color:#0a2331;font-size:20px;line-height:1.08}.jlit-live-deal-body>strong{display:block;min-height:47px;color:#a96f00;font-size:12px;line-height:1.35;text-transform:uppercase}.jlit-live-deal-actions{display:flex;gap:7px;margin-top:15px}.jlit-live-deal-actions button,.jlit-live-deal-actions a{flex:1;min-height:38px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #cbd9df;background:#fff;color:#16313f;text-decoration:none;font-size:9px;font-weight:900;cursor:pointer}.jlit-live-deal-actions button{background:#0d88b8;border-color:#0d88b8;color:#fff}
.jlit-experiences-section{background:#071b28;border-radius:22px;color:#fff;border-top:0}.jlit-experiences-section .jlit-page-heading h2{color:#fff}.jlit-experiences-section .jlit-page-heading>span{color:#f0bb2e}.jlit-experiences-section .jlit-page-heading p{color:#a9bcc7}.jlit-experience-category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:28px}.jlit-experience-category-grid button{min-height:150px;padding:18px;border:1px solid #244454;border-radius:14px;background:linear-gradient(145deg,#0d2a39,#0a202c);color:#fff;text-align:left;cursor:pointer}.jlit-experience-category-grid b{display:block;color:#f3bd2f;font-size:17px}.jlit-experience-category-grid span{display:block;margin-top:8px;color:#a7bbc5;font-size:11px;line-height:1.4}.jlit-center-cta{text-align:center;margin-top:24px}
.jlit-member-section{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:42px;align-items:center;background:linear-gradient(120deg,#f8fbfc,#eef5f7);border-radius:22px;border-top:0}.jlit-member-pitch h2,.jlit-business-copy h2{margin:8px 0 12px;color:#092331;font-size:clamp(32px,3.5vw,50px);line-height:1.02;letter-spacing:-1.3px}.jlit-member-pitch>p,.jlit-business-copy>p{max-width:760px;color:#617681;font-size:16px;line-height:1.55}.jlit-member-steps{display:flex;gap:14px;flex-wrap:wrap;margin:23px 0}.jlit-member-steps span{display:flex;align-items:center;gap:8px;color:#2a414e;font-size:12px;font-weight:800}.jlit-member-steps b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#0e8dbd;color:#fff}.jlit-member-card{justify-self:end;width:min(100%,320px);padding:28px;border:2px solid #e6b52d;border-radius:20px;background:#0a2230;color:#fff;box-shadow:0 18px 40px rgba(6,35,49,.16)}.jlit-member-card small{color:#e9b62c;font-size:9px;font-weight:900;letter-spacing:1px}.jlit-member-card>strong{display:block;margin-top:5px;font-size:27px}.jlit-member-card-code{display:grid;place-items:center;width:112px;height:112px;margin:22px auto;border:10px solid #fff;background:#fff;color:#092331;font-size:32px;font-weight:1000;box-shadow:inset 0 0 0 3px #092331}.jlit-member-card p{margin:0;text-align:center;color:#bbccd4;font-size:11px;font-weight:700}
.jlit-business-section{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,.6fr);gap:34px;background:#fff6d9;border:1px solid #efd986;border-radius:22px}.jlit-business-flow{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:24px 0}.jlit-business-flow span{padding:8px 10px;border-radius:7px;background:#fff;color:#5b470d;font-size:9px;font-weight:900;border:1px solid #e3cb78}.jlit-business-flow i{color:#b58b13;font-style:normal;font-weight:900}.jlit-business-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.jlit-page-textlink{color:#6d5719;font-size:11px;font-weight:900;text-decoration:none}.jlit-business-proof{display:grid;gap:8px}.jlit-business-proof div{padding:17px;border-radius:13px;background:#fff;border:1px solid #ead991}.jlit-business-proof strong{display:block;color:#7a5a00;font-size:11px}.jlit-business-proof span{display:block;margin-top:4px;color:#6e756c;font-size:11px}
.jlit-more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.jlit-more-grid a{min-height:120px;padding:20px;border:1px solid #d8e3e8;border-radius:14px;background:#fff;text-decoration:none}.jlit-more-grid b{display:block;color:#0a2635;font-size:16px}.jlit-more-grid span{display:block;margin-top:7px;color:#6b7d87;font-size:12px;line-height:1.4}
.jlit-faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:26px}.jlit-faq-grid details{border:1px solid #d7e2e7;border-radius:12px;background:#fff;padding:0 16px}.jlit-faq-grid summary{padding:17px 0;color:#102b39;font-size:13px;font-weight:900;cursor:pointer}.jlit-faq-grid p{padding:0 0 16px;margin:0;color:#687c87;font-size:12px;line-height:1.55}
@media(max-width:1100px){.jlit-bangkok-hero{grid-template-columns:1fr}.jlit-bangkok-hero-stats{grid-template-columns:repeat(4,1fr)}.jlit-fourways-grid,.jlit-live-deals-grid{grid-template-columns:repeat(2,1fr)}.jlit-experience-category-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.jlit-bangkok-page{margin-bottom:30px}.jlit-bangkok-hero{padding:28px 14px 14px}.jlit-bangkok-hero h1{font-size:40px;letter-spacing:-1.4px}.jlit-bangkok-hero-copy>p{font-size:15px}.jlit-bangkok-hero-stats{grid-template-columns:repeat(2,1fr)}.jlit-bangkok-page .jlit-b3d-shell{width:100%;margin:10px 0 20px}.jlit-page-section{margin:0;padding:42px 14px}.jlit-fourways-grid,.jlit-live-deals-grid,.jlit-member-section,.jlit-business-section,.jlit-more-grid,.jlit-faq-grid{grid-template-columns:1fr}.jlit-experience-category-grid{grid-template-columns:repeat(2,1fr)}.jlit-heading-row{align-items:flex-start;flex-direction:column}.jlit-member-card{justify-self:start}.jlit-business-flow i{display:none}.jlit-page-btn{width:100%}}

/* v2.0.223 — use the new JLIT offer-wall icon family in matching map-key rows. */
.jlit-key-row .jlit-key-art{
 width:30px!important;height:30px!important;object-fit:contain!important;padding:2px!important;border:0!important;border-radius:6px!important;
 background:transparent!important;box-shadow:none!important;filter:none!important;
}
.jlit-key-premium .jlit-key-art,.jlit-key-tour .jlit-key-art,.jlit-key-dining .jlit-key-art,.jlit-key-shopping .jlit-key-art,.jlit-key-accommodation .jlit-key-art,.jlit-key-hospital .jlit-key-art{background:transparent!important}
\n\n/* v2.0.224 — mock-up hero artwork + map overlap. */
.jlit-bangkok-page .jlit-bangkok-hero{
 position:relative!important;
 isolation:isolate!important;
 min-height:360px!important;
 padding:38px 44px 82px!important;
 align-items:center!important;
 background-image:
   linear-gradient(90deg,rgba(3,22,37,.90) 0%,rgba(3,22,37,.72) 38%,rgba(3,22,37,.30) 66%,rgba(3,22,37,.12) 100%),
   linear-gradient(180deg,rgba(0,15,28,.10),rgba(0,15,28,.30)),
   url('https://justlandedinthailand.com/wp-content/uploads/2023/08/grap2.png')!important;
 background-size:cover!important;
 background-position:center center!important;
 background-repeat:no-repeat!important;
 overflow:hidden!important;
}
.jlit-bangkok-page .jlit-bangkok-hero:after{
 content:"";position:absolute;z-index:-1;inset:auto 0 0;height:100px;
 background:linear-gradient(180deg,transparent,rgba(2,17,29,.28));pointer-events:none;
}
.jlit-bangkok-page .jlit-bangkok-hero .jlit-page-kicker{color:#ffd23f!important;text-shadow:0 2px 9px rgba(0,0,0,.55)!important}
.jlit-bangkok-page .jlit-bangkok-hero h1{color:#fff!important;max-width:650px!important;font-size:clamp(42px,4.15vw,66px)!important;line-height:.96!important;text-shadow:0 3px 16px rgba(0,0,0,.48)!important}
.jlit-bangkok-page .jlit-bangkok-hero-copy>p{color:#f4f8fb!important;max-width:650px!important;font-size:16px!important;line-height:1.42!important;text-shadow:0 2px 9px rgba(0,0,0,.65)!important}
.jlit-bangkok-page .jlit-bangkok-hero-stats{align-self:center!important;max-width:560px!important;width:100%!important;justify-self:end!important}
.jlit-bangkok-page .jlit-bangkok-hero-stats div{
 min-height:78px!important;padding:13px 18px!important;border:1.5px solid #19bde7!important;border-radius:8px!important;
 background:linear-gradient(135deg,rgba(4,30,45,.93),rgba(6,42,57,.84))!important;
 box-shadow:0 7px 18px rgba(0,0,0,.25),inset 0 0 0 1px rgba(255,255,255,.04)!important;
 backdrop-filter:blur(2px)!important;
}
.jlit-bangkok-page .jlit-bangkok-hero-stats strong{color:#fff!important;font-size:21px!important;text-shadow:0 2px 7px rgba(0,0,0,.45)!important}
.jlit-bangkok-page .jlit-bangkok-hero-stats span{color:#e9f5fa!important;margin-top:3px!important;font-size:11px!important}
.jlit-bangkok-page .jlit-page-btn-dark{background:rgba(4,29,43,.88)!important;border:1.5px solid #21b9e5!important;box-shadow:0 6px 16px rgba(0,0,0,.22)!important}
.jlit-bangkok-page .jlit-b3d-shell{
 position:relative!important;z-index:8!important;width:calc(100% - 96px)!important;
 margin:-58px 48px 28px!important;border-radius:18px!important;
 box-shadow:0 16px 38px rgba(5,25,38,.24),0 0 0 2px rgba(226,177,39,.72)!important;
}
@media(max-width:1100px){
 .jlit-bangkok-page .jlit-bangkok-hero{min-height:500px!important;padding:34px 30px 88px!important;align-content:start!important}
 .jlit-bangkok-page .jlit-bangkok-hero-stats{justify-self:start!important;max-width:none!important;margin-top:10px!important}
 .jlit-bangkok-page .jlit-b3d-shell{width:calc(100% - 48px)!important;margin:-54px 24px 26px!important}
}
@media(max-width:760px){
 .jlit-bangkok-page .jlit-bangkok-hero{min-height:560px!important;padding:28px 18px 72px!important;background-position:58% center!important}
 .jlit-bangkok-page .jlit-bangkok-hero h1{font-size:40px!important}
 .jlit-bangkok-page .jlit-bangkok-hero-stats{grid-template-columns:repeat(2,1fr)!important}
 .jlit-bangkok-page .jlit-b3d-shell{width:calc(100% - 20px)!important;margin:-42px 10px 22px!important}
}

/* v2.0.225 — force hero artwork as a real image layer; lower map overlap so hero CTAs remain clear. */
.jlit-bangkok-page .jlit-bangkok-hero{background-image:none!important;background-color:#071a27!important;padding-bottom:42px!important}
.jlit-bangkok-page .jlit-bangkok-hero-art{
 position:absolute!important;z-index:-3!important;inset:0!important;width:100%!important;height:100%!important;
 object-fit:cover!important;object-position:center center!important;display:block!important;opacity:1!important;pointer-events:none!important;
}
.jlit-bangkok-page .jlit-bangkok-hero:before{
 content:""!important;position:absolute!important;z-index:-2!important;inset:0!important;pointer-events:none!important;
 background:linear-gradient(90deg,rgba(3,22,37,.88) 0%,rgba(3,22,37,.68) 38%,rgba(3,22,37,.28) 66%,rgba(3,22,37,.10) 100%),linear-gradient(180deg,rgba(0,15,28,.08),rgba(0,15,28,.25))!important;
}
.jlit-bangkok-page .jlit-b3d-shell{margin:-18px 48px 28px!important}
@media(max-width:1100px){
 .jlit-bangkok-page .jlit-bangkok-hero{padding-bottom:48px!important}
 .jlit-bangkok-page .jlit-b3d-shell{margin:-16px 24px 26px!important}
}
@media(max-width:760px){
 .jlit-bangkok-page .jlit-bangkok-hero-art{object-position:58% center!important}
 .jlit-bangkok-page .jlit-bangkok-hero{padding-bottom:38px!important}
 .jlit-bangkok-page .jlit-b3d-shell{margin:-12px 10px 22px!important}
}

/* v2.0.226 — hero layout matched to approved mock-up; fix artwork stacking and balance map overlap. */
.jlit-bangkok-page .jlit-bangkok-hero{
  position:relative!important;
  isolation:isolate!important;
  min-height:370px!important;
  padding:38px 52px 82px!important;
  grid-template-columns:minmax(0,56%) minmax(390px,44%)!important;
  gap:34px!important;
  align-items:center!important;
  overflow:hidden!important;
  background:#071a27!important;
}
.jlit-bangkok-page .jlit-bangkok-hero-art{
  position:absolute!important;
  z-index:0!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  opacity:1!important;
  pointer-events:none!important;
}
.jlit-bangkok-page .jlit-bangkok-hero:before{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,rgba(3,22,37,.78) 0%,rgba(3,22,37,.54) 37%,rgba(3,22,37,.18) 67%,rgba(3,22,37,.08) 100%),linear-gradient(180deg,rgba(0,15,28,.06),rgba(0,15,28,.18))!important;
}
.jlit-bangkok-page .jlit-bangkok-hero:after{z-index:1!important}
.jlit-bangkok-page .jlit-bangkok-hero-copy,
.jlit-bangkok-page .jlit-bangkok-hero-stats,
.jlit-bangkok-page .jlit-bangkok-awaits{position:relative!important;z-index:2!important}
.jlit-bangkok-page .jlit-bangkok-hero-copy{align-self:start!important;padding-top:2px!important}
.jlit-bangkok-page .jlit-bangkok-hero h1{
  width:min(100%,590px)!important;
  max-width:590px!important;
  margin:8px 0 10px!important;
  font-size:clamp(42px,3.45vw,54px)!important;
  line-height:.98!important;
  letter-spacing:-1.8px!important;
}
.jlit-bangkok-page .jlit-bangkok-hero-copy>p{
  max-width:600px!important;
  font-size:14px!important;
  line-height:1.35!important;
}
.jlit-bangkok-page .jlit-page-hero-actions{margin-top:16px!important;gap:12px!important}
.jlit-bangkok-page .jlit-page-btn{min-height:42px!important;padding:0 18px!important;border-radius:7px!important}
.jlit-bangkok-page .jlit-bangkok-hero-stats{
  align-self:end!important;
  justify-self:end!important;
  width:min(100%,520px)!important;
  max-width:520px!important;
  margin:0 0 16px!important;
  grid-template-columns:repeat(2,1fr)!important;
  gap:7px!important;
}
.jlit-bangkok-page .jlit-bangkok-hero-stats div{min-height:62px!important;padding:10px 16px!important;border-radius:7px!important}
.jlit-bangkok-page .jlit-bangkok-hero-stats strong{font-size:18px!important;line-height:1!important}
.jlit-bangkok-page .jlit-bangkok-hero-stats span{font-size:10px!important;margin-top:4px!important}
.jlit-bangkok-page .jlit-bangkok-awaits{
  position:absolute!important;
  z-index:2!important;
  right:54px!important;
  top:28px!important;
  color:#fff!important;
  text-align:right!important;
  font-family:"Segoe Print","Bradley Hand","Comic Sans MS",cursive!important;
  font-size:29px!important;
  font-weight:800!important;
  line-height:.88!important;
  transform:rotate(-5deg)!important;
  text-shadow:0 2px 8px rgba(0,0,0,.42)!important;
  pointer-events:none!important;
}
.jlit-bangkok-page .jlit-b3d-shell{
  position:relative!important;
  z-index:8!important;
  width:calc(100% - 96px)!important;
  margin:-44px 48px 28px!important;
}
@media(max-width:1100px){
 .jlit-bangkok-page .jlit-bangkok-hero{min-height:470px!important;padding:30px 30px 72px!important;grid-template-columns:1fr!important;align-content:start!important}
 .jlit-bangkok-page .jlit-bangkok-hero h1{max-width:610px!important}
 .jlit-bangkok-page .jlit-bangkok-hero-stats{justify-self:start!important;align-self:start!important;width:min(100%,700px)!important;max-width:700px!important;margin-top:14px!important}
 .jlit-bangkok-page .jlit-bangkok-awaits{right:28px!important;top:24px!important;font-size:25px!important}
 .jlit-bangkok-page .jlit-b3d-shell{width:calc(100% - 48px)!important;margin:-36px 24px 26px!important}
}
@media(max-width:760px){
 .jlit-bangkok-page .jlit-bangkok-hero{min-height:610px!important;padding:26px 18px 64px!important}
 .jlit-bangkok-page .jlit-bangkok-hero-art{object-position:58% center!important}
 .jlit-bangkok-page .jlit-bangkok-hero h1{font-size:40px!important;max-width:100%!important}
 .jlit-bangkok-page .jlit-bangkok-awaits{display:none!important}
 .jlit-bangkok-page .jlit-bangkok-hero-stats{grid-template-columns:repeat(2,1fr)!important}
 .jlit-bangkok-page .jlit-b3d-shell{width:calc(100% - 20px)!important;margin:-28px 10px 22px!important}
}
\n\n/* v2.0.227 — approved mock-up hero balance + supplied artwork/icons. */
@media(min-width:1101px){
 .jlit-bangkok-page .jlit-bangkok-hero{min-height:370px!important;padding:28px 52px 74px!important;grid-template-columns:minmax(0,55%) minmax(390px,45%)!important;align-items:start!important}
 .jlit-bangkok-page .jlit-bangkok-hero-copy{padding-top:0!important;transform:translateX(-10px)!important}
 .jlit-bangkok-page .jlit-bangkok-hero h1{max-width:545px!important;width:545px!important;font-size:clamp(39px,3.1vw,49px)!important;line-height:.97!important;margin:7px 0 8px!important}
 .jlit-bangkok-page .jlit-bangkok-hero-copy>p{max-width:570px!important;font-size:13px!important;line-height:1.3!important}
 .jlit-bangkok-page .jlit-page-hero-actions{margin-top:13px!important}
 .jlit-bangkok-page .jlit-bangkok-hero-stats{align-self:start!important;margin-top:88px!important;margin-bottom:0!important;width:min(100%,520px)!important}
 .jlit-bangkok-page .jlit-bangkok-awaits{top:20px!important}
 .jlit-bangkok-page .jlit-b3d-shell{margin-top:-40px!important}
}
.jlit-bangkok-page .jlit-bangkok-hero-stats>div{display:flex!important;align-items:center!important;gap:12px!important}
.jlit-bangkok-page .jlit-bangkok-hero-stats>div>img{display:block!important;width:34px!important;height:34px!important;object-fit:contain!important;flex:0 0 34px!important}
.jlit-bangkok-page .jlit-hero-stat-copy{display:block!important;min-width:0!important}
.jlit-bangkok-page .jlit-hero-stat-copy>strong,.jlit-bangkok-page .jlit-hero-stat-copy>span{display:block!important}
.jlit-bangkok-page .jlit-hero-go-pin{position:relative!important;display:block!important;width:27px!important;height:35px!important;flex:0 0 34px!important;font-size:0!important;transform:rotate(45deg)!important;border-radius:50% 50% 50% 0!important;background:#ef3340!important;box-shadow:0 2px 8px rgba(0,0,0,.28)!important}
.jlit-bangkok-page .jlit-hero-go-pin:after{content:""!important;position:absolute!important;width:9px!important;height:9px!important;border-radius:50%!important;background:#fff!important;left:9px!important;top:9px!important}
@media(max-width:1100px){.jlit-bangkok-page .jlit-bangkok-hero-stats{margin-top:14px!important}}


/* v2.0.228 — restore Bangkok hero artwork and match approved icon/order/box proportions. */
@media(min-width:1101px){
 .jlit-bangkok-page .jlit-bangkok-hero{min-height:372px!important;padding:28px 34px 76px!important;grid-template-columns:minmax(0,58%) minmax(360px,42%)!important;align-items:start!important}
 .jlit-bangkok-page .jlit-bangkok-hero-copy{padding-top:0!important;transform:none!important;margin-left:0!important}
 .jlit-bangkok-page .jlit-bangkok-hero h1{max-width:520px!important;width:520px!important;font-size:clamp(38px,2.9vw,46px)!important;line-height:.98!important;margin:7px 0 8px!important}
 .jlit-bangkok-page .jlit-bangkok-hero-copy>p{max-width:545px!important;font-size:13px!important;line-height:1.30!important}
 .jlit-bangkok-page .jlit-page-hero-actions{margin-top:14px!important}
 .jlit-bangkok-page .jlit-bangkok-hero-stats{align-self:start!important;justify-self:end!important;margin-top:108px!important;margin-right:8px!important;width:460px!important;max-width:460px!important;gap:7px!important}
 .jlit-bangkok-page .jlit-bangkok-hero-stats>div{min-height:58px!important;height:58px!important;padding:8px 12px!important;border-radius:8px!important;gap:10px!important}
 .jlit-bangkok-page .jlit-bangkok-hero-stats>div>img{width:30px!important;height:30px!important;flex:0 0 30px!important;object-fit:contain!important}
 .jlit-bangkok-page .jlit-bangkok-hero-stats strong{font-size:17px!important;line-height:1!important}
 .jlit-bangkok-page .jlit-bangkok-hero-stats span{font-size:10px!important;line-height:1.05!important;margin-top:4px!important}
 .jlit-bangkok-page .jlit-bangkok-awaits{top:20px!important;right:34px!important}
 .jlit-bangkok-page .jlit-b3d-shell{margin-top:-36px!important}
}
.jlit-bangkok-page .jlit-hero-go-pin{display:none!important}

/* v2.0.229 — vertical hero alignment to approved mock-up. Map position intentionally unchanged. */
@media(min-width:1101px){
 .jlit-bangkok-page .jlit-bangkok-hero-copy{
   transform:translateY(64px)!important;
 }
 .jlit-bangkok-page .jlit-bangkok-hero-stats{
   transform:translateY(62px)!important;
 }
}

/* v2.0.230 — final hero balance pass: spread left copy, slim right feature cards, larger icons, reposition Bangkok Awaits. Map position unchanged. */
@media(min-width:1101px){
  /* Left-hand copy: keep the same overall zone, but restore breathing room between each element. */
  .jlit-bangkok-page .jlit-bangkok-hero-copy{
    transform:translateY(42px)!important;
  }
  .jlit-bangkok-page .jlit-bangkok-hero .jlit-page-kicker{
    display:block!important;
    margin-bottom:12px!important;
  }
  .jlit-bangkok-page .jlit-bangkok-hero h1{
    margin:0 0 15px!important;
    line-height:1.01!important;
  }
  .jlit-bangkok-page .jlit-bangkok-hero-copy>p{
    line-height:1.42!important;
    margin:0!important;
  }
  .jlit-bangkok-page .jlit-page-hero-actions{
    margin-top:22px!important;
  }

  /* Right feature cluster: preserve approved vertical position, reduce overall width, enlarge icons. */
  .jlit-bangkok-page .jlit-bangkok-hero-stats{
    transform:translateY(62px)!important;
    width:408px!important;
    max-width:408px!important;
    margin-right:8px!important;
    gap:7px!important;
  }
  .jlit-bangkok-page .jlit-bangkok-hero-stats>div{
    min-height:58px!important;
    height:58px!important;
    padding:7px 11px!important;
    gap:11px!important;
  }
  .jlit-bangkok-page .jlit-bangkok-hero-stats>div>img{
    width:38px!important;
    height:38px!important;
    flex:0 0 38px!important;
  }

  /* Handwritten callout: slightly lower and further left, as in the approved mock-up. */
  .jlit-bangkok-page .jlit-bangkok-awaits{
    top:38px!important;
    right:72px!important;
  }
}

/* =========================================================
   v2.0.231 — compact four-way gateway + wall handoff
   Match the approved landing-page mock-up: shallow four cards,
   no redundant deals headline, and the brick wall starts immediately.
   ========================================================= */
@media (min-width:901px){
  .jlit-bangkok-page .jlit-page-fourways{
    padding:28px 26px 18px!important;
    border-top:0!important;
  }
  .jlit-bangkok-page .jlit-page-fourways .jlit-page-heading{
    max-width:900px!important;
  }
  .jlit-bangkok-page .jlit-page-fourways .jlit-page-heading h2{
    margin:4px 0 4px!important;
    font-size:34px!important;
    line-height:1!important;
  }
  .jlit-bangkok-page .jlit-page-fourways .jlit-page-heading p{
    font-size:13px!important;
    line-height:1.3!important;
  }
  .jlit-bangkok-page .jlit-fourways-grid{
    gap:10px!important;
    margin-top:14px!important;
  }
  .jlit-bangkok-page .jlit-fourways-grid article{
    min-height:0!important;
    height:154px!important;
    padding:14px 16px 12px!important;
    border-radius:12px!important;
    box-shadow:0 5px 18px rgba(18,51,69,.045)!important;
  }
  .jlit-bangkok-page .jlit-feature-icon{
    width:38px!important;
    height:38px!important;
    border-radius:10px!important;
    font-size:18px!important;
  }
  .jlit-bangkok-page .jlit-fourways-grid h3{
    margin:9px 0 3px!important;
    font-size:17px!important;
    line-height:1.04!important;
  }
  .jlit-bangkok-page .jlit-fourways-grid p{
    margin:0 0 8px!important;
    font-size:11px!important;
    line-height:1.32!important;
  }
  .jlit-bangkok-page .jlit-fourways-grid button{
    font-size:9.5px!important;
    line-height:1!important;
  }
  .jlit-bangkok-page .jlit-deals-section{
    margin:0 16px!important;
    padding:0!important;
    border-top:0!important;
  }
  .jlit-bangkok-page .jlit-bangkok-embedded-offer-wall{
    margin:0!important;
  }
  .jlit-bangkok-page .jlit-bangkok-embedded-offer-wall>.jlit-owr-wall{
    margin-top:0!important;
  }
}
@media (max-width:900px){
  .jlit-bangkok-page .jlit-page-fourways{padding-top:30px!important;padding-bottom:22px!important}
  .jlit-bangkok-page .jlit-fourways-grid article{min-height:190px!important}
  .jlit-bangkok-page .jlit-deals-section{padding:0!important;border-top:0!important}
}

/* v2.0.232 — combine Discover Bangkok + membership into one mockup-style band */
.jlit-discover-member-combo{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0!important;
  padding:0!important;
  overflow:hidden;
  border-radius:22px;
  background:#fff;
  border-top:0!important;
}
.jlit-discover-member-combo .jlit-combo-discover,
.jlit-discover-member-combo .jlit-combo-member{
  margin:0!important;
  border-radius:0!important;
  min-width:0;
}
.jlit-discover-member-combo .jlit-combo-discover{
  padding:24px 26px 20px!important;
  background:#071b28;
}
.jlit-discover-member-combo .jlit-combo-discover .jlit-page-heading h2{
  margin:4px 0 5px!important;
  font-size:clamp(25px,2.2vw,34px)!important;
  letter-spacing:-.8px!important;
  line-height:1.02!important;
}
.jlit-discover-member-combo .jlit-combo-discover .jlit-page-heading p{
  margin:0!important;
  font-size:12px!important;
  line-height:1.42!important;
  max-width:560px;
}
.jlit-discover-member-combo .jlit-experience-category-grid{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:6px!important;
  margin-top:16px!important;
}
.jlit-discover-member-combo .jlit-experience-category-grid button{
  min-height:72px!important;
  padding:10px 8px!important;
  border-radius:10px!important;
}
.jlit-discover-member-combo .jlit-experience-category-grid b{
  font-size:12px!important;
  line-height:1.05!important;
}
.jlit-discover-member-combo .jlit-experience-category-grid span{
  margin-top:5px!important;
  font-size:8.5px!important;
  line-height:1.25!important;
}
.jlit-discover-member-combo .jlit-combo-discover .jlit-center-cta{
  margin-top:14px!important;
}
.jlit-discover-member-combo .jlit-combo-discover .jlit-page-btn{
  min-height:36px!important;
  padding:9px 18px!important;
  font-size:10px!important;
}
.jlit-discover-member-combo .jlit-combo-member{
  display:grid!important;
  grid-template-columns:minmax(0,1.45fr) minmax(155px,.55fr)!important;
  gap:18px!important;
  align-items:center!important;
  padding:22px 24px!important;
  background:linear-gradient(120deg,#fff,#f3f7f9)!important;
}
.jlit-discover-member-combo .jlit-member-pitch h2{
  margin:5px 0 8px!important;
  font-size:clamp(22px,2vw,31px)!important;
  line-height:1.02!important;
  letter-spacing:-.7px!important;
}
.jlit-discover-member-combo .jlit-member-pitch>p{
  margin:0!important;
  font-size:11.5px!important;
  line-height:1.4!important;
  max-width:520px!important;
}
.jlit-discover-member-combo .jlit-member-steps{
  gap:10px!important;
  margin:14px 0 13px!important;
}
.jlit-discover-member-combo .jlit-member-steps span{
  gap:6px!important;
  font-size:9px!important;
}
.jlit-discover-member-combo .jlit-member-steps b{
  width:22px!important;
  height:22px!important;
  font-size:10px!important;
}
.jlit-discover-member-combo .jlit-member-pitch .jlit-page-btn{
  min-height:36px!important;
  padding:9px 17px!important;
  font-size:10px!important;
}
.jlit-discover-member-combo .jlit-member-card{
  justify-self:end!important;
  width:100%!important;
  max-width:175px!important;
  padding:16px 14px!important;
  border-radius:15px!important;
}
.jlit-discover-member-combo .jlit-member-card>strong{
  margin-top:4px!important;
  font-size:18px!important;
  line-height:1.05!important;
}
.jlit-discover-member-combo .jlit-member-card-code{
  width:76px!important;
  height:76px!important;
  margin:13px auto!important;
  border-width:7px!important;
  font-size:23px!important;
}
.jlit-discover-member-combo .jlit-member-card p{
  font-size:8.5px!important;
  line-height:1.3!important;
}
@media(max-width:1100px){
  .jlit-discover-member-combo{grid-template-columns:1fr!important}
  .jlit-discover-member-combo .jlit-combo-member{grid-template-columns:minmax(0,1fr) 190px!important}
}
@media(max-width:760px){
  .jlit-discover-member-combo{border-radius:16px}
  .jlit-discover-member-combo .jlit-combo-discover,
  .jlit-discover-member-combo .jlit-combo-member{padding:22px 14px!important}
  .jlit-discover-member-combo .jlit-experience-category-grid{grid-template-columns:repeat(2,1fr)!important}
  .jlit-discover-member-combo .jlit-combo-member{grid-template-columns:1fr!important}
  .jlit-discover-member-combo .jlit-member-card{justify-self:start!important;max-width:220px!important}
}

/* ================================================================
   v2.0.233 — combined Discover / Membership geometry pass
   Square section edges, larger square QR card, direct join URL.
   ================================================================ */
.jlit-discover-member-combo{
  border-radius:0!important;
}
.jlit-discover-member-combo .jlit-combo-discover,
.jlit-discover-member-combo .jlit-combo-member{
  border-radius:0!important;
}

/* Give the membership side a little more usable width while keeping it compact. */
.jlit-discover-member-combo .jlit-combo-member{
  grid-template-columns:minmax(0,1fr) 205px!important;
  gap:16px!important;
  padding:20px 22px!important;
}
.jlit-discover-member-combo .jlit-member-pitch h2{
  font-size:clamp(22px,1.9vw,29px)!important;
}
.jlit-discover-member-combo .jlit-member-pitch>p{
  font-size:11px!important;
}
.jlit-discover-member-combo .jlit-member-steps{
  margin:12px 0!important;
  gap:8px!important;
}

/* QR membership card: true square container, sized for a real square QR. */
.jlit-discover-member-combo .jlit-member-card{
  width:205px!important;
  height:205px!important;
  max-width:none!important;
  min-width:205px!important;
  box-sizing:border-box!important;
  padding:14px!important;
  border-radius:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:stretch!important;
}
.jlit-discover-member-combo .jlit-member-card>strong{
  font-size:19px!important;
  line-height:1!important;
}
.jlit-discover-member-combo .jlit-member-card-code{
  width:92px!important;
  height:92px!important;
  min-width:92px!important;
  min-height:92px!important;
  margin:11px auto 8px!important;
  border-width:7px!important;
  font-size:25px!important;
  box-sizing:border-box!important;
}
.jlit-discover-member-combo .jlit-member-card p{
  margin-top:auto!important;
  font-size:8px!important;
  line-height:1.2!important;
}

@media(max-width:1100px){
  .jlit-discover-member-combo .jlit-combo-member{
    grid-template-columns:minmax(0,1fr) 205px!important;
  }
}
@media(max-width:760px){
  .jlit-discover-member-combo{border-radius:0!important}
  .jlit-discover-member-combo .jlit-member-card{
    width:190px!important;
    height:190px!important;
    min-width:190px!important;
  }
}
\n/* v2.0.235 — business conversion panel: supplied JLIT artwork */
.jlit-business-section{grid-template-columns:minmax(0,1.85fr) minmax(330px,.85fr)!important;gap:34px!important;padding:28px 22px!important;background:linear-gradient(100deg,#fff8e5 0%,#fff3ca 100%)!important}
.jlit-business-copy>p{max-width:680px}
.jlit-business-flow{display:grid!important;grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr;gap:5px!important;margin:18px 0 14px!important;align-items:center!important}
.jlit-business-flow span{height:92px;padding:7px 5px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:9px!important;background:#fff!important;color:#071f2c!important;border:1px solid #ead991!important}
.jlit-business-flow span img{width:36px;height:36px;object-fit:contain;display:block;margin:0 auto 4px}
.jlit-business-flow span b{font-size:9px;line-height:1.05;font-weight:950;display:block}
.jlit-business-flow span small{font-size:8px;line-height:1.1;font-weight:600;color:#53636b;margin-top:3px;display:block}
.jlit-business-flow i{text-align:center;font-size:17px;color:#102c38!important}
.jlit-business-actions{gap:18px!important}.jlit-business-actions .jlit-page-btn{min-width:275px;justify-content:space-between}.jlit-business-actions .jlit-page-btn span{font-size:18px}
.jlit-business-proof{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;align-content:center}
.jlit-business-proof>div{display:grid!important;grid-template-columns:128px 1fr;align-items:stretch;padding:0!important;min-height:86px;overflow:hidden;border-radius:10px!important;background:#fff!important;border:1px solid #ead991!important}
.jlit-business-proof>div>img{width:128px;height:100%;min-height:86px;object-fit:cover;display:block}
.jlit-business-proof>div>section{padding:12px 12px 9px;display:flex;flex-direction:column;justify-content:center}
.jlit-business-proof strong{font-size:11px!important;color:#352700!important}.jlit-business-proof span{font-size:10px!important;line-height:1.25;color:#53636b!important;margin-top:5px!important}
@media(max-width:1000px){.jlit-business-section{grid-template-columns:1fr!important}.jlit-business-proof{grid-template-columns:repeat(3,1fr)!important}.jlit-business-proof>div{grid-template-columns:1fr!important}.jlit-business-proof>div>img{width:100%;height:110px}.jlit-business-flow{grid-template-columns:1fr 18px 1fr 18px 1fr 18px 1fr}}
@media(max-width:760px){.jlit-business-flow{grid-template-columns:repeat(2,1fr)!important}.jlit-business-flow i{display:none!important}.jlit-business-proof{grid-template-columns:1fr!important}.jlit-business-proof>div{grid-template-columns:120px 1fr!important}.jlit-business-proof>div>img{width:120px;height:100%}}


/* v2.0.237 — business panel cosmetic polish */
.jlit-business-flow span{
  height:116px!important;
  padding:8px 7px!important;
  border:2px solid #d7a919!important;
  box-shadow:0 0 0 1px rgba(255,224,116,.55) inset,0 5px 14px rgba(177,126,0,.10)!important;
}
.jlit-business-flow span img{width:76px!important;height:76px!important;margin:0 auto 1px!important;object-fit:contain!important}
.jlit-business-flow span b{font-size:9.5px!important;line-height:1.08!important}
.jlit-business-flow span small{font-size:8.5px!important;line-height:1.15!important;margin-top:2px!important}
.jlit-business-flow i.jlit-business-arrow{display:flex!important;align-items:center;justify-content:center!important;width:28px;height:32px}
.jlit-business-flow i.jlit-business-arrow img{display:block;width:27px!important;height:27px!important;object-fit:contain!important;margin:0!important;filter:drop-shadow(0 1px 1px rgba(79,54,0,.16))}
.jlit-business-flow{grid-template-columns:1fr 30px 1fr 30px 1fr 30px 1fr!important;gap:4px!important}
.jlit-business-actions{gap:14px!important;align-items:stretch!important}
.jlit-business-actions .jlit-business-primary{min-width:340px!important;padding-left:20px!important;padding-right:17px!important;justify-content:space-between!important}
.jlit-business-actions .jlit-action-arrow{width:28px;height:28px;object-fit:contain;display:block;flex:0 0 28px;margin-left:14px}
.jlit-business-actions .jlit-business-talk{min-height:46px;padding:0 16px;border:2px solid #d7a919;border-radius:9px;background:#fffaf0;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px!important;color:#4f3b00!important;box-shadow:0 3px 10px rgba(177,126,0,.08)}
.jlit-business-actions .jlit-business-talk:hover{background:#fff2c5;text-decoration:none}
.jlit-business-actions .jlit-business-talk .jlit-action-arrow{width:23px;height:23px;flex-basis:23px;margin-left:3px}
.jlit-business-proof strong{font-size:12px!important;line-height:1.15!important}
.jlit-business-proof span{font-size:12px!important;line-height:1.35!important;margin-top:6px!important}
.jlit-business-proof>div>section{padding:12px 14px 10px!important}
@media(max-width:1000px){
  .jlit-business-flow{grid-template-columns:1fr 26px 1fr 26px 1fr 26px 1fr!important}
}
@media(max-width:760px){
  .jlit-business-flow{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}
  .jlit-business-flow i.jlit-business-arrow{display:none!important}
  .jlit-business-actions .jlit-business-primary,.jlit-business-actions .jlit-business-talk{width:100%!important;min-width:0!important}
}

/* v2.0.238 — MORE FROM JLIT mock-up composition: blue feature cards left, blended Bangkok scene right */
.jlit-bangkok-page .jlit-more-section{
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,62%) minmax(0,38%);
  align-items:stretch;
  gap:0!important;
  min-height:390px;
  padding:0!important;
  overflow:hidden;
  border-top:0!important;
  background:#fff;
}
.jlit-bangkok-page .jlit-more-left{
  position:relative;
  z-index:2;
  padding:40px 0 42px 28px;
  background:linear-gradient(90deg,#fff 0%,#fff 86%,rgba(255,255,255,.96) 93%,rgba(255,255,255,.72) 100%);
}
.jlit-bangkok-page .jlit-more-left .jlit-page-heading{max-width:570px;margin:0 0 16px}
.jlit-bangkok-page .jlit-more-left .jlit-page-heading h2{font-size:40px;line-height:1.02;letter-spacing:-1.4px;margin:5px 0 8px}
.jlit-bangkok-page .jlit-more-left .jlit-page-heading p{font-size:15px;line-height:1.45;margin:0;color:#496675}
.jlit-bangkok-page .jlit-more-grid{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:5px!important;
  margin:15px 0 14px!important;
  max-width:620px;
}
.jlit-bangkok-page .jlit-more-grid a{
  min-height:122px!important;
  padding:13px 7px 10px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:9px!important;
  background:linear-gradient(180deg,#082c42 0%,#06273a 100%)!important;
  box-shadow:0 5px 12px rgba(4,36,55,.14);
  text-align:center;
  text-decoration:none!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
}
.jlit-bangkok-page .jlit-more-grid .jlit-more-icon{
  display:flex;
  width:34px;height:34px;
  align-items:center;justify-content:center;
  color:#f4b61f;
  font-style:normal;
  font-size:27px;
  line-height:1;
  margin-bottom:7px;
  font-weight:800;
}
.jlit-bangkok-page .jlit-more-grid b{
  color:#fff!important;
  font-size:11px!important;
  line-height:1.12!important;
  min-height:25px;
  display:flex!important;
  align-items:center;
  justify-content:center;
}
.jlit-bangkok-page .jlit-more-grid span{
  margin-top:5px!important;
  color:#f2f6f8!important;
  font-size:9px!important;
  line-height:1.28!important;
}
.jlit-bangkok-page .jlit-more-cta{
  display:inline-flex!important;
  width:auto!important;
  min-width:236px;
  justify-content:center;
  gap:18px;
  padding:12px 18px!important;
  border-radius:8px!important;
  background:linear-gradient(180deg,#1595e5 0%,#0476bd 100%)!important;
  color:#fff!important;
  box-shadow:0 6px 16px rgba(0,117,190,.18);
}
.jlit-bangkok-page .jlit-more-cta span{font-size:22px;line-height:1}
.jlit-bangkok-page .jlit-more-scene{
  position:relative;
  min-height:390px;
  background-image:url('https://justlandedinthailand.com/wp-content/uploads/2023/08/grap13.png');
  background-repeat:no-repeat;
  background-position:center right;
  background-size:cover;
}
.jlit-bangkok-page .jlit-more-scene:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 6%,rgba(255,255,255,.62) 18%,rgba(255,255,255,.12) 34%,rgba(255,255,255,0) 50%);
  pointer-events:none;
}
@media(max-width:1050px){
  .jlit-bangkok-page .jlit-more-section{grid-template-columns:minmax(0,66%) minmax(0,34%)}
  .jlit-bangkok-page .jlit-more-grid{grid-template-columns:repeat(3,1fr)!important;max-width:560px}
  .jlit-bangkok-page .jlit-more-grid a{min-height:105px!important}
}
@media(max-width:760px){
  .jlit-bangkok-page .jlit-more-section{display:block!important;min-height:0}
  .jlit-bangkok-page .jlit-more-left{padding:34px 14px 26px;background:#fff}
  .jlit-bangkok-page .jlit-more-left .jlit-page-heading h2{font-size:34px}
  .jlit-bangkok-page .jlit-more-grid{grid-template-columns:repeat(2,1fr)!important;max-width:none}
  .jlit-bangkok-page .jlit-more-grid a{min-height:118px!important}
  .jlit-bangkok-page .jlit-more-scene{min-height:260px;background-position:center right}
  .jlit-bangkok-page .jlit-more-scene:before{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.72) 12%,rgba(255,255,255,0) 30%)}
  .jlit-bangkok-page .jlit-more-cta{width:100%!important}
}

/* v2.0.239 — expanded JLIT ecosystem: nine destinations, Jobs + Insurance always last */
.jlit-more-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;}
.jlit-more-grid>a{min-width:0!important;padding-left:8px!important;padding-right:8px!important;}
@media(max-width:1100px){.jlit-more-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media(max-width:680px){.jlit-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}


/* v2.0.240 — 12 ecosystem destinations, balanced as two rows of six; Jobs + Insurance remain last */
.jlit-more-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important;}
@media(max-width:1200px){.jlit-more-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;}}
@media(max-width:900px){.jlit-more-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media(max-width:680px){.jlit-more-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}

/* v2.0.242 — Bangkok Awaits graphic rendered as a real image below FAQs; square corners; live buttons overlaid bottom-left */
.jlit-bangkok-page .jlit-ready-banner{
  position:relative;
  width:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0!important;
  overflow:hidden;
  line-height:0;
  background:#031f2f;
}
.jlit-bangkok-page .jlit-ready-banner-img{
  display:block;
  width:100%;
  height:auto;
  margin:0;
  padding:0;
  border:0;
  border-radius:0!important;
}
.jlit-bangkok-page .jlit-ready-banner-actions{
  position:absolute;
  left:4.8%;
  bottom:8.5%;
  display:flex;
  gap:16px;
  align-items:center;
  z-index:3;
  line-height:1;
}
.jlit-bangkok-page .jlit-ready-btn{
  height:48px;
  min-width:205px;
  padding:0 20px;
  border-radius:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:13px;
  font-weight:900;
  line-height:1;
  text-decoration:none!important;
  cursor:pointer;
  box-shadow:0 7px 18px rgba(0,0,0,.2);
  transition:transform .18s ease,box-shadow .18s ease;
  box-sizing:border-box;
}
.jlit-bangkok-page .jlit-ready-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.28)}
.jlit-bangkok-page .jlit-ready-btn b{font-size:19px;margin-left:5px}
.jlit-bangkok-page .jlit-ready-btn-map{border:1px solid #f3bd22;background:#f6c229;color:#071d28}
.jlit-bangkok-page .jlit-ready-btn-join{border:2px solid #e6ad0b;background:rgba(2,15,23,.90);color:#fff!important}
.jlit-bangkok-page .jlit-ready-btn span{font-size:18px}
@media(max-width:760px){
  .jlit-bangkok-page .jlit-ready-banner-actions{left:14px;right:14px;bottom:14px;gap:9px}
  .jlit-bangkok-page .jlit-ready-btn{min-width:0;flex:1;height:42px;padding:0 9px;font-size:10px}
  .jlit-bangkok-page .jlit-ready-btn span{font-size:14px}
  .jlit-bangkok-page .jlit-ready-btn b{font-size:15px}
}


/* v2.0.243 — FAQ artwork rebuild using grap16; square section, live expandable FAQs and live help CTAs */
.jlit-bangkok-page .jlit-faq-section{position:relative;overflow:hidden;border-radius:0!important;margin-top:0;margin-bottom:0;padding:54px 32px 150px;background:#eef8ff url("https://justlandedinthailand.com/wp-content/uploads/2023/08/grap16.png") center center/cover no-repeat;min-height:520px}
.jlit-bangkok-page .jlit-faq-section:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,.02) 66%,rgba(255,255,255,0) 76%);pointer-events:none}
.jlit-bangkok-page .jlit-faq-content{position:relative;z-index:2;width:68%;max-width:820px}
.jlit-bangkok-page .jlit-faq-section .jlit-page-heading{margin:0 0 22px}
.jlit-bangkok-page .jlit-faq-section .jlit-page-heading span{color:#c98b00}
.jlit-bangkok-page .jlit-faq-section .jlit-page-heading h2{font-size:42px;line-height:1.05;margin:5px 0 10px;color:#092b3c}
.jlit-bangkok-page .jlit-faq-section .jlit-page-heading p{margin:0;color:#607785;font-size:14px;line-height:1.45}
.jlit-bangkok-page .jlit-faq-grid{margin-top:0;gap:10px}
.jlit-bangkok-page .jlit-faq-grid details{border:1px solid rgba(207,220,227,.96);border-radius:10px;background:rgba(255,255,255,.95);padding:0 15px;box-shadow:0 5px 16px rgba(20,60,80,.05)}
.jlit-bangkok-page .jlit-faq-grid summary{position:relative;padding:15px 34px 15px 0;font-size:12.5px}
.jlit-bangkok-page .jlit-faq-grid summary:after{content:"›";position:absolute;right:2px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:24px;height:24px;border:1.5px solid #d99c00;border-radius:50%;color:#b67c00;font-size:21px;line-height:1}
.jlit-bangkok-page .jlit-faq-grid details[open] summary:after{transform:translateY(-50%) rotate(90deg)}
.jlit-bangkok-page .jlit-faq-grid p{font-size:12px;color:#58717f;padding-bottom:14px}
.jlit-bangkok-page .jlit-faq-help-actions{position:absolute;z-index:3;left:41%;bottom:30px;display:flex;gap:12px;align-items:center}
.jlit-bangkok-page .jlit-faq-help-btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-width:185px;height:46px;padding:0 20px;border:1.5px solid #d7a919;background:rgba(255,255,255,.7);color:#183341;text-decoration:none!important;font-size:12px;font-weight:900;border-radius:8px;box-sizing:border-box}
.jlit-bangkok-page .jlit-faq-help-primary{background:#f6c229;border-color:#f6c229;color:#102b39}
.jlit-bangkok-page .jlit-faq-help-btn:hover{transform:translateY(-1px);filter:brightness(.98)}
@media(max-width:900px){.jlit-bangkok-page .jlit-faq-section{padding:42px 20px 150px;background-position:64% center}.jlit-bangkok-page .jlit-faq-content{width:76%}.jlit-bangkok-page .jlit-faq-help-actions{left:34%}}
@media(max-width:760px){.jlit-bangkok-page .jlit-faq-section{padding:38px 14px 160px;background-position:70% center;background-size:auto 100%}.jlit-bangkok-page .jlit-faq-section:after{content:"";position:absolute;inset:0;background:rgba(244,250,253,.72);z-index:1}.jlit-bangkok-page .jlit-faq-content{width:100%;max-width:none;z-index:2}.jlit-bangkok-page .jlit-faq-section .jlit-page-heading h2{font-size:34px}.jlit-bangkok-page .jlit-faq-help-actions{left:14px;right:14px;bottom:22px;z-index:3;display:grid;grid-template-columns:1fr 1fr}.jlit-bangkok-page .jlit-faq-help-btn{min-width:0;padding:0 10px;font-size:10px}}


/* v2.0.244 — FAQ grap16 full-frame test: preserve whole artwork and restore rounded outer corners */
.jlit-bangkok-page .jlit-faq-section{
  border-radius:18px!important;
  background-size:100% 100%!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
@media(max-width:900px){
  .jlit-bangkok-page .jlit-faq-section{background-size:100% 100%!important;background-position:center center!important;}
}
@media(max-width:760px){
  .jlit-bangkok-page .jlit-faq-section{border-radius:14px!important;background-size:100% 100%!important;background-position:center center!important;}
}

/* v2.0.245 — More From JLIT final gold icon artwork */
.jlit-bangkok-page .jlit-more-grid .jlit-more-icon{width:42px!important;height:42px!important;margin-bottom:6px!important;}
.jlit-bangkok-page .jlit-more-grid .jlit-more-icon img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;border:0!important;box-shadow:none!important;}

/* v2.0.247 Bangkok Awaits CTA artwork */
.jlit-bangkok-page .jlit-ready-btn .jlit-ready-btn-icon{width:22px;height:22px;object-fit:contain;display:block;flex:0 0 22px;margin:0 2px 0 0}
@media(max-width:640px){.jlit-bangkok-page .jlit-ready-btn .jlit-ready-btn-icon{width:18px;height:18px;flex-basis:18px}}


/* ======================================================================
   v2.0.250 — MOBILE MAP USABILITY
   The desktop layer key is useful, but on a phone it must never consume the
   map. Mobile now starts with the key closed, exposes a dedicated LAYERS
   button, and opens the key as a compact bottom sheet that uses less than half
   the map height. Desktop/tablet behaviour remains unchanged.
   ====================================================================== */
.jlit-mobile-layers-toggle{display:none!important}

@media(max-width:760px){
  .jlit-b3d-shell{
    min-height:620px!important;
  }

  /* Map layer key becomes a compact bottom sheet, not a tall left sidebar. */
  .jlit-b3d-shell .jlit-marker-key{
    left:8px!important;
    right:8px!important;
    top:auto!important;
    bottom:78px!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    max-height:44%!important;
    border-radius:16px!important;
    transform:none!important;
    opacity:1!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    box-shadow:0 -10px 32px rgba(0,0,0,.50)!important;
    transition:transform .22s ease,opacity .18s ease,visibility .18s ease!important;
  }
  .jlit-b3d-shell.jlit-key-hidden .jlit-marker-key{
    transform:translateY(calc(100% + 110px))!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  /* Keep each layer row compact enough to browse without swallowing the map. */
  .jlit-b3d-shell .jlit-key-titlebar{
    min-height:48px!important;
    padding:8px 10px!important;
  }
  .jlit-b3d-shell .jlit-key-titlebar small{font-size:6px!important}
  .jlit-b3d-shell .jlit-key-titlebar strong{margin-top:4px!important;font-size:9px!important}
  .jlit-b3d-shell .jlit-key-collapse{width:30px!important;height:30px!important;flex-basis:30px!important}
  .jlit-b3d-shell .jlit-key-group{padding:6px 7px 2px!important}
  .jlit-b3d-shell .jlit-key-group-title{padding-bottom:5px!important;font-size:5.8px!important}
  .jlit-b3d-shell .jlit-key-row{
    min-height:43px!important;
    margin-bottom:5px!important;
    grid-template-columns:minmax(0,1fr) 25px 34px!important;
  }
  .jlit-b3d-shell .jlit-key-layer-main{min-height:41px!important;padding:4px 3px 4px 8px!important;gap:7px!important}
  .jlit-b3d-shell .jlit-key-row .jlit-key-icon{width:23px!important;height:23px!important;flex-basis:23px!important}
  .jlit-b3d-shell .jlit-key-copy strong{font-size:7.8px!important}
  .jlit-b3d-shell .jlit-key-copy small{display:none!important}
  .jlit-b3d-shell .jlit-key-count{min-width:23px!important;width:23px!important;height:20px!important;font-size:8px!important}
  .jlit-b3d-shell .jlit-layer-switch{width:31px!important;height:18px!important}
  .jlit-b3d-shell .jlit-layer-switch span{width:10px!important;height:10px!important}
  .jlit-b3d-shell .jlit-key-row.is-on .jlit-layer-switch span{transform:translateX(13px)!important}
  .jlit-b3d-shell .jlit-key-hide{height:31px!important}

  /* Dedicated always-available mobile opener. */
  .jlit-mobile-layers-toggle{
    position:absolute!important;
    z-index:44!important;
    right:8px!important;
    bottom:80px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    min-width:76px!important;
    height:38px!important;
    padding:0 11px!important;
    border:1px solid #49d8ff!important;
    border-radius:12px!important;
    background:linear-gradient(180deg,rgba(14,58,78,.98),rgba(5,28,40,.98))!important;
    color:#fff!important;
    box-shadow:0 8px 22px rgba(0,0,0,.38),0 0 10px rgba(73,216,255,.18)!important;
    font:900 9px/1 Arial,sans-serif!important;
    letter-spacing:.65px!important;
    cursor:pointer!important;
    transition:opacity .16s ease,transform .16s ease!important;
  }
  .jlit-mobile-layers-icon{font-size:14px!important;line-height:1!important;color:#58ddff!important}
  .jlit-b3d-shell:not(.jlit-key-hidden) .jlit-mobile-layers-toggle{
    opacity:0!important;
    pointer-events:none!important;
    transform:translateY(8px)!important;
  }

  /* Give the actual map more breathing room on phones. */
  .jlit-b3d-shell .maplibregl-ctrl-top-right{
    top:62px!important;
    right:6px!important;
  }
}

@media(max-width:420px){
  .jlit-b3d-shell .jlit-marker-key{
    left:6px!important;
    right:6px!important;
    bottom:72px!important;
    max-height:40%!important;
  }
  .jlit-mobile-layers-toggle{
    right:6px!important;
    bottom:74px!important;
    min-width:70px!important;
    height:36px!important;
  }
}

/* v2.0.262 fishing article deep-link marker */
.jlit-fishing-deeplink-marker{display:flex;flex-direction:column;align-items:center;pointer-events:none;filter:drop-shadow(0 3px 5px rgba(0,0,0,.35))}.jlit-fishing-deeplink-marker img{display:block;width:42px!important;height:42px!important;object-fit:contain!important}.jlit-fishing-deeplink-marker span{display:block;max-width:190px;margin-top:2px;padding:5px 8px;border-radius:6px;background:#082f49;color:#fff;font:800 11px/1.15 Arial,sans-serif;text-align:center;white-space:normal}

/* v2.0.265 — visible six-city jump bar above the map */
.jlit-city-jumpbar{position:relative;z-index:30;box-sizing:border-box;width:calc(100% - 32px);max-width:1440px;margin:18px auto 14px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #d9e5ec;border-radius:18px;background:linear-gradient(110deg,#071f35 0%,#0c4162 58%,#e6a719 100%);box-shadow:0 12px 32px rgba(5,31,51,.18);font-family:Arial,Helvetica,sans-serif;clear:both}
.jlit-city-jumpbar-copy{display:flex;flex-direction:column;gap:4px;color:#fff;min-width:245px}.jlit-city-jumpbar-copy small{font-size:10px;font-weight:900;letter-spacing:1.3px;color:#73dcff}.jlit-city-jumpbar-copy strong{font-size:19px;line-height:1.15;font-weight:900;color:#fff}
.jlit-city-jumpbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.jlit-city-jump{appearance:none;min-height:42px;padding:0 15px;border:1px solid rgba(255,255,255,.46);border-radius:999px;background:rgba(5,28,45,.78);color:#fff;font:900 12px/1 Arial,Helvetica,sans-serif;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.15);transition:transform .16s ease,background .16s ease,border-color .16s ease}.jlit-city-jump span{margin-right:5px;color:#ff3b30}.jlit-city-jump:hover{transform:translateY(-1px);background:#0b5278}.jlit-city-jump.is-active{background:#fff;color:#083655;border-color:#fff}.jlit-city-jump.is-active span{color:#e5251f}
.jlit-city-arrival-marker{position:relative;width:30px;height:30px;border:4px solid #fff;border-radius:50% 50% 50% 0;background:#e5251f;box-shadow:0 4px 12px rgba(0,0,0,.38);transform:rotate(-45deg)}.jlit-city-arrival-marker:after{content:'';position:absolute;width:8px;height:8px;left:7px;top:7px;border-radius:50%;background:#fff}
@media(max-width:900px){.jlit-city-jumpbar{align-items:flex-start;flex-direction:column}.jlit-city-jumpbar-actions{width:100%;justify-content:flex-start}}
@media(max-width:760px){.jlit-city-jumpbar{width:calc(100% - 16px);margin:10px 8px 8px;padding:12px}.jlit-city-jumpbar-copy strong{font-size:15px}.jlit-city-jump{min-height:38px;padding:0 12px;font-size:10px}}

/* v2.0.266 — map-first deal finder redesign */
.jlit-bangkok-page .jlit-b3d-shell{height:86vh!important;min-height:760px!important;width:min(100%,1680px)!important;margin:18px auto 0!important}
.jlit-bangkok-page .jlit-page-fourways,.jlit-bangkok-page .jlit-discover-member-combo{display:none!important}
.jlit-deals-workspace{display:grid;grid-template-columns:224px minmax(0,1fr);gap:22px;width:min(100%,1500px);margin:0 auto 34px;padding:22px 18px 0;align-items:start;font-family:Arial,Helvetica,sans-serif}
.jlit-deal-finder{position:sticky;top:18px;align-self:start;background:linear-gradient(180deg,#071c2d 0%,#03111d 100%);border:1px solid #173d58;border-radius:14px;overflow:hidden;box-shadow:0 18px 42px rgba(5,25,40,.18);color:#fff;z-index:8}
.jlit-finder-intro{padding:20px 16px 17px;border-bottom:1px solid #1b4058}.jlit-finder-intro>span{display:block;color:#ffd21f;font:900 26px/1 Arial;letter-spacing:-1px}.jlit-finder-intro strong{display:block;margin-top:9px;font:900 14px/1.2 Arial}.jlit-finder-intro p{margin:6px 0 0;color:#9bb4c5;font:600 11px/1.4 Arial}
.jlit-finder-step{padding:14px 12px 12px}.jlit-finder-step>small{display:block;margin:0 4px 9px;color:#fff;font:900 10px/1 Arial;letter-spacing:.7px}
.jlit-finder-cities{display:grid;gap:6px}.jlit-finder-cities .jlit-city-jump{width:100%;min-height:38px;padding:0 11px;text-align:left;border:1px solid #35576d;border-radius:8px;background:#102b3e;color:#d9e6ee;font:800 11px/1 Arial;cursor:pointer;transition:.18s ease}.jlit-finder-cities .jlit-city-jump:hover,.jlit-finder-cities .jlit-city-jump.is-active{background:#0d87ff;border-color:#62b9ff;color:#fff;box-shadow:0 0 0 2px rgba(32,154,255,.13)}
.jlit-deal-finder .jlit-marker-key{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%!important;max-height:none!important;overflow:visible!important;border:0!important;border-top:1px solid #173d58!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;backdrop-filter:none!important;transform:none!important;opacity:1!important;pointer-events:auto!important;color:#fff!important}
.jlit-deal-finder .jlit-key-titlebar{padding:14px 14px 10px!important;background:transparent!important;border:0!important}.jlit-deal-finder .jlit-key-titlebar small{color:#ffd21f!important}.jlit-deal-finder .jlit-key-titlebar strong{font-size:11px!important}.jlit-deal-finder .jlit-key-collapse,.jlit-deal-finder .jlit-key-hide{display:none!important}
.jlit-deal-finder .jlit-key-group{padding:5px 8px 8px!important;background:transparent!important}.jlit-deal-finder .jlit-key-group-title{color:#6f91a5!important;font-size:7px!important}.jlit-deal-finder .jlit-key-row{min-height:43px!important;padding:6px 7px!important;border-radius:8px!important;border:1px solid transparent!important;margin:3px 0!important;background:#0b2232!important}.jlit-deal-finder .jlit-key-row:hover{border-color:#315c74!important}.jlit-deal-finder .jlit-key-copy strong{color:#fff!important;font-size:9px!important}.jlit-deal-finder .jlit-key-copy small{color:#7897aa!important;font-size:7px!important}.jlit-deal-finder .jlit-key-count{display:none!important}.jlit-deal-finder .jlit-key-row i,.jlit-deal-finder .jlit-key-icon{width:27px!important;height:27px!important;flex-basis:27px!important}.jlit-deal-finder .jlit-layer-switch{margin-left:auto!important;transform:scale(.9)}
.jlit-deal-results{min-width:0}.jlit-results-heading{display:flex;align-items:end;justify-content:space-between;margin:2px 0 16px}.jlit-results-heading span{display:block;color:#1774bd;font:900 9px/1 Arial;letter-spacing:1.2px}.jlit-results-heading h2{margin:5px 0 3px;color:#0a2b46;font:900 clamp(25px,3vw,42px)/1 Arial;letter-spacing:-1.4px}.jlit-results-heading h2 b{color:#1489ff}.jlit-results-heading h2 em{font-style:normal}.jlit-results-heading p{margin:0;color:#63798a;font:600 12px/1.4 Arial}
.jlit-editorial-grid{display:grid;grid-template-columns:1.35fr .75fr .75fr;grid-template-rows:250px 215px;gap:12px}.jlit-editorial-deal{position:relative;min-width:0;overflow:hidden;border-radius:13px;background:#071827;box-shadow:0 8px 22px rgba(10,38,58,.14)}.jlit-editorial-deal-1{grid-row:1/3}.jlit-editorial-deal-4{grid-column:2/4}.jlit-editorial-photo{position:absolute;inset:0;background-size:cover;background-position:center}.jlit-editorial-photo.is-placeholder{background:linear-gradient(135deg,#183e57,#0b1f2d)}.jlit-editorial-photo:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(180deg,transparent,rgba(2,10,17,.92))}.jlit-editorial-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:15px;color:#fff}.jlit-editorial-copy small{display:inline-block;padding:5px 7px;border-radius:6px;background:#ff8a00;color:#fff;font:900 8px/1 Arial;text-transform:uppercase}.jlit-editorial-copy h3{margin:8px 0 3px;font:900 20px/1.05 Arial}.jlit-editorial-deal-1 .jlit-editorial-copy h3{font-size:30px}.jlit-editorial-copy p{margin:0 0 10px;color:#fff;font:700 12px/1.25 Arial;max-width:90%}.jlit-editorial-copy button{min-width:118px;height:36px;padding:0 13px;border:0;border-radius:8px;background:#ffd21f;color:#09243a;font:900 11px/1 Arial;cursor:pointer}.jlit-editorial-copy button:hover{filter:brightness(.96)}
.jlit-how-deals-work{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:16px 0 0;padding:15px 18px;border-radius:12px;background:#f0f7fb;border:1px solid #d8e8f1;color:#14334a;font:800 11px/1.2 Arial}.jlit-how-deals-work>strong{color:#0b6fad;font-size:13px}.jlit-how-deals-work i{font-style:normal;color:#ffb400;font-size:17px}
@media (max-width:1050px){.jlit-bangkok-page .jlit-b3d-shell{height:76vh!important;min-height:620px!important}.jlit-deals-workspace{grid-template-columns:196px minmax(0,1fr);gap:14px;padding-left:12px;padding-right:12px}.jlit-editorial-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 210px 210px}.jlit-editorial-deal-1{grid-column:1/3;grid-row:auto}.jlit-editorial-deal-4{grid-column:auto}.jlit-editorial-deal-1 .jlit-editorial-copy h3{font-size:24px}}
@media (max-width:760px){.jlit-bangkok-page .jlit-b3d-shell{height:68vh!important;min-height:500px!important;margin-top:10px!important}.jlit-deals-workspace{display:block;padding:12px 10px 0}.jlit-deal-finder{position:relative;top:auto;margin-bottom:18px}.jlit-finder-intro{padding:15px}.jlit-finder-cities{grid-template-columns:1fr 1fr}.jlit-deal-finder .jlit-key-group{display:grid;grid-template-columns:1fr 1fr;gap:4px}.jlit-deal-finder .jlit-key-group-title{grid-column:1/-1}.jlit-deal-finder .jlit-key-row{margin:0!important}.jlit-deal-finder .jlit-key-copy small{display:none!important}.jlit-results-heading h2{font-size:26px}.jlit-editorial-grid{display:block}.jlit-editorial-deal{min-height:260px;margin-bottom:10px}.jlit-editorial-deal-1{min-height:330px}.jlit-editorial-deal-1 .jlit-editorial-copy h3{font-size:25px}.jlit-how-deals-work{justify-content:flex-start;gap:8px;padding:13px}.jlit-how-deals-work i{display:none}}

/* v2.0.267 — polished deal browser, curated advert art, high-visibility controls */
.jlit-bangkok-page .jlit-b3d-shell{height:92vh!important;min-height:820px!important;max-height:1080px!important}
.jlit-deals-workspace{grid-template-columns:204px minmax(0,1fr)!important;gap:24px!important}
.jlit-deal-finder{border-radius:16px!important;border-color:#28536c!important;box-shadow:0 20px 48px rgba(3,20,33,.24)!important;background:linear-gradient(180deg,#071d2e 0%,#020b12 100%)!important}
.jlit-finder-intro{padding:18px 14px 16px!important;background:radial-gradient(circle at 100% 0,rgba(0,190,255,.16),transparent 46%),linear-gradient(180deg,#0a2b40,#061722)!important}
.jlit-finder-intro>span{color:#ffd321!important;font-family:"Brush Script MT","Segoe Script",cursive!important;font-size:34px!important;font-weight:700!important;line-height:.9!important;letter-spacing:0!important;transform:rotate(-4deg)!important;transform-origin:left center!important;text-shadow:0 0 14px rgba(255,211,33,.24)!important}
.jlit-finder-intro strong{margin-top:12px!important;color:#fff!important;font-size:19px!important;line-height:1!important;letter-spacing:-.45px!important;text-transform:uppercase!important}
.jlit-finder-intro p{margin-top:8px!important;color:#a9c5d4!important;font-size:11px!important;line-height:1.45!important}
.jlit-finder-step{padding:13px 10px 11px!important}.jlit-finder-step>small{margin:0 3px 9px!important;color:#63d8ff!important;font-size:9px!important;letter-spacing:1.25px!important}
.jlit-finder-cities{gap:5px!important}.jlit-finder-cities .jlit-city-jump{position:relative!important;min-height:36px!important;padding:0 10px 0 15px!important;border-color:#29495c!important;border-radius:8px!important;background:#0b2230!important;color:#c9dbe5!important;font-size:11px!important;overflow:hidden!important}
.jlit-finder-cities .jlit-city-jump:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#31586e}
.jlit-finder-cities .jlit-city-jump:hover{background:#10364a!important;color:#fff!important}.jlit-finder-cities .jlit-city-jump.is-active{background:linear-gradient(90deg,#087fd3,#0aa8e9)!important;border-color:#50d7ff!important;color:#fff!important;box-shadow:0 0 16px rgba(25,199,255,.28)!important}.jlit-finder-cities .jlit-city-jump.is-active:before{background:#ffe12c;box-shadow:0 0 9px #ffe12c}
.jlit-deal-finder .jlit-key-titlebar{padding:13px 11px 8px!important}.jlit-deal-finder .jlit-key-titlebar small{font-size:8px!important;letter-spacing:1.3px!important;color:#63d8ff!important}.jlit-deal-finder .jlit-key-titlebar strong{margin-top:5px!important;color:#fff!important;font-size:12px!important;line-height:1.05!important;letter-spacing:-.2px!important}
.jlit-deal-finder .jlit-key-group{padding:3px 7px!important}.jlit-deal-finder .jlit-key-group-title{display:none!important}
.jlit-deal-finder .jlit-key-row{grid-template-columns:minmax(0,1fr) 34px!important;gap:5px!important;min-height:45px!important;padding:4px 5px!important;margin:4px 0!important;border:1px solid #18384b!important;border-radius:9px!important;background:linear-gradient(180deg,#0c2635,#081a25)!important;opacity:1!important}
.jlit-deal-finder .jlit-key-row:before{top:5px!important;bottom:5px!important;width:3px!important}
.jlit-deal-finder .jlit-key-layer-main{min-height:35px!important;padding:3px 2px 3px 8px!important;gap:9px!important}
.jlit-deal-finder .jlit-key-row .jlit-key-icon{width:26px!important;height:26px!important;flex:0 0 26px!important}
.jlit-deal-finder .jlit-key-copy strong{font-size:10px!important;line-height:1.08!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.jlit-deal-finder .jlit-key-copy small{display:none!important}.jlit-deal-finder .jlit-key-count{display:none!important}
.jlit-deal-finder .jlit-key-row.is-off{opacity:.72!important;background:#050d13!important;border-color:#162934!important}.jlit-deal-finder .jlit-key-row.is-off .jlit-key-icon{opacity:.58!important;filter:none!important}.jlit-deal-finder .jlit-key-row.is-on{border-color:color-mix(in srgb,var(--layer) 62%,#18384b)!important;box-shadow:0 0 12px color-mix(in srgb,var(--layer) 18%,transparent)!important}
.jlit-deal-finder .jlit-layer-switch{position:relative!important;justify-self:end!important;width:34px!important;height:20px!important;margin:0!important;transform:none!important;border:1px solid #39515e!important;background:#101a20!important;box-shadow:inset 0 2px 5px rgba(0,0,0,.55)!important}
.jlit-deal-finder .jlit-layer-switch span{left:3px!important;top:50%!important;width:12px!important;height:12px!important;transform:translateY(-50%)!important;background:#53646e!important;box-shadow:0 1px 2px rgba(0,0,0,.5)!important}
.jlit-deal-finder .jlit-key-row.is-on .jlit-layer-switch{background:color-mix(in srgb,var(--layer) 48%,#0b1720)!important;border-color:var(--layer)!important;box-shadow:0 0 8px var(--layer),0 0 16px color-mix(in srgb,var(--layer) 48%,transparent),inset 0 0 8px color-mix(in srgb,var(--layer) 35%,transparent)!important}
.jlit-deal-finder .jlit-key-row.is-on .jlit-layer-switch span{transform:translate(14px,-50%)!important;background:#ffe32b!important;box-shadow:0 0 5px #fff7a1,0 0 11px #ffe32b!important}
.jlit-deal-finder .jlit-key-actions{padding:7px!important}.jlit-deal-finder .jlit-key-show-all{min-height:34px!important;border-radius:8px!important;font-size:9px!important}

/* Advert artwork is sacred: no labels, gradients or copy over the image. */
.jlit-editorial-grid{grid-template-rows:290px 240px!important;gap:14px!important}.jlit-editorial-deal{display:flex!important;flex-direction:column!important;position:relative!important;background:#fff!important;border:1px solid #d7e3e9!important;border-radius:15px!important;box-shadow:0 10px 26px rgba(8,34,52,.12)!important;overflow:hidden!important}
.jlit-editorial-photo{position:relative!important;inset:auto!important;flex:1 1 auto!important;min-height:0!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}.jlit-editorial-photo:after{display:none!important}
.jlit-editorial-copy{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;z-index:2!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;min-height:96px!important;padding:12px 13px!important;background:linear-gradient(100deg,#071c2d 0%,#0b3046 100%)!important;color:#fff!important;border-top:3px solid #ffd21f!important}
.jlit-deal-meta{min-width:0!important}.jlit-editorial-copy small{display:block!important;padding:0!important;background:transparent!important;color:#62d7ff!important;font-size:8px!important;letter-spacing:.8px!important}.jlit-editorial-copy h3,.jlit-editorial-deal-1 .jlit-editorial-copy h3{margin:4px 0 3px!important;color:#fff!important;font-size:17px!important;line-height:1!important}.jlit-editorial-copy p{margin:0!important;color:#dceaf1!important;font-size:10px!important;line-height:1.25!important;max-width:none!important}.jlit-editorial-copy button{min-width:100px!important;height:39px!important;padding:0 11px!important;border-radius:999px!important;background:#ffd21f!important;color:#082238!important;font-size:10px!important;box-shadow:0 4px 12px rgba(255,210,31,.18)!important}.jlit-editorial-copy button:hover{background:#ffe15a!important;transform:translateY(-1px)!important}

.jlit-how-deals-work{display:block!important;margin:22px 0 0!important;padding:0!important;border:0!important;border-radius:18px!important;overflow:hidden!important;background:linear-gradient(120deg,#071d2d 0%,#0b3850 65%,#0b6d86 100%)!important;box-shadow:0 12px 30px rgba(6,35,53,.16)!important;color:#fff!important}
.jlit-how-title{padding:19px 22px 13px!important}.jlit-how-title small{display:block!important;color:#63dcff!important;font:900 8px/1 Arial!important;letter-spacing:1.5px!important}.jlit-how-title strong{display:block!important;margin-top:4px!important;color:#fff!important;font:900 26px/1 Arial!important;letter-spacing:-.8px!important}.jlit-how-title p{margin:6px 0 0!important;color:#a9cbd9!important;font:600 11px/1.35 Arial!important}
.jlit-how-steps{display:grid!important;grid-template-columns:1fr 24px 1fr 24px 1fr 24px 1fr!important;align-items:stretch!important;padding:0 16px 17px!important;gap:5px!important}.jlit-how-steps>div{position:relative!important;padding:14px 12px 12px 48px!important;min-height:74px!important;border:1px solid rgba(130,217,244,.18)!important;border-radius:12px!important;background:rgba(1,14,22,.34)!important}.jlit-how-steps b{position:absolute!important;left:11px!important;top:13px!important;display:grid!important;place-items:center!important;width:27px!important;height:27px!important;border-radius:50%!important;background:#ffd21f!important;color:#09263a!important;font:900 12px/1 Arial!important;box-shadow:0 0 12px rgba(255,210,31,.22)!important}.jlit-how-steps span{display:block!important;color:#fff!important;font:900 11px/1 Arial!important;letter-spacing:.4px!important}.jlit-how-steps p{margin:5px 0 0!important;color:#a8c4d1!important;font:600 9px/1.35 Arial!important}.jlit-how-steps>i{align-self:center!important;color:#ffd21f!important;font:900 18px/1 Arial!important;font-style:normal!important;text-align:center!important}

@media(max-width:1050px){.jlit-bangkok-page .jlit-b3d-shell{height:82vh!important;min-height:680px!important}.jlit-deals-workspace{grid-template-columns:190px minmax(0,1fr)!important;gap:14px!important}.jlit-editorial-grid{grid-template-rows:300px 245px 245px!important}.jlit-how-steps{grid-template-columns:1fr 1fr!important;gap:8px!important}.jlit-how-steps>i{display:none!important}}
@media(max-width:760px){.jlit-bangkok-page .jlit-b3d-shell{height:72vh!important;min-height:540px!important}.jlit-deals-workspace{display:block!important;padding:12px 9px 0!important}.jlit-deal-finder{position:relative!important;top:auto!important}.jlit-finder-intro>span{font-size:32px!important}.jlit-finder-cities{grid-template-columns:1fr 1fr!important}.jlit-deal-finder .jlit-key-group{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important;padding:3px 6px!important}.jlit-deal-finder .jlit-key-row{grid-template-columns:minmax(0,1fr) 34px!important;margin:0!important}.jlit-deal-finder .jlit-key-copy strong{font-size:9px!important}.jlit-editorial-grid{display:block!important}.jlit-editorial-deal{min-height:0!important;margin-bottom:12px!important}.jlit-editorial-photo{height:auto!important;min-height:0!important;aspect-ratio:1.7/1!important;flex:none!important}.jlit-editorial-copy{min-height:88px!important;grid-template-columns:minmax(0,1fr) 96px!important}.jlit-editorial-copy h3,.jlit-editorial-deal-1 .jlit-editorial-copy h3{font-size:16px!important}.jlit-how-title{padding:17px 15px 11px!important}.jlit-how-steps{grid-template-columns:1fr!important;padding:0 10px 12px!important}.jlit-how-steps>div{min-height:65px!important}}


/* v2.0.268 — use the supplied all-Thailand deals hero as the complete hero artwork. */
.jlit-bangkok-page .jlit-bangkok-hero{
  min-height:0!important;
  aspect-ratio:3.2/1!important;
  padding:0!important;
  display:block!important;
  background:#071a27!important;
}
.jlit-bangkok-page .jlit-bangkok-hero-art{
  position:relative!important;inset:auto!important;z-index:2!important;
  width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;
}
.jlit-bangkok-page .jlit-bangkok-hero:before,.jlit-bangkok-page .jlit-bangkok-hero:after,
.jlit-bangkok-page .jlit-bangkok-hero-copy,.jlit-bangkok-page .jlit-bangkok-hero-stats,.jlit-bangkok-page .jlit-bangkok-awaits{display:none!important}
@media(max-width:760px){
 .jlit-bangkok-page .jlit-bangkok-hero{aspect-ratio:3.2/1!important}
 .jlit-bangkok-page .jlit-bangkok-hero-art{object-position:center!important}
}


/* v2.0.269 — show the supplied hero artwork in full; never crop it. */
.jlit-bangkok-page .jlit-bangkok-hero{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  padding:0!important;
  overflow:visible!important;
  background:#071a27!important;
}
.jlit-bangkok-page .jlit-bangkok-hero-art{
  position:relative!important;
  inset:auto!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0!important;
  padding:0!important;
}
@media(max-width:1100px){
 .jlit-bangkok-page .jlit-bangkok-hero{height:auto!important;min-height:0!important;aspect-ratio:auto!important;padding:0!important}
 .jlit-bangkok-page .jlit-bangkok-hero-art{width:100%!important;height:auto!important;object-fit:contain!important}
}
@media(max-width:760px){
 .jlit-bangkok-page .jlit-bangkok-hero{height:auto!important;min-height:0!important;aspect-ratio:auto!important;padding:0!important;overflow:visible!important}
 .jlit-bangkok-page .jlit-bangkok-hero-art{width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important}
}


/* v2.0.270 — full hero artwork height + map height reduced by 5%. */
.jlit-bangkok-page .jlit-bangkok-hero{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  padding:0!important;
  overflow:visible!important;
  background:#071a27!important;
}
.jlit-bangkok-page .jlit-bangkok-hero-art{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
}
.jlit-bangkok-page .jlit-b3d-shell{height:87.4vh!important;min-height:779px!important;max-height:1026px!important}
@media(max-width:1050px){.jlit-bangkok-page .jlit-b3d-shell{height:77.9vh!important;min-height:646px!important}}
@media(max-width:760px){.jlit-bangkok-page .jlit-b3d-shell{height:68.4vh!important;min-height:513px!important}}

/* v2.0.275 — tablet/mobile map controls live OUTSIDE the map canvas. */
@media(max-width:1050px){
  .jlit-bangkok-page .jlit-b3d-shell{
    display:flex!important;
    flex-direction:column!important;
    width:calc(100% - 16px)!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:12px 8px 18px!important;
    overflow:visible!important;
    border-radius:12px!important;
    background:#07131d!important;
  }
  .jlit-b3d-shell .jlit-experience-bar{
    order:1!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    width:100%!important;
    min-height:48px!important;
    margin:0!important;
    z-index:5!important;
    border-radius:12px 12px 0 0!important;
  }
  .jlit-b3d-shell .jlit-b3d-map{
    order:2!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:66vh!important;
    min-height:500px!important;
    z-index:1!important;
  }
  .jlit-b3d-shell .jlit-nav-console{
    order:3!important;
    position:relative!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;
    width:100%!important;
    margin:0!important;
    z-index:5!important;
    border-radius:0 0 12px 12px!important;
    box-shadow:0 8px 22px rgba(0,0,0,.24)!important;
  }
  .jlit-b3d-shell .jlit-nav-brand{display:none!important}
  .jlit-b3d-shell .jlit-nav-console-body{
    display:grid!important;
    grid-template-columns:1fr 1fr minmax(190px,2fr) 112px 1fr!important;
    align-items:stretch!important;
  }
  .jlit-b3d-shell .jlit-nav-tool,.jlit-b3d-shell .jlit-route-modes{min-height:52px!important}
  .jlit-b3d-shell .jlit-nav-tool{padding:7px 8px!important;justify-content:center!important}
  .jlit-b3d-shell .jlit-nav-tool>span{display:flex!important}
  .jlit-b3d-shell .jlit-nav-tool small{display:none!important}
  .jlit-b3d-shell .jlit-nav-search{min-height:52px!important;margin:0!important;border-radius:0!important}
  .jlit-b3d-shell .jlit-nav-deals{display:flex!important}
  .jlit-b3d-shell .jlit-nav-directions,.jlit-b3d-shell .jlit-nav-clear{display:none!important}
  .jlit-b3d-shell .jlit-route-summary{position:relative!important;order:4!important;left:auto!important;bottom:auto!important;transform:none!important;width:100%!important;max-width:none!important;margin:0!important;border-radius:0 0 10px 10px!important}
  .jlit-b3d-shell .jlit-directions-drawer{position:relative!important;order:5!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%!important;max-height:360px!important;border-radius:0 0 12px 12px!important}
  .jlit-b3d-shell .jlit-b3d-title,.jlit-b3d-shell .jlit-b3d-status,.jlit-b3d-shell .jlit-mobile-layers-toggle{display:none!important}
}
@media(max-width:760px){
  .jlit-b3d-shell .jlit-experience-bar{
    min-height:42px!important;
    padding:5px 7px!important;
    grid-template-columns:auto 1fr auto!important;
    gap:5px!important;
  }
  .jlit-b3d-shell .jlit-experience-brand,.jlit-b3d-shell .jlit-experience-tabs,.jlit-b3d-shell .jlit-live-status,.jlit-b3d-shell .jlit-time-switch-hint,.jlit-b3d-shell .jlit-auth-controls{display:none!important}
  .jlit-b3d-shell .jlit-time-controls{grid-column:1/3!important;display:flex!important;gap:4px!important;justify-content:flex-start!important}
  .jlit-b3d-shell .jlit-time-btn{min-width:48px!important;height:32px!important;padding:0 7px!important}
  .jlit-b3d-shell .jlit-experience-tools{grid-column:3!important;display:flex!important;gap:4px!important}
  .jlit-b3d-shell .jlit-experience-tools button{height:32px!important;min-width:34px!important}
  .jlit-b3d-shell .jlit-b3d-map{height:62vh!important;min-height:430px!important}
  .jlit-b3d-shell .jlit-nav-console-body{
    grid-template-columns:1fr 1fr 1fr!important;
    grid-template-areas:
      "locate destination deals"
      "search search search"!important;
  }
  .jlit-b3d-shell .jlit-nav-locate{grid-area:locate!important}
  .jlit-b3d-shell .jlit-nav-destination-tool{grid-area:destination!important}
  .jlit-b3d-shell .jlit-nav-deals{grid-area:deals!important}
  .jlit-b3d-shell .jlit-nav-search{grid-area:search!important;min-height:44px!important;border-top:1px solid #1c2d38!important}
  .jlit-b3d-shell .jlit-route-modes{display:none!important}
  .jlit-b3d-shell .jlit-nav-tool{min-height:48px!important;gap:5px!important;padding:5px 4px!important}
  .jlit-b3d-shell .jlit-nav-icon{width:25px!important;height:25px!important;flex-basis:25px!important}
  .jlit-b3d-shell .jlit-nav-tool b{font-size:8px!important;letter-spacing:.35px!important;white-space:nowrap!important}
  .jlit-b3d-shell .jlit-nav-search input{font-size:12px!important}
}
@media(max-width:420px){
  .jlit-b3d-shell .jlit-b3d-map{height:58vh!important;min-height:390px!important}
  .jlit-b3d-shell .jlit-nav-tool>span{display:block!important}
  .jlit-b3d-shell .jlit-nav-tool b{font-size:7.5px!important}
}

/* v2.0.276 — mobile: two equal navigation actions above the full-width search field. */
@media(max-width:760px){
  .jlit-b3d-shell .jlit-nav-console-body{
    grid-template-columns:1fr 1fr!important;
    grid-template-areas:
      "locate deals"
      "search search"!important;
  }
  .jlit-b3d-shell .jlit-nav-locate{grid-area:locate!important;width:100%!important;min-width:0!important}
  .jlit-b3d-shell .jlit-nav-deals{grid-area:deals!important;width:100%!important;min-width:0!important}
  .jlit-b3d-shell .jlit-nav-destination-tool{display:none!important}
  .jlit-b3d-shell .jlit-nav-search{grid-area:search!important;width:100%!important;min-width:0!important}
}

/* v2.0.277 — mobile nav button separation + remove map attribution strip. */
.jlit-b3d-shell .maplibregl-ctrl-attrib,
.jlit-b3d-shell .maplibregl-ctrl-attrib-button{display:none!important}
@media(max-width:760px){
  .jlit-b3d-shell .jlit-nav-console-body,
  .jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-console-body,
  .jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-console-body,
  .jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-console-body{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-areas:"locate deals" "search search"!important;
    column-gap:6px!important;
    row-gap:0!important;
    padding:6px 6px 0!important;
    box-sizing:border-box!important;
  }
  .jlit-b3d-shell .jlit-nav-locate,
  .jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-locate,
  .jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-locate,
  .jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-locate{
    grid-area:locate!important;
    grid-column:auto!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    min-height:44px!important;
    margin:0!important;
    padding:5px 6px!important;
    box-sizing:border-box!important;
  }
  .jlit-b3d-shell .jlit-nav-deals,
  .jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-deals,
  .jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-deals,
  .jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-deals{
    grid-area:deals!important;
    grid-column:auto!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    min-height:44px!important;
    margin:0!important;
    padding:5px 6px!important;
    justify-content:center!important;
    box-sizing:border-box!important;
  }
  .jlit-b3d-shell .jlit-nav-search,
  .jlit-b3d-shell[data-jlit-nav-stage="locate"] .jlit-nav-search,
  .jlit-b3d-shell[data-jlit-nav-stage="ready"] .jlit-nav-search,
  .jlit-b3d-shell[data-jlit-nav-stage="selecting"] .jlit-nav-search{
    grid-area:search!important;
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    margin-top:6px!important;
  }
}

/* v2.0.278 — compact city tour stock beneath offers; no stock photography required. */
.jlit-city-tours{margin-top:34px}
.jlit-tours-heading{margin-bottom:16px}
.jlit-tour-placeholder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.jlit-tour-placeholder-grid button{appearance:none;border:1px solid #dbe5eb;background:#fff;border-radius:14px;padding:16px 16px 14px;text-align:left;min-height:132px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 5px 18px rgba(8,31,45,.07);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.jlit-tour-placeholder-grid button:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(8,31,45,.12);border-color:#1a9bb8}
.jlit-tour-placeholder-grid strong{font-size:16px;line-height:1.18;color:#102f3d;margin-bottom:7px}
.jlit-tour-placeholder-grid span{font-size:13px;line-height:1.35;color:#647985;flex:1}
.jlit-tour-placeholder-grid b{font-size:12px;letter-spacing:.04em;color:#087e9d;margin-top:12px}
@media(max-width:900px){.jlit-tour-placeholder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.jlit-city-tours{margin-top:24px}.jlit-tour-placeholder-grid{grid-template-columns:1fr 1fr;gap:8px}.jlit-tour-placeholder-grid button{padding:12px;min-height:124px}.jlit-tour-placeholder-grid strong{font-size:14px}.jlit-tour-placeholder-grid span{font-size:12px}}

/* v2.0.279 — compact tour cards styled to echo the editorial deal cards. */
.jlit-tour-placeholder-grid{gap:12px!important}
.jlit-tour-placeholder-grid button{
  appearance:none!important;overflow:hidden!important;position:relative!important;
  min-height:126px!important;padding:0!important;border:1px solid #d7e3e9!important;border-radius:13px!important;
  background:#fff!important;text-align:left!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;
  box-shadow:0 7px 20px rgba(8,34,52,.09)!important;cursor:pointer!important;transition:transform .18s ease,box-shadow .18s ease!important;
}
.jlit-tour-placeholder-grid button:hover{transform:translateY(-2px)!important;box-shadow:0 10px 25px rgba(8,34,52,.14)!important;border-color:#d7e3e9!important}
.jlit-tour-placeholder-grid strong{
  display:flex!important;align-items:center!important;flex:1!important;width:100%!important;min-height:72px!important;
  margin:0!important;padding:14px 14px 12px!important;background:#fff!important;color:#102f3d!important;
  font:900 16px/1.18 Arial,Helvetica,sans-serif!important;
}
.jlit-tour-placeholder-grid span{display:none!important}
.jlit-tour-placeholder-grid b{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;width:100%!important;min-height:51px!important;
  margin:0!important;padding:9px 11px!important;border-top:3px solid #ffd21f!important;
  background:linear-gradient(100deg,#071c2d 0%,#0b3046 100%)!important;color:transparent!important;font-size:0!important;
}
.jlit-tour-placeholder-grid b:after{
  content:"SEE TOURS →";display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:96px!important;height:32px!important;padding:0 12px!important;border-radius:999px!important;background:#ffd21f!important;
  color:#082238!important;font:900 10px/1 Arial,Helvetica,sans-serif!important;letter-spacing:.02em!important;
  box-shadow:0 4px 12px rgba(255,210,31,.18)!important;
}
.jlit-tour-placeholder-grid button:hover b:after{background:#ffe15a!important}
@media(max-width:560px){
  .jlit-tour-placeholder-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .jlit-tour-placeholder-grid button{min-height:112px!important}
  .jlit-tour-placeholder-grid strong{min-height:64px!important;padding:11px!important;font-size:13px!important}
  .jlit-tour-placeholder-grid b{min-height:45px!important;padding:7px 8px!important}
  .jlit-tour-placeholder-grid b:after{min-width:82px!important;height:29px!important;padding:0 9px!important;font-size:9px!important}
}
\n\n/* v2.0.290 — Thailand bottom banner: preserve full artwork and place live CTAs exactly over baked empty button spaces */
.jlit-bangkok-page .jlit-ready-banner{position:relative!important;width:100%!important;aspect-ratio:1000/361!important;height:auto!important;overflow:hidden!important;background:#031f2f!important;line-height:0!important}
.jlit-bangkok-page .jlit-ready-banner-img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;object-fit:fill!important;object-position:center!important;margin:0!important;padding:0!important;border:0!important}
.jlit-bangkok-page .jlit-ready-banner-actions{position:absolute!important;left:3.6%!important;bottom:12.7%!important;width:42.9%!important;height:12.2%!important;display:grid!important;grid-template-columns:220fr 196fr!important;gap:3%!important;align-items:stretch!important;z-index:4!important;line-height:1!important}
.jlit-bangkok-page .jlit-ready-btn{width:100%!important;height:100%!important;min-width:0!important;padding:0 5%!important;border-radius:9px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:4%!important;font-size:clamp(9px,1.05vw,15px)!important;font-weight:900!important;line-height:1!important;box-sizing:border-box!important;box-shadow:none!important;white-space:nowrap!important}
.jlit-bangkok-page .jlit-ready-btn-map{border:0!important;background:#f6c229!important;color:#071d28!important}
.jlit-bangkok-page .jlit-ready-btn-join{border:2px solid #e6ad0b!important;background:#062335!important;color:#fff!important}
.jlit-bangkok-page .jlit-ready-btn .jlit-ready-btn-icon{width:clamp(14px,1.5vw,22px)!important;height:clamp(14px,1.5vw,22px)!important;flex:0 0 auto!important;object-fit:contain!important;margin:0!important}
.jlit-bangkok-page .jlit-ready-btn b{font-size:1.25em!important;margin-left:auto!important}
@media(max-width:760px){.jlit-bangkok-page .jlit-ready-banner-actions{left:3.6%!important;right:auto!important;bottom:12.7%!important;width:42.9%!important;height:12.2%!important;gap:3%!important}.jlit-bangkok-page .jlit-ready-btn{height:100%!important;padding:0 3%!important;font-size:clamp(5px,1.05vw,9px)!important}.jlit-bangkok-page .jlit-ready-btn .jlit-ready-btn-icon{width:12px!important;height:12px!important}.jlit-bangkok-page .jlit-ready-btn b{font-size:1em!important}}


/* v2.0.292 — render Thailand footer artwork as the banner background, avoiding image/lazy-load rewriting. */
.jlit-bangkok-page .jlit-ready-banner{
  display:block!important;position:relative!important;width:100%!important;height:auto!important;aspect-ratio:1000/361!important;
  margin:0!important;padding:0!important;overflow:hidden!important;background-color:#031f2f!important;
  background-image:url('https://justlandedinthailand.com/wp-content/uploads/2023/08/bottom-bannerfor-deals-page.png')!important;
  background-repeat:no-repeat!important;background-position:center center!important;background-size:100% 100%!important;line-height:0!important;
}
.jlit-bangkok-page .jlit-ready-banner-img{display:none!important}
.jlit-bangkok-page .jlit-ready-banner-actions{left:3.6%!important;bottom:12.7%!important;width:42.9%!important;height:12.2%!important;z-index:5!important}


/* v2.0.300 — balanced five-business Bangkok deals grid. Every card keeps a visible photo. */
@media (min-width:1051px){
 .jlit-editorial-grid{grid-template-columns:1.35fr .75fr .75fr!important;grid-template-rows:260px 260px!important;gap:14px!important}
 .jlit-editorial-deal-1{grid-column:1!important;grid-row:1/3!important}
 .jlit-editorial-deal-2{grid-column:2!important;grid-row:1!important}
 .jlit-editorial-deal-3{grid-column:3!important;grid-row:1!important}
 .jlit-editorial-deal-4{grid-column:2!important;grid-row:2!important}
 .jlit-editorial-deal-5{grid-column:3!important;grid-row:2!important}
 .jlit-editorial-deal-1 .jlit-editorial-photo{min-height:0!important}
 .jlit-editorial-deal-2 .jlit-editorial-photo,.jlit-editorial-deal-3 .jlit-editorial-photo,.jlit-editorial-deal-4 .jlit-editorial-photo,.jlit-editorial-deal-5 .jlit-editorial-photo{min-height:150px!important}
}
