/* ALL HAIL TAXIS® V733 — 511NY: utility-marker parity, premium details. */
#aht-hotspots-app .aht-511-marker,.aht-511-marker{
 width:31px!important;height:31px!important;box-sizing:border-box!important;display:flex!important;
 align-items:center!important;justify-content:center!important;position:relative!important;
 border-radius:50%!important;background:#05080b!important;color:#fff!important;
 padding:0!important;cursor:pointer!important;touch-action:manipulation!important;
 border:3px solid #aeb5bc!important;
 box-shadow:0 0 0 2px rgba(255,255,255,.78),0 7px 18px rgba(0,0,0,.52),0 0 16px rgba(204,211,218,.34)!important;
 transition:filter .15s ease!important;
}
#aht-hotspots-app .aht-511-marker svg,.aht-511-marker svg{width:19px!important;height:19px!important;display:block!important;color:#fff!important;pointer-events:none!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.75))!important;}
#aht-hotspots-app .aht-511-marker-closure,.aht-511-marker-closure{border-color:#fff!important;background:#ba101c!important;
 box-shadow:0 0 0 2px rgba(255,255,255,.8),0 7px 18px rgba(0,0,0,.52),0 0 16px rgba(240,22,42,.36)!important;}
.aht-511-marker:focus-visible{outline:3px solid #fff!important;outline-offset:5px!important;}
.aht-511-marker:hover{filter:brightness(1.11)!important;}
/* Pointed tip is ONLY an extension of the unchanged circle, and only in navigation. */
.aht-511-marker-pointless{display:none}
.aht-511-marker-tip{position:absolute;top:100%;left:50%;transform:translate(-50%,-2px);
 width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;
 border-top:13px solid #aeb5bc;filter:drop-shadow(0 2px 1px rgba(0,0,0,.65));pointer-events:none;}
.aht-511-marker-closure .aht-511-marker-tip{border-top-color:#e9e9e9;}
/* Match the utility marker visual diameter in Explorer; preserve the same disc in Navigation. */
.aht-511-dialog[hidden]{display:none!important}
.aht-511-dialog{position:fixed;inset:0;z-index:2147483300;box-sizing:border-box;display:grid;
 align-items:end;justify-content:center;padding:14px 16px max(18px,env(safe-area-inset-bottom));font-family:inherit;color:#fff;}
.aht-511-scrim{position:absolute;inset:0;background:rgba(0,0,0,.61);backdrop-filter:blur(3px);}
.aht-511-card{position:relative;width:min(630px,100%);max-height:min(78dvh,850px);box-sizing:border-box;
 display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;
 border-radius:22px;border:1px solid rgba(205,216,231,.54);
 background:linear-gradient(155deg,rgba(15,20,25,.98),rgba(2,5,8,.99));
 box-shadow:0 20px 60px rgba(0,0,0,.78),inset 0 1px rgba(255,255,255,.12);}
.aht-511-detail-head{display:flex;gap:12px;align-items:center;padding:16px 16px 10px;border-bottom:1px solid rgba(255,255,255,.13);}
.aht-511-detail-symbol{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:2px solid #cbd1d7;background:#06080b;}
.aht-511-detail-symbol svg{width:24px;height:24px;fill:#fff;color:#fff}.aht-511-detail-symbol-closure{background:#bb0c19;border-color:#fff}
.aht-511-title-wrap{flex:1;min-width:0}.aht-511-title-wrap h2{font-size:19px!important;font-weight:800!important;color:#fff!important;margin:0!important;line-height:1.15!important;}
.aht-511-title-wrap p{font-size:12px!important;color:#c5cad1!important;margin:5px 0 0!important;line-height:1.3!important;overflow-wrap:anywhere}
.aht-511-close{width:36px;height:36px;flex:0 0 36px;background:#0a0d12;border:1px solid #777;border-radius:50%;font-size:29px;line-height:30px;color:white;cursor:pointer;}
.aht-511-detail-body{padding:15px 18px;display:grid;gap:10px;min-width:0;}
.aht-511-detail-row{display:grid;grid-template-columns:minmax(95px,34%) 1fr;gap:10px;line-height:1.35;font-size:13px;border-bottom:1px solid rgba(255,255,255,.08);padding:6px 0;}
.aht-511-field-label{color:#aab6c5;font-size:12px}.aht-511-field-value{color:#f3f5f8;font-size:13px;font-weight:600;overflow-wrap:anywhere;}
.aht-511-photo{position:relative;display:grid;place-items:center;min-height:140px;max-height:40dvh;aspect-ratio:16/9;
 background:#04070c;border:1px solid rgba(255,255,255,.16);border-radius:13px;overflow:hidden;}
.aht-511-photo img{width:100%;height:100%;object-fit:contain;display:block}
.aht-511-photo-status{color:#b9c5d0;font-size:12px;position:absolute;bottom:8px;left:8px;border-radius:6px;background:#070b10d9;padding:5px 8px;}
.aht-511-view-on-map{width:100%;min-height:42px;cursor:pointer;border-radius:12px;border:1px solid rgba(255,255,255,.6);background:#0e141b;color:#fff;font-size:14px;font-weight:750;}
.aht-511-attribution{padding:12px 17px 16px;margin:0 15px 14px;border:1px solid #4c6478;border-radius:11px;display:flex;gap:7px;flex-direction:column;}
.aht-511-official-logo{display:block;max-width:72px;max-height:36px;object-fit:contain;}
.aht-511-source-line{display:flex;gap:5px 12px;flex-wrap:wrap;justify-content:space-between;align-items:center;font-size:11px;line-height:1.4;color:#cbd4df;}
.aht-511-source-line a{color:#45c6f9!important;text-decoration:underline!important}
.aht-511-attribution p{font-size:10px!important;line-height:1.4!important;color:#b8bdc5!important;margin:2px 0 0!important}
html.aht-511-detail-open{overflow:hidden!important}
@media (max-width:600px){.aht-511-dialog{padding:10px 10px max(12px,env(safe-area-inset-bottom))}.aht-511-card{border-radius:17px;max-height:calc(100dvh - 75px)}.aht-511-detail-body{padding:12px}.aht-511-attribution{margin:0 11px 11px;padding:11px}.aht-511-detail-head{padding:13px 12px 10px}}
@media (max-height:500px){.aht-511-card{max-height:calc(100dvh - 12px)}.aht-511-photo{max-height:25dvh;min-height:90px}}
@media(prefers-reduced-motion:reduce){.aht-511-marker{transition:none!important}}

/* V732: responsive CAMERA-only modal; closure details retain approved V731 geometry. */
.aht-511-camera-dialog{
 align-items:center!important;justify-content:center!important;
 padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;
}
.aht-511-camera-dialog .aht-511-card{
 width:min(690px,100%)!important;max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)))!important;
 overflow-x:hidden!important;overflow-y:auto!important;
}
.aht-511-camera-dialog .aht-511-detail-head{padding:12px 15px 10px!important;gap:10px!important;min-height:0!important;}
.aht-511-camera-dialog .aht-511-detail-symbol{width:36px;height:36px;}
.aht-511-camera-dialog .aht-511-title-wrap h2{font-size:18px!important;line-height:1.13!important;}
.aht-511-camera-dialog .aht-511-title-wrap p{font-size:12px!important;margin-top:3px!important;line-height:1.2!important;}
.aht-511-camera-dialog .aht-511-detail-body{display:flex!important;flex-direction:column!important;gap:7px!important;padding:12px 13px 7px!important;}
.aht-511-camera-dialog .aht-511-photo{
 width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
 aspect-ratio:16/9!important;box-sizing:border-box!important;display:flex!important;
 border-radius:12px!important;
}
.aht-511-camera-dialog .aht-511-photo img{width:100%!important;height:100%!important;object-fit:contain!important;}
.aht-511-camera-dialog .aht-511-photo-zoomable{cursor:zoom-in;}
.aht-511-camera-dialog .aht-511-photo-zoomable:focus-visible{outline:2px solid #fff;outline-offset:3px;}
.aht-511-camera-dialog .aht-511-photo-status{font-size:11px!important;line-height:1.15!important;padding:4px 7px!important;bottom:7px;left:7px;pointer-events:none;}
.aht-511-camera-info{display:grid;grid-template-columns:1fr;gap:0;min-width:0;}
.aht-511-camera-dialog .aht-511-detail-row{grid-template-columns:minmax(78px,26%) minmax(0,1fr)!important;gap:10px!important;
 padding:5px 1px!important;font-size:12px!important;line-height:1.23!important;}
.aht-511-camera-dialog .aht-511-field-label{font-size:11px!important;line-height:1.25!important;}
.aht-511-camera-dialog .aht-511-field-value{font-size:12px!important;line-height:1.25!important;}
.aht-511-camera-dialog .aht-511-attribution{padding:8px 11px!important;margin:3px 13px 12px!important;gap:3px!important;border-radius:10px!important;}
.aht-511-camera-dialog .aht-511-source-line{font-size:11px!important;line-height:1.26!important;gap:3px 8px!important;}
.aht-511-camera-dialog .aht-511-attribution p{font-size:10.5px!important;line-height:1.35!important;margin:2px 0 0!important;}
/* Landscape devices: prominent uncropped image, details beside it; no unused image column. */
@media (orientation:landscape) and (min-width:620px){
 .aht-511-camera-dialog .aht-511-card{width:min(960px,96vw)!important;}
 .aht-511-camera-dialog .aht-511-detail-head{padding:8px 12px!important;}
 .aht-511-camera-dialog .aht-511-detail-symbol{width:30px;height:30px;}
 .aht-511-camera-dialog .aht-511-detail-symbol svg{width:19px;height:19px;}
 .aht-511-camera-dialog .aht-511-title-wrap h2{font-size:16px!important;}
 .aht-511-camera-dialog .aht-511-title-wrap p{font-size:11px!important;margin-top:1px!important;}
 .aht-511-camera-dialog .aht-511-close{width:29px;height:29px;flex-basis:29px;font-size:23px;line-height:23px;}
 .aht-511-camera-dialog .aht-511-detail-body{display:grid!important;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr)!important;
 align-items:center!important;gap:12px!important;padding:9px 12px 5px!important;}
 .aht-511-camera-dialog .aht-511-photo{aspect-ratio:16/9!important;width:100%!important;max-height:calc(100dvh - 142px)!important;}
 .aht-511-camera-dialog .aht-511-detail-row{grid-template-columns:1fr!important;gap:2px!important;padding:4px 0!important;}
 .aht-511-camera-dialog .aht-511-attribution{margin:5px 12px 9px!important;padding:6px 9px!important;}
 .aht-511-camera-dialog .aht-511-source-line{font-size:11px!important;}
 .aht-511-camera-dialog .aht-511-attribution p{font-size:11px!important;line-height:1.26!important;}
}
@media (orientation:landscape) and (max-height:440px) and (min-width:620px){
 .aht-511-camera-dialog{padding:5px max(10px,env(safe-area-inset-right)) 5px max(10px,env(safe-area-inset-left))!important;}
 .aht-511-camera-dialog .aht-511-card{max-height:calc(100dvh - 10px)!important;}
 .aht-511-camera-dialog .aht-511-detail-head{padding:5px 10px!important;}
 .aht-511-camera-dialog .aht-511-detail-body{padding:5px 9px 3px!important;gap:8px!important;}
 .aht-511-camera-dialog .aht-511-photo{max-height:calc(100dvh - 113px)!important;}
 .aht-511-camera-dialog .aht-511-attribution{margin:3px 9px 5px!important;padding:4px 8px!important;}
 .aht-511-camera-dialog .aht-511-attribution p{font-size:11px!important;line-height:1.22!important;}
 .aht-511-camera-dialog .aht-511-detail-row{padding:3px 0!important;}
}
/* Isolated snapshot viewer — never changes Mapbox camera or map gestures. */
.aht-511-zoom-overlay{position:fixed;inset:0;z-index:2147483645;background:#020407;display:flex;flex-direction:column;
 color:#fff;box-sizing:border-box;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);}
.aht-511-zoom-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:9px;
 padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.22);min-width:0;}
.aht-511-zoom-caption{font-size:clamp(12px,1.6vw,16px);font-weight:650;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.aht-511-zoom-actions{display:flex;align-items:center;gap:6px;}
.aht-511-zoom-action{width:34px;height:34px;border:1px solid #87919e;border-radius:9px;background:#111923;color:#fff;
 font-size:21px;line-height:1;cursor:pointer;touch-action:manipulation;}
.aht-511-zoom-reset{font-size:12px;width:40px;font-weight:650;}
.aht-511-zoom-close{font-size:28px;border-radius:50%;}
.aht-511-zoom-action:disabled{opacity:.4;cursor:default;}
.aht-511-zoom-stage{flex:1 1 auto;min-height:0;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;
 touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:contain;}
.aht-511-zoom-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center center;
 user-select:none;-webkit-user-select:none;-webkit-user-drag:none;will-change:transform;}
.aht-511-zoom-hint{text-align:center;color:#b5bec9;padding:6px 12px 9px;font-size:11px;line-height:1.25;}
.aht-511-zoom-error{color:#c5ced9;font-size:13px;}
@media (orientation:landscape) and (max-height:450px){
 .aht-511-zoom-bar{padding:3px 10px;}.aht-511-zoom-action{width:30px;height:30px;}.aht-511-zoom-hint{padding:2px 8px;font-size:10px;}
}
@media (prefers-reduced-motion:reduce){.aht-511-zoom-image{transition:none!important}}

/* V733 official 511NY incident icons inherit the approved utility-marker shadows. */
.aht-511-marker-incident{background:#080a0c!important;border-color:#f1c85b!important;
 box-shadow:0 0 0 2px rgba(255,255,255,.78),0 7px 18px rgba(0,0,0,.52),0 0 16px rgba(255,211,66,.3)!important;}
.aht-511-marker-incident .aht-511-marker-tip{border-top-color:#f1c85b!important;}
.aht-511-incident-icon{width:23px!important;height:23px!important;object-fit:contain!important;pointer-events:none!important;}
.aht-511-detail-symbol-incident{background:#05080b!important;border-color:#f1c85b!important;}
.aht-511-detail-incident-icon{width:30px;height:30px;object-fit:contain;}
.aht-511-marker{transition:opacity .42s ease,filter .15s ease!important;}
.aht-511-marker.aht-511-fading{opacity:0!important;pointer-events:none!important;}


/* V734 — Mapbox geo-anchor is on the OUTER host. All visual effects are INNER. */
html body #aht-hotspots-app #aht-map-wrap #aht-map .mapboxgl-marker.aht-511-marker-host,
.mapboxgl-marker.aht-511-marker-host{
  position:absolute!important;box-sizing:border-box!important;
  width:31px!important;height:31px!important;
  padding:0!important;margin:0!important;border:0!important;
  background:none!important;box-shadow:none!important;
  pointer-events:auto!important;
  /* Do not declare transform, filter, or transition here: Mapbox owns the transform. */
}
html body #aht-hotspots-app #aht-map-wrap #aht-map .mapboxgl-marker.aht-511-marker-host-pointed,
.mapboxgl-marker.aht-511-marker-host-pointed{height:42px!important;}
#aht-hotspots-app .aht-511-marker-host .aht-511-marker,
.aht-511-marker-host .aht-511-marker{
  position:absolute!important;top:0!important;left:0!important;
  width:31px!important;height:31px!important;
  transform:scale(var(--aht-511-visual-scale,1))!important;
  transform-origin:50% 50%!important;
  margin:0!important;
}
#aht-hotspots-app .aht-511-marker-host-pointed .aht-511-marker,
.aht-511-marker-host-pointed .aht-511-marker{transform-origin:50% calc(100% + 11px)!important;}
.aht-511-marker-host .aht-511-marker::before{
  content:"";position:absolute;inset:-9px;pointer-events:auto;
}
.aht-511-marker-host.aht-511-fading{opacity:0!important;pointer-events:none!important;transition:opacity .42s ease!important;}
/* Explorer at z13 reveals only spaced CCTV; geo-event pins appear during navigation. */
/* Camera images: native aspect ratio, edge-to-edge inside the approved card. */
.aht-511-camera-dialog .aht-511-photo{
  aspect-ratio:var(--aht-511-image-ratio,16 / 9)!important;
  max-height:min(48dvh,550px)!important;min-height:0!important;
}
.aht-511-camera-dialog .aht-511-photo img{
  display:block!important;width:100%!important;height:100%!important;
  object-fit:contain!important;
}
/* iPad landscape has enough height for the portrait-style VERTICAL camera card. */
@media (orientation:landscape) and (min-width:900px) and (min-height:520px){
 .aht-511-camera-dialog .aht-511-card{width:min(580px,75vw)!important;max-height:calc(100dvh - 30px)!important;}
 .aht-511-camera-dialog .aht-511-detail-head{padding:12px 15px 10px!important;}
 .aht-511-camera-dialog .aht-511-detail-body{display:flex!important;flex-direction:column!important;gap:6px!important;padding:11px 13px 7px!important;}
 .aht-511-camera-dialog .aht-511-photo{width:100%!important;max-height:min(43dvh,440px)!important;}
 .aht-511-camera-dialog .aht-511-detail-row{grid-template-columns:minmax(88px,28%) minmax(0,1fr)!important;gap:8px!important;padding:4px 1px!important;}
 .aht-511-camera-dialog .aht-511-attribution{margin:3px 13px 12px!important;padding:8px 11px!important;}
}
/* Full-width initial zoom image; tall imagery may pan rather than shrink. */
.aht-511-zoom-image{
  width:100%!important;max-width:100%!important;height:auto!important;
  max-height:none!important;object-fit:contain!important;flex:0 0 auto!important;
  transform-origin:center center!important;
}
.aht-511-zoom-stage{align-items:center!important;justify-content:center!important;}

/* Compensate for the bordered circle's absolute-position padding box: the
 * pointed tip MUST end at the Mapbox host's bottom geographic anchor. */
.aht-511-marker-host-pointed .aht-511-marker-tip{top:calc(100% + 3px)!important;}


/* V735 approved camera window: Concept D except compact iPhone landscape Concept B. */
.aht-511-camera-dialog .aht-511-card{border:1px solid rgba(176,199,226,.86)!important;box-shadow:0 22px 55px rgba(0,0,0,.8),0 0 18px rgba(34,131,216,.20)!important;background:linear-gradient(155deg,#101720 0%,#06090d 88%)!important;}
.aht-511-camera-dialog .aht-511-detail-body{align-items:stretch!important;}
.aht-511-camera-dialog .aht-511-camera-info{width:100%!important;max-width:none!important;align-self:stretch!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;}
.aht-511-camera-dialog .aht-511-camera-info .aht-511-detail-row{width:100%!important;min-width:0!important;display:flex!important;flex-direction:column!important;gap:3px!important;padding:8px 10px!important;border:1px solid rgba(132,167,203,.38)!important;border-radius:10px!important;background:linear-gradient(125deg,#111c28,#070a0f)!important;box-sizing:border-box!important;align-items:flex-start!important;}
.aht-511-camera-dialog .aht-511-field-label{color:#afbfce!important;font-size:11px!important;line-height:1.25!important;}
.aht-511-camera-dialog .aht-511-field-value{color:#fff!important;font-size:clamp(11px,1.35vw,13px)!important;line-height:1.25!important;overflow-wrap:anywhere!important;}
.aht-511-camera-dialog .aht-511-photo{width:100%!important;max-width:none!important;aspect-ratio:var(--aht-511-image-ratio,16 / 9)!important;overflow:hidden!important;}
.aht-511-camera-dialog .aht-511-photo img{width:100%!important;height:100%!important;object-fit:contain!important;}
.aht-511-camera-dialog .aht-511-detail-head{background:linear-gradient(90deg,#132134,#080b10)!important;}
.aht-511-camera-dialog .aht-511-attribution{border-color:rgba(134,175,212,.65)!important;background:#060b11!important;}
/* Tablet and desktop landscape: retain Concept D VERTICAL card, never horizontal. */
@media (orientation:landscape) and (min-height:500px){
 .aht-511-camera-dialog .aht-511-card{width:min(605px,83vw)!important;max-height:calc(100dvh - 28px)!important;}
 .aht-511-camera-dialog .aht-511-detail-body{display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:11px 13px 6px!important;gap:7px!important;}
 .aht-511-camera-dialog .aht-511-photo{max-height:44dvh!important;}
 .aht-511-camera-dialog .aht-511-attribution{margin:4px 13px 12px!important;padding:8px 11px!important;}
}
/* Concept B is strictly iPhone/short phone landscape, not iPad or desktop. */
@media (orientation:landscape) and (max-height:499px) and (pointer:coarse){
 .aht-511-camera-dialog .aht-511-card{width:min(935px,96vw)!important;max-height:calc(100dvh - 8px)!important;}
 .aht-511-camera-dialog .aht-511-detail-body{display:grid!important;grid-template-columns:minmax(0,1.65fr) minmax(185px,1fr)!important;gap:9px!important;align-items:stretch!important;padding:5px 9px!important;}
 .aht-511-camera-dialog .aht-511-photo{height:min(49dvh,250px)!important;max-height:min(49dvh,250px)!important;aspect-ratio:auto!important;}
 .aht-511-camera-dialog .aht-511-camera-info{grid-template-columns:1fr!important;align-content:start!important;gap:5px!important;}
 .aht-511-camera-dialog .aht-511-camera-info .aht-511-detail-row{padding:5px 7px!important;}
 .aht-511-camera-dialog .aht-511-attribution{margin:3px 9px 5px!important;padding:4px 8px!important;}
}



/* =================================================================
 * V738 APPROVED FINAL CAMERA WINDOW — BLACK GLASS / THIN GRAPHITE
 * Concept D vertical: iPhone portrait, BOTH iPad orientations, desktop.
 * Concept B split: short coarse-pointer iPhone LANDSCAPE ONLY.
 * Light steel colors on informational icon glyphs ONLY; no blue chrome.
 * Existing incident, utility, sponsor, and zoom viewer styles untouched.
 * ================================================================= */
.aht-511-camera-dialog{
 --aht-511-edge:rgba(119,127,136,.50);
 --aht-511-subedge:rgba(105,112,119,.40);
 --aht-511-ink:#050607;
 --aht-511-glyph:#c1d5e6;
 --aht-511-link:#2fc5ec;
 display:grid!important;place-items:center!important;
 padding:max(9px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right))
  max(9px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important;
}
.aht-511-camera-dialog .aht-511-card{
 width:min(680px,calc(100vw - 24px))!important;
 max-height:calc(100dvh - 2 * max(9px,env(safe-area-inset-top),env(safe-area-inset-bottom)))!important;
 box-sizing:border-box!important;display:flex!important;flex-direction:column!important;
 overflow-x:hidden!important;overflow-y:auto!important;
 border:1px solid var(--aht-511-edge)!important;border-radius:21px!important;
 color:#f5f7fa!important;
 background:linear-gradient(145deg,#0a0d11 0%,#040507 48%,#020304 100%)!important;
 box-shadow:0 22px 58px rgba(0,0,0,.84),inset 0 1px rgba(207,215,226,.04)!important;
 scrollbar-width:thin!important;scrollbar-color:#465059 transparent!important;
}
.aht-511-camera-dialog .aht-511-card::-webkit-scrollbar{width:4px!important;height:4px!important;}
.aht-511-camera-dialog .aht-511-card::-webkit-scrollbar-track{background:transparent!important;}
.aht-511-camera-dialog .aht-511-card::-webkit-scrollbar-thumb{background:#465059!important;border-radius:99px!important;}
.aht-511-camera-dialog .aht-511-detail-head{
 display:flex!important;align-items:center!important;gap:11px!important;
 padding:11px 13px 8px!important;min-height:0!important;
 background:rgba(0,0,0,.25)!important;border:0!important;flex:0 0 auto!important;
}
.aht-511-camera-dialog .aht-511-detail-symbol-camera{
 display:grid!important;place-items:center!important;
 width:41px!important;height:41px!important;min-width:41px!important;
 color:#fff!important;border:1px solid rgba(139,151,162,.60)!important;
 border-radius:50%!important;background:#070a0e!important;
 box-shadow:inset 0 1px rgba(255,255,255,.045)!important;
}
.aht-511-camera-dialog .aht-511-detail-symbol-camera svg{
 width:25px!important;height:25px!important;color:#fff!important;fill:currentColor!important;
}
.aht-511-camera-dialog .aht-511-title-wrap{min-width:0!important;flex:1 1 auto!important;}
.aht-511-camera-dialog .aht-511-title-wrap h2{
 font-size:clamp(17px,2.05vw,21px)!important;font-weight:780!important;line-height:1.16!important;
}
.aht-511-camera-dialog .aht-511-title-wrap p{
 font-size:clamp(11px,1.4vw,13px)!important;line-height:1.18!important;
 color:#b5bcc5!important;margin:3px 0 0!important;
}
.aht-511-camera-dialog .aht-511-close{
 width:35px!important;height:35px!important;flex:0 0 35px!important;
 border-radius:50%!important;border:1px solid rgba(155,165,177,.57)!important;
 background:#050608!important;color:#fff!important;
 font-size:27px!important;line-height:27px!important;box-shadow:none!important;
}
.aht-511-camera-dialog .aht-511-close:focus-visible,
.aht-511-camera-dialog .aht-511-photo-zoomable:focus-visible,
.aht-511-camera-dialog .aht-511-source-line a:focus-visible{
 outline:2px solid #d1d9e4!important;outline-offset:2px!important;
}
.aht-511-camera-dialog .aht-511-detail-body{
 display:flex!important;flex-direction:column!important;align-items:stretch!important;
 grid-template-columns:none!important;gap:8px!important;min-width:0!important;
 padding:6px 13px 3px!important;
}
.aht-511-camera-dialog .aht-511-photo{
 position:relative!important;width:100%!important;min-height:0!important;
 height:auto!important;max-height:none!important;
 aspect-ratio:var(--aht-511-image-ratio,16 / 10)!important;
 display:block!important;flex:0 0 auto!important;
 overflow:hidden!important;border-radius:12px!important;
 border:1px solid var(--aht-511-subedge)!important;
 background:#020304!important;box-shadow:none!important;
}
.aht-511-camera-dialog .aht-511-photo img{
 width:100%!important;height:100%!important;display:block!important;
 object-fit:cover!important;object-position:center!important;
}
.aht-511-camera-dialog .aht-511-photo-status{
 bottom:7px!important;left:7px!important;padding:3px 7px!important;
 font-size:10px!important;color:#cdd5de!important;background:rgba(4,7,12,.86)!important;
 border:1px solid rgba(107,119,130,.33)!important;border-radius:6px!important;
}
.aht-511-camera-dialog .aht-511-camera-info{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:9px!important;align-content:start!important;width:100%!important;
 min-width:0!important;align-self:stretch!important;
}
.aht-511-camera-dialog .aht-511-camera-info .aht-511-detail-row{
 display:flex!important;flex-direction:row!important;align-items:center!important;
 width:100%!important;min-width:0!important;gap:9px!important;
 padding:8px 10px!important;border:1px solid var(--aht-511-subedge)!important;
 border-radius:12px!important;background:rgba(5,6,8,.90)!important;
 box-shadow:none!important;
}
.aht-511-camera-dialog .aht-511-meta-icon{
 width:35px!important;height:35px!important;flex:0 0 35px!important;
 display:grid!important;place-items:center!important;
 background:#0b0e11!important;color:var(--aht-511-glyph)!important;
 border-radius:50%!important;border:0!important;box-shadow:none!important;
}
.aht-511-camera-dialog .aht-511-meta-icon-pin{color:var(--aht-511-glyph)!important;}
.aht-511-camera-dialog .aht-511-meta-icon svg{width:24px!important;height:24px!important;}
.aht-511-camera-dialog .aht-511-meta-copy{
 min-width:0!important;display:flex!important;flex-direction:column!important;gap:2px!important;
}
.aht-511-camera-dialog .aht-511-field-label{font-size:11px!important;line-height:1.14!important;color:#aeb7c0!important;}
.aht-511-camera-dialog .aht-511-field-value{
 font-size:clamp(12px,1.55vw,14px)!important;line-height:1.2!important;
 color:#f6f7f9!important;overflow-wrap:anywhere!important;
}
.aht-511-camera-dialog .aht-511-camera-attribution{
 margin:7px 13px 13px!important;padding:8px 10px!important;
 display:flex!important;flex-direction:column!important;gap:4px!important;
 border:1px solid var(--aht-511-subedge)!important;border-radius:12px!important;
 background:#040507!important;box-shadow:none!important;
}
.aht-511-camera-dialog .aht-511-source-line{
 display:flex!important;align-items:center!important;justify-content:space-between!important;
 flex-wrap:nowrap!important;gap:6px!important;min-width:0!important;
 font-size:clamp(9px,1.18vw,11px)!important;line-height:1.2!important;
 color:#c3cbd4!important;
}
.aht-511-camera-dialog .aht-511-source-credit{
 display:flex!important;align-items:center!important;min-width:0!important;
 gap:7px!important;flex:1 1 auto!important;
}
.aht-511-camera-dialog .aht-511-source-credit > span:last-child{min-width:0!important;overflow-wrap:normal!important;}
.aht-511-camera-dialog .aht-511-footer-icon{
 display:grid!important;place-items:center!important;flex:0 0 22px!important;
 width:22px!important;height:22px!important;color:var(--aht-511-glyph)!important;
}
.aht-511-camera-dialog .aht-511-footer-icon svg{width:21px!important;height:21px!important;}
.aht-511-camera-dialog .aht-511-source-line a{
 color:var(--aht-511-link)!important;white-space:nowrap!important;
 display:inline-flex!important;align-items:center!important;gap:3px!important;
 flex:0 0 auto!important;font-size:inherit!important;text-underline-offset:2px!important;
}
.aht-511-camera-dialog .aht-511-external-icon,
.aht-511-camera-dialog .aht-511-external-icon svg{
 width:14px!important;height:14px!important;display:inline-block!important;
}
.aht-511-camera-dialog .aht-511-camera-attribution p{
 margin:0 0 0 29px!important;font-size:clamp(9px,1.2vw,11px)!important;
 line-height:1.3!important;color:#abb5c0!important;
}
/* Same centered stack for iPad in BOTH orientations; cap photo height
 * so the entire card (including legal credit) fits short iPad landscapes. */
@media (min-width:700px) and (pointer:coarse) and (min-height:500px){
 .aht-511-camera-dialog .aht-511-card{width:min(680px,calc(100vw - 30px))!important;}
 .aht-511-camera-dialog .aht-511-photo{
  aspect-ratio:auto!important;height:min(37dvh,360px)!important;max-height:none!important;
 }
}
@media (orientation:landscape) and (min-height:500px){
 .aht-511-camera-dialog .aht-511-detail-body{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;}
 .aht-511-camera-dialog .aht-511-camera-info{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
/* Compact Concept D chrome on iPhone portrait. Footer keeps the blue web
 * link in the SAME first row as attribution; never a huge detached block. */
@media (max-width:699px) and (orientation:portrait){
 .aht-511-camera-dialog .aht-511-card{width:calc(100vw - 18px)!important;border-radius:15px!important;}
 .aht-511-camera-dialog .aht-511-detail-head{padding:9px 10px 7px!important;gap:8px!important;}
 .aht-511-camera-dialog .aht-511-detail-symbol-camera{width:36px!important;height:36px!important;min-width:36px!important;}
 .aht-511-camera-dialog .aht-511-detail-symbol-camera svg{width:22px!important;height:22px!important;}
 .aht-511-camera-dialog .aht-511-close{width:31px!important;height:31px!important;flex-basis:31px!important;font-size:24px!important;line-height:23px!important;}
 .aht-511-camera-dialog .aht-511-detail-body{padding:5px 9px 2px!important;gap:6px!important;}
 .aht-511-camera-dialog .aht-511-camera-info{gap:6px!important;}
 .aht-511-camera-dialog .aht-511-camera-info .aht-511-detail-row{padding:6px!important;gap:5px!important;border-radius:9px!important;}
 .aht-511-camera-dialog .aht-511-meta-icon{width:25px!important;height:25px!important;flex-basis:25px!important;}
 .aht-511-camera-dialog .aht-511-meta-icon svg{width:18px!important;height:18px!important;}
 .aht-511-camera-dialog .aht-511-field-label{font-size:10px!important;}
 .aht-511-camera-dialog .aht-511-field-value{font-size:11.3px!important;}
 .aht-511-camera-dialog .aht-511-camera-attribution{margin:5px 9px 9px!important;padding:6px 7px!important;gap:3px!important;border-radius:9px!important;}
 .aht-511-camera-dialog .aht-511-source-line{font-size:9px!important;gap:3px!important;}
 .aht-511-camera-dialog .aht-511-source-credit{gap:3px!important;}
 .aht-511-camera-dialog .aht-511-footer-icon{flex-basis:17px!important;width:17px!important;height:17px!important;}
 .aht-511-camera-dialog .aht-511-footer-icon svg{width:17px!important;height:17px!important;}
 .aht-511-camera-dialog .aht-511-external-icon,
 .aht-511-camera-dialog .aht-511-external-icon svg{width:12px!important;height:12px!important;}
 .aht-511-camera-dialog .aht-511-camera-attribution p{margin:0 0 0 20px!important;font-size:9.5px!important;line-height:1.25!important;}
}
/* Concept B — iPhone LANDSCAPE ONLY: snapshot occupies full LEFT column;
 * camera header, 2 stacked info cards, and compact credit/footer on RIGHT.
 * Uses display:contents for the existing camera-only body so no cloned DOM or
 * duplicated analytics events are needed. Never applies to iPad landscape. */
@media (orientation:landscape) and (max-height:499px) and (pointer:coarse){
 .aht-511-camera-dialog{
  padding:max(4px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right))
   max(4px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))!important;
 }
 .aht-511-camera-dialog .aht-511-card{
  width:min(950px,calc(100vw - 14px))!important;
  height:min(330px,calc(100dvh - 10px))!important;
  max-height:calc(100dvh - 8px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.03fr) minmax(0,1fr)!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  grid-template-areas:'photo head' 'photo meta' 'photo credit'!important;
  gap:0!important;align-items:stretch!important;
  border-radius:14px!important;overflow-x:hidden!important;
 }
 .aht-511-camera-dialog .aht-511-detail-body{display:contents!important;}
 .aht-511-camera-dialog .aht-511-detail-head{
  grid-area:head!important;padding:9px 9px 5px 5px!important;gap:7px!important;min-height:0!important;
 }
 .aht-511-camera-dialog .aht-511-detail-symbol-camera{
  width:30px!important;height:30px!important;min-width:30px!important;
 }
 .aht-511-camera-dialog .aht-511-detail-symbol-camera svg{width:19px!important;height:19px!important;}
 .aht-511-camera-dialog .aht-511-title-wrap h2{font-size:16px!important;line-height:1.06!important;}
 .aht-511-camera-dialog .aht-511-title-wrap p{font-size:10px!important;margin-top:1px!important;}
 .aht-511-camera-dialog .aht-511-close{
  width:27px!important;height:27px!important;flex:0 0 27px!important;
  font-size:22px!important;line-height:20px!important;
 }
 .aht-511-camera-dialog .aht-511-photo{
  grid-area:photo!important;width:auto!important;
  height:calc(100% - 14px)!important;max-height:none!important;
  margin:7px 5px 7px 7px!important;border-radius:10px!important;
  aspect-ratio:auto!important;min-height:0!important;
 }
 .aht-511-camera-dialog .aht-511-photo img{object-fit:cover!important;object-position:center!important;}
 .aht-511-camera-dialog .aht-511-photo-status{font-size:9px!important;bottom:5px!important;left:5px!important;padding:2px 5px!important;}
 .aht-511-camera-dialog .aht-511-camera-info{
  grid-area:meta!important;display:grid!important;grid-template-columns:1fr!important;
  grid-template-rows:repeat(2,minmax(0,auto))!important;
  gap:5px!important;padding:2px 8px 2px 5px!important;
  margin:0!important;min-height:0!important;align-content:start!important;box-sizing:border-box!important;
 }
 .aht-511-camera-dialog .aht-511-camera-info .aht-511-detail-row{
  padding:5px 7px!important;gap:7px!important;border-radius:9px!important;
  height:auto!important;min-height:37px!important;
 }
 .aht-511-camera-dialog .aht-511-meta-icon{width:26px!important;height:26px!important;flex-basis:26px!important;}
 .aht-511-camera-dialog .aht-511-meta-icon svg{width:18px!important;height:18px!important;}
 .aht-511-camera-dialog .aht-511-meta-copy{gap:1px!important;}
 .aht-511-camera-dialog .aht-511-field-label{font-size:9px!important;}
 .aht-511-camera-dialog .aht-511-field-value{font-size:11.5px!important;line-height:1.16!important;}
 .aht-511-camera-dialog .aht-511-camera-attribution{
  grid-area:credit!important;margin:3px 8px 8px 5px!important;
  padding:6px 7px!important;border-radius:9px!important;gap:3px!important;
 }
 .aht-511-camera-dialog .aht-511-source-line{font-size:9px!important;line-height:1.17!important;gap:3px!important;}
 .aht-511-camera-dialog .aht-511-source-credit{gap:3px!important;}
 .aht-511-camera-dialog .aht-511-footer-icon{width:17px!important;height:17px!important;flex-basis:17px!important;}
 .aht-511-camera-dialog .aht-511-footer-icon svg{width:17px!important;height:17px!important;}
 .aht-511-camera-dialog .aht-511-external-icon,
 .aht-511-camera-dialog .aht-511-external-icon svg{width:12px!important;height:12px!important;}
 .aht-511-camera-dialog .aht-511-camera-attribution p{
  margin:0 0 0 20px!important;font-size:9.2px!important;line-height:1.28!important;
 }
}
\n/* V738 last-mile Concept B right-column rhythm: keep details beside the\n * camera heading, with one quiet separator above the compact legal footer. */\n@media (orientation:landscape) and (max-height:499px) and (pointer:coarse){\n .aht-511-camera-dialog .aht-511-camera-info{padding-top:6px!important;}\n .aht-511-camera-dialog .aht-511-camera-attribution{position:relative!important;}\n .aht-511-camera-dialog .aht-511-camera-attribution::before{\n  content:'';display:block;position:absolute;left:0;right:0;top:-9px;\n  height:1px;background:rgba(119,127,136,.32);\n }\n}\n
/* V739 — one centered CCTV header title; address belongs only to Location. */
.aht-511-camera-dialog .aht-511-detail-head{align-items:center!important;}
.aht-511-camera-dialog .aht-511-title-wrap{
 display:flex!important;flex-direction:column!important;justify-content:center!important;
 align-self:center!important;min-height:0!important;
}
.aht-511-camera-dialog .aht-511-title-wrap h2{
 margin:0!important;align-self:stretch!important;line-height:1.14!important;
}
.aht-511-camera-dialog .aht-511-title-wrap>p{display:none!important;}
/* On iPhone landscape the two metadata cards are grouped and centered
   between the heading and pinned compact 511NY legal footer. */
@media (orientation:landscape) and (max-height:499px) and (pointer:coarse){
 .aht-511-camera-dialog .aht-511-camera-info{
  align-content:center!important;justify-content:center!important;
  padding:0 8px 0 5px!important;
  align-self:stretch!important;
 }
 .aht-511-camera-dialog .aht-511-detail-head{padding-top:7px!important;padding-bottom:5px!important;}
}

/* V744: compact 511NY link IMMEDIATELY after NYSDOT across every viewport.
 * Wrap as one inline credit group on very narrow screens/translations. */
.aht-511-camera-dialog .aht-511-source-line{
 justify-content:flex-start!important;align-items:center!important;
 gap:3px 7px!important;flex-wrap:wrap!important;
}
.aht-511-camera-dialog .aht-511-source-credit{
 flex:0 1 auto!important;width:auto!important;
 min-width:0!important;max-width:100%!important;
}
.aht-511-camera-dialog .aht-511-source-line a{
 margin-inline-start:0!important;margin-inline-end:auto!important;
 flex:0 0 auto!important;white-space:nowrap!important;
}
@media (max-width:699px){
 .aht-511-camera-dialog .aht-511-source-line{gap:3px 5px!important;}
 .aht-511-camera-dialog .aht-511-source-credit{flex-shrink:1!important;}
}

/* V745: inline linked 511NY attribution, compact full-width legal footer. */
.aht-511-camera-dialog .aht-511-source-line{
 justify-content:flex-start!important;flex-wrap:wrap!important;
 gap:0!important;align-items:center!important;
}
.aht-511-camera-dialog .aht-511-source-credit{
 display:flex!important;align-items:center!important;flex:0 1 auto!important;
 gap:7px!important;width:auto!important;max-width:100%!important;
}
.aht-511-camera-dialog .aht-511-source-text{
 display:inline!important;white-space:normal!important;line-height:1.24!important;
 overflow-wrap:normal!important;
}
.aht-511-camera-dialog .aht-511-source-text .aht-511-inline-source-link{
 display:inline!important;flex:none!important;white-space:nowrap!important;
 margin:0!important;color:#51c5ec!important;text-decoration:underline!important;
 text-underline-offset:2px!important;font-weight:600!important;
}
.aht-511-camera-dialog .aht-511-camera-attribution p{
 margin-top:0!important;line-height:1.25!important;
}
/* iPad and desktop: one calm line at normal readable size for the compact
 * English legal text. Translations may wrap rather than clip. */
@media (min-width:700px){
 .aht-511-camera-dialog .aht-511-camera-attribution p{
  font-size:clamp(9.5px,1.08vw,11px)!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
 }
}
