
/*
 * Apple Maps-inspired HIG design system
 * Reference: https://developer.apple.com/design/human-interface-guidelines/maps
 * Native system typography, neutral surfaces, clear hierarchy and one selected map place card.
 * Static CSS: no heavy UI framework/runtime required.
 */
:root{
  --hig-ink:#202124;
  --hig-secondary:#71757d;
  --hig-primary:#16447f;
  --hig-accent:#cda34a;
  --hig-surface:rgba(253,254,255,.965);
  --hig-outline:rgba(26,36,51,.09);
  --hig-shadow:0 6px 28px rgba(25,38,54,.115),0 1px 2px rgba(25,38,54,.05);
  --hig-radius:18px;
  --ink:var(--hig-ink);
  --muted:var(--hig-secondary);
  --frost:var(--hig-surface);
  --line:var(--hig-outline);
  --shadow:var(--hig-shadow);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif;
  font-weight:400;
  letter-spacing:-.005em;
}
:focus-visible{outline:2px solid var(--hig-primary);outline-offset:2px}
.app{background:#ebf0ed}
#map{filter:saturate(.82) contrast(.99);background:#dfe9e4}
.glass{border:1px solid var(--hig-outline);background:var(--hig-surface);box-shadow:var(--hig-shadow);backdrop-filter:blur(18px) saturate(1.2)}
.topbar{
  top:14px;left:16px;right:auto;
  width:348px;height:65px;max-width:calc(100vw - 32px);
  padding:0 14px 0 18px;
  border-radius:19px;
}
.brand-icon{display:none}
.brand{gap:0}
.brand h1{color:#192a3c;font-size:18px;font-weight:680;letter-spacing:-.025em}
.brand p{font-size:10.5px;color:#818892;line-height:1.3;margin-top:4px}
.top-right{gap:7px}
.top-facts{display:none}
.lang{background:#eff1f4;border:none;border-radius:10px;padding:2px;gap:0}
.lang button{font-size:10px;font-weight:650;padding:6px 7px;min-width:28px;border-radius:8px;color:#7f8390}
.lang button.active{background:#fff;color:var(--hig-primary);box-shadow:0 1px 3px rgba(19,27,42,.13)}
.sidebar{
  top:91px;left:16px;bottom:16px;width:348px;
  border-radius:20px;padding:15px 11px 12px;
  gap:8px;
}
.search-wrap{height:44px;min-height:44px;background:#f0f2f5;border:0;border-radius:12px;box-shadow:none;padding:0 12px}
.search-wrap svg{width:17px;height:17px;color:#8a909a}
.search-wrap input{font-size:13px;color:#303642}
.search-wrap input::placeholder{color:#999da6}
.selectors{gap:7px}
.selectors select,.glass-button{background:#f4f5f8;border:0;border-radius:11px;box-shadow:none;color:#49515d;font-size:12px;font-weight:560;min-height:37px}
.selectors select{width:100%}.glass-button{color:var(--hig-primary);font-weight:650}
.counts{padding:3px 5px;font-size:11px;color:#848992}
.counts strong{color:#3b495d;font-size:12px}
.controls{background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;padding:1px 6px}
.toggle-row{min-height:43px;gap:9px;padding:5px 0}
.toggle-copy strong{font-size:12px;color:#50545d;font-weight:610}
.toggle-copy small{font-size:10px;color:#999da5;margin-top:2px}
.toggle-emoji{width:18px;color:#b3b8be;font-size:14px}
.switch{width:37px;height:22px;border:0;background:#d1d5dc}
.switch:after{width:18px;height:18px;top:2px;left:2px;box-shadow:0 1px 3px #0003}
.toggle-row input:checked+.switch{background:#245caa;border:0}
.toggle-row input:checked+.switch:after{transform:translateX(15px)}
.divider{background:#eceef0}
.results-head{padding:8px 9px 2px;font-size:12px;color:#272f3b}
.results-head strong{font-weight:690}.results-head span{color:#9ca1a8}
.results{gap:0;padding:0 1px;scrollbar-color:#dfe2e6 transparent}
.result{
  background:transparent;box-shadow:none;
  border:0;border-bottom:1px solid #eaecf0;border-radius:0;
  gap:11px;min-height:65px;padding:11px 9px;
}
.result:hover{background:#f5f7fa}
.result.selected{background:#eef3f9;border-color:#e3e8ee}
.result-icon{width:31px;height:31px;background:#e7eff9;border-radius:10px;font-size:17px;color:#26538a}
.result-icon.former{background:#ececec;color:#92969d}
.result strong{font-size:12.5px;font-weight:655;color:#28303d}
.result small{font-size:11px;color:#8a8f98}
.result .chev{color:#b7bec8}
.guide-trigger{
  background:#eff3f8;border:0;border-radius:13px;box-shadow:none;
  padding:10px 11px;color:#1f4c84;
}
.guide-trigger:hover{background:#e7eef7}
.guide-trigger-icon{background:transparent;border-radius:0;color:#184a88;font-size:20px;width:24px;height:30px}
.guide-trigger-copy strong{color:#244e83;font-size:12px}
.guide-trigger-copy small{color:#8795a5}
.guide-trigger>span:last-child{font-size:15px;color:#728baf}
.sidebar-bottom{gap:6px}
.sidebar-bottom .smallprint{font-size:9px;color:#949aa4;line-height:1.4}
.source-status{font-size:10px;text-align:center;color:#6f8498;min-height:15px}
.source-status a{color:#6b788b;font-weight:560;text-decoration:none}
.source-status.changed{color:#9b592d}
.source-status.changed a{color:#ad4d27;font-weight:700}
.map-actions{right:18px;top:19px;gap:2px;background:rgba(255,255,255,.95);border:1px solid #e6eaf0;border-radius:13px;box-shadow:var(--hig-shadow);padding:3px}
.map-actions button{width:37px;height:37px;border:0;border-radius:9px;background:transparent;box-shadow:none;font-size:21px;color:#304964}
.map-actions button:hover{background:#eef2f7}
.map-legend{right:18px;bottom:19px;max-width:min(520px,calc(100vw - 400px));padding:9px 13px;border-radius:13px;gap:17px;font-size:10px;color:#797e87}
.legend-pin{width:12px;height:15px;box-shadow:none}.legend-pin:after{width:5px;height:5px;top:3px;left:2px}
.legend-stone{font-size:15px}
#map .leaflet-popup.place-popup{margin-bottom:10px}
#map .place-popup .leaflet-popup-content-wrapper{
  background:rgba(255,255,255,.985);
  border:1px solid rgba(219,225,232,.95);
  border-radius:18px;
  box-shadow:0 18px 55px rgba(18,31,54,.20),0 2px 9px rgba(18,31,54,.09);
  backdrop-filter:none;
  padding:0;
}
#map .place-popup .leaflet-popup-content{margin:0!important;width:auto!important;line-height:1.48}
#map .place-popup .leaflet-popup-tip{background:#fff;box-shadow:1px 1px 2px #20304412}
#map .place-popup .leaflet-popup-content-wrapper:focus-within{outline:0}
#map .place-popup .leaflet-popup-content p{margin:0}
.place-card{padding:17px 17px 15px;min-width:0;font-size:12px;color:#333945}
.place-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.place-top>div{min-width:0}
.place-tag{
  display:inline-flex;align-items:center;
  font-size:10px;letter-spacing:.01em;font-weight:660;color:#947127;
  border:1px solid rgba(205,163,74,.27);background:#fbf6e9;
  padding:3px 7px;border-radius:6px;margin-bottom:8px;
}
.place-tag.memorial{color:#6c6a69;background:#f3f2f1;border-color:#e6e5e2}
.place-card h2{font-size:16px;line-height:1.26;letter-spacing:-.02em;font-weight:720;color:#222731;margin:0 0 5px}
.place-card .place-address{font-size:12px;color:#737a84;line-height:1.55}
.place-close{border:0;border-radius:50%;background:#eceef1;color:#737b85;width:28px;height:28px;flex:none;font-size:22px;line-height:26px;padding:0;cursor:pointer}
.place-close:hover{background:#dfe4e9}
.place-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font-size:11px}
.place-row span{color:#898e98}
.place-row strong{font-weight:620;color:#454e5b}
.place-row+.place-row{margin-top:4px}
.place-warning,.place-caveat{margin:11px 0 0!important;padding:8px 9px;border-radius:8px;color:#966130;background:#fff7e9;font-size:11px}
.place-warning{background:#f6f2ef;color:#9b463d}
.place-footer{display:flex;justify-content:space-between;gap:15px;padding-top:11px;border-top:1px solid #ebedf0;margin-top:12px;font-size:10px}
.place-footer a{color:#647b99;text-decoration:none}
.place-footer a:hover{text-decoration:underline}
.place-footfall{border-radius:12px;background:#f5f6f8;border:1px solid #eceef1;margin:12px 0 0;padding:10px;display:grid;gap:3px}
.place-footfall strong{font-size:11px;font-weight:665}
.place-footfall-value{font-size:12px;color:#314864;font-weight:670}
.place-footfall small{font-size:10px;color:#848a95;line-height:1.4}
.branch-extras{font-size:11px;color:#454e5a}
.branch-hours{margin-top:10px!important;font-size:11px;color:#727b88;line-height:1.4}
.schedule-open{color:#1b845b}.schedule-closed{color:#7c8390}
.branch-hours small{color:#a0a5ad;font-size:9.5px}
.branch-phone{margin-top:7px!important;font-size:11px}
.branch-phone a{color:#235fa2;text-decoration:none;font-weight:680}
.extra-routes{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-top:12px;padding-top:11px;border-top:1px solid #ecedf0;font-size:11px}
.extra-routes>span{color:#838995}
.extra-routes>div{display:flex;justify-content:end;flex-wrap:wrap;gap:6px 11px}
.extra-routes a{color:#295b98;text-decoration:none;font-weight:630;font-size:10.5px}
.extra-actions{display:flex;gap:6px;margin-top:11px}
.extra-actions button{border:1px solid #dee7f2;background:#f0f4f9;color:#285787;border-radius:9px;padding:8px 8px;flex:1;font-weight:620;font-size:10.5px}
.extra-actions button:hover{background:#e4eef9}
.queue-panel{border-top:1px solid #ebedf1;margin-top:12px;padding-top:11px;display:grid;gap:5px}
.queue-panel>strong{font-size:11px;font-weight:680}
.queue-panel>small,.queue-status,.queue-vote small{font-size:10px;color:#8b919b;line-height:1.45}
.queue-status{color:#4f5e70}
.queue-vote{padding-top:6px;display:grid;gap:7px}
.queue-vote[hidden]{display:none}
.queue-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.queue-options button{border:1px solid #dfe5ed;background:white;padding:7px 1px;border-radius:8px;font-size:10px;font-weight:630;color:#445873}
.queue-options button:hover{background:#edf4ff}
.guide-dialog{border-radius:22px;background:#fdfdff;backdrop-filter:none;color:#2b3340;box-shadow:0 22px 60px rgba(15,34,56,.24)}
.guide-dialog::backdrop{background:rgba(21,34,52,.24);backdrop-filter:blur(3px)}
.guide-head h2{font-size:21px;color:#293442}
.guide-head .eyebrow{color:#a38446;font-weight:650}
.guide-tabs button{border-color:#e1e5ea;color:#697586;font-weight:630}
.guide-tabs button[aria-selected="true"]{background:#214f88;color:#fff;box-shadow:none}
.guide-steps li::before{background:#e9f0f9;border:0;border-radius:9px;color:#245b99}
.guide-intro,.guide-contacts{background:#f7f8fa;border-color:#edf0f3}
.guide-foot{background:#f8f9fb}
@media(max-width:900px){
  .topbar{left:12px;top:12px;right:auto;width:320px;height:63px;max-width:calc(100vw - 24px)}
  .sidebar{left:12px;top:88px;bottom:12px;width:320px}
  .map-legend{max-width:calc(100vw - 358px)}
}
@media(max-width:700px){
  .topbar{top:calc(env(safe-area-inset-top) + 7px);left:9px;right:9px;width:auto;height:56px;border-radius:16px;padding:0 13px}
  .brand h1{font-size:16px}.brand p{font-size:9px}
  .sidebar{left:9px;right:9px;bottom:calc(env(safe-area-inset-bottom) + 8px);top:auto;width:auto;min-height:0;height:39vh;padding:11px 11px 13px;border-radius:19px;gap:7px}
  .sidebar:not(.expanded):not(.collapsed){height:39vh;min-height:0}
  .sidebar.collapsed{height:128px;min-height:0}
  .sidebar.expanded{height:calc(100svh - 82px)}
  .sidebar:not(.expanded):not(.collapsed)~.map-legend{bottom:calc(39vh + env(safe-area-inset-bottom) + 19px)}
  .sidebar.collapsed~.map-legend{bottom:calc(145px + env(safe-area-inset-bottom))}
  .search-wrap{height:41px;min-height:41px}
  .controls{gap:0;padding:2px 0}
  .controls .toggle-row{gap:6px;min-height:36px;padding:5px 5px}
  .controls .toggle-copy strong{font-size:10px}
  .controls .switch{width:31px;height:19px}
  .controls .switch:after{height:15px;width:15px}
  .controls input:checked+.switch:after{transform:translateX(12px)}
  .selectors select,.glass-button{min-height:34px}
  .result{min-height:56px;padding:8px 7px}
  .result-icon{width:28px;height:28px}
  .sidebar-bottom .smallprint{display:none}
  .guide-trigger{padding:7px 10px;min-height:48px}
  .map-actions{top:calc(env(safe-area-inset-top) + 70px);right:11px}
  .map-legend{left:12px;right:auto;max-width:calc(100vw - 26px);font-size:9px;gap:10px}
  #map .place-popup .leaflet-popup-content-wrapper{border-radius:17px}
  .place-card{padding:13px 14px 12px}
  .place-card h2{font-size:15px}
  .place-top .place-tag{margin-bottom:6px}
  .place-footfall{margin-top:7px;padding:8px}
  .extra-routes,.queue-panel{margin-top:9px;padding-top:8px}
  .guide-dialog{border-radius:22px 22px 0 0}
}
@media(max-width:360px){
 .topbar{padding:0 9px}.brand h1{font-size:14px}.brand p{font-size:8px}
 .lang button{font-size:9px;min-width:24px;padding:5px}
 .place-card{padding:11px}.queue-options{gap:2px}
}
@media(prefers-reduced-transparency:reduce){
 .glass{background:#fff;backdrop-filter:none}
}

/* Stable Leaflet popup width: its JS inline minWidth must not shrink to content. */
#map .place-popup .leaflet-popup-content{width:325px!important;box-sizing:border-box}
#map .place-popup .leaflet-popup-content-wrapper{overflow:hidden}
@media(max-width:700px){#map .place-popup .leaflet-popup-content{width:min(320px,calc(100vw - 42px))!important}}
\n.map-actions button svg{width:20px;height:20px;vertical-align:middle}\n
/* Google Places UI Kit is loaded only after explicit consent to view the chart. */
.google-busyness{
  border-top:1px solid #e9edf3;
  margin:12px 0 0;
  padding-top:11px;
}
.google-busyness-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.google-busyness-heading strong{font-size:11.5px;color:#37465b;font-weight:690}
.google-busyness-heading span{font-size:9px;color:#7d8897;font-weight:580}
.google-busyness-help{font-size:10.5px;color:#8a929e;line-height:1.55;margin:5px 0 9px!important}
.google-busyness-actions{display:flex;align-items:center;gap:7px;justify-content:space-between}
.google-busyness-load{
  background:#f1f5fa;
  color:#1e5389;
  border:1px solid #dfe8f3;
  border-radius:9px;
  padding:7px 10px;
  font-weight:660;font-size:10.5px;
  cursor:pointer;
}
.google-busyness-load:hover{background:#e6effa}
.google-busyness-load:disabled{opacity:.6;cursor:default}
.google-busyness-load[hidden]{display:none}
.google-busyness-link{font-size:10px;color:#315b8e;text-decoration:none;line-height:1.35}
.google-busyness-link:hover{text-decoration:underline}
.google-busyness-status{margin:6px 0 0!important;font-size:10px;color:#777f8c;line-height:1.48}
.google-busyness-status:empty{display:none}
.google-busyness-widget{
  margin:9px 0 3px;
  padding:8px;
  max-height:245px;
  overflow-y:auto;
  overscroll-behavior:contain;
  border:1px solid #e0e5ed;
  border-radius:11px;
  background:#fff;
  color-scheme:light;
  --gmp-popular-times-bar-color:#9eb3cb;
  --gmp-popular-times-bar-current-hour-color:#c9a04c;
  --gmp-popular-times-bar-current-hour-live-color:#24588f;
  --gmp-mat-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
.google-busyness-widget[hidden]{display:none}
.google-place-detail{display:block!important;width:100%!important;min-height:80px}
@media(max-width:700px){
 .google-busyness{margin-top:9px;padding-top:9px}
 .google-busyness-widget{max-height:190px;padding:5px}
}

/* Keep Google-enabled marker callouts fully visible on narrow screens. */
@media(max-width:700px){#map .place-popup .leaflet-popup-content{width:min(300px,calc(100vw - 40px))!important}}

/* Sharing must work even on HTTP/Tailscale previews without clipboard access. */
.share-reveal{display:grid;gap:6px;margin-top:9px;background:#f5f7fa;border:1px solid #e2e8ef;border-radius:10px;padding:10px}
.share-reveal[hidden]{display:none}
.share-reveal-label{display:grid;gap:5px;font-size:10px;font-weight:650;color:#53677e}
.share-reveal-input{display:block;width:100%;min-width:0;box-sizing:border-box;border:1px solid #cbd6e3;background:white;border-radius:7px;padding:8px 9px;color:#263b55;font-size:11px;line-height:1.4;user-select:text;-webkit-user-select:text;cursor:text}
.share-reveal-feedback{display:block;font-size:10px;color:#6c7f90;line-height:1.45}
.google-busyness-load[hidden]{display:none!important}
.google-busyness-status{font-weight:500}

/* Queue indicators based ONLY on 3+ unverified reports over a 45-minute window. */
.payout-icon{position:relative}
.queue-pin-badge{position:absolute;top:-6px;right:0;min-width:17px;height:17px;border-radius:12px;border:2px solid #fff;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:800;box-shadow:0 1px 4px #15283c3d}
.queue-pin-badge.q0{background:#239b6e}.queue-pin-badge.q1{background:#9c8825}.queue-pin-badge.q2{background:#db8740}.queue-pin-badge.q3{background:#ad3f3c}

.map-legend .dot.orange{background:#db8740}.map-legend #busynessLegend{display:flex;align-items:center;gap:5px}.map-legend #busynessLegend[hidden]{display:none}

/* Mobile-first v0.8: map is a canvas; list and chosen office are bottom sheets. */
:root{--tap-min:44px}
button,select,input,summary{touch-action:manipulation}
@media(max-width:700px){
 html,body{height:100%;overflow:hidden;overscroll-behavior:none}
 .app{height:100dvh;min-height:0}
 .topbar{top:max(8px,env(safe-area-inset-top));left:10px;right:10px;width:auto;height:59px;z-index:850;padding:0 13px;border-radius:17px}
 .brand h1{font-size:17px;letter-spacing:-.025em}
 .brand p{font-size:10px}
 .lang{gap:2px}
 .lang button{min-width:34px;min-height:34px;font-size:11px}
 .sidebar{
  position:absolute;top:auto;left:0;right:0;bottom:0;width:100%;
  height:min(48dvh,475px);min-height:0;max-height:calc(100dvh - 88px);
  padding:10px 15px calc(env(safe-area-inset-bottom) + 12px);
  border-radius:25px 25px 0 0;
  border:1px solid rgba(219,224,231,.8);
  box-shadow:0 -10px 40px #172f4c1e;
  background:rgba(255,255,255,.975);
  overflow:hidden;z-index:780;gap:8px;box-sizing:border-box;
  transition:height .24s cubic-bezier(.2,.8,.2,1);
 }
 .sidebar:not(.expanded):not(.collapsed){height:min(48dvh,475px)}
 .sidebar.collapsed{height:155px;min-height:0}
 .sidebar.expanded{height:calc(100dvh - env(safe-area-inset-top) - 76px);max-height:none}
 .sheet-handle{width:42px;height:5px;min-height:5px;margin:0 auto 4px;background:#d5d9e0;border-radius:8px;flex-shrink:0}
 .search-wrap{min-height:48px;height:48px;border-radius:13px;padding:0 14px}
 .search-wrap input{font-size:16px;min-width:0}
 .selectors{gap:8px}
 .selectors select,.glass-button{min-height:44px;height:44px;font-size:14px}
 .selectors select{border-radius:12px}
 .counts{font-size:12px;padding:2px 5px}
 .counts strong{font-size:13px}
 .controls{display:flex;flex-direction:row;flex-shrink:0;gap:9px;padding:0 3px}
 .controls .divider{display:none}
 .controls .toggle-row{min-width:0;flex:1;gap:7px;min-height:48px;padding:7px 5px}
 .controls .toggle-copy strong{font-size:12px}
 .controls .toggle-copy small{font-size:9px;line-height:1.3}
 .controls .toggle-emoji{display:none}
 .switch{flex-shrink:0}
 .results-head{padding:8px 7px 2px;font-size:14px}
 .results{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain}
 .result{min-height:66px;gap:11px;padding:11px 9px}
 .result-icon{width:36px;height:36px;border-radius:12px;flex-shrink:0}
 .result strong{font-size:14px;line-height:1.32}
 .result small{font-size:12px;line-height:1.3}
 .result .chev{font-size:22px}
 .sidebar-bottom{gap:5px}
 .guide-trigger{min-height:50px;padding:9px 12px;border-radius:12px}
 .guide-trigger-copy strong{font-size:13px}
 .guide-trigger-copy small{font-size:10px}
 .source-status{font-size:10px}
 .map-actions{top:calc(env(safe-area-inset-top) + 72px);right:12px;z-index:580}
 .map-actions button{min-width:44px;min-height:44px}
 .map-legend{display:none}
 .leaflet-control-attribution{font-size:9px!important;max-width:70vw;opacity:.82}
 .mobile-place{
  position:absolute;inset:auto 0 0;
  width:100%;height:min(72dvh,690px);max-height:calc(100dvh - env(safe-area-inset-top) - 92px);
  overflow-y:auto;overscroll-behavior:contain;
  background:#fff;border-radius:26px 26px 0 0;
  box-shadow:0 -12px 44px rgba(29,47,67,.20);
  padding:0 0 calc(env(safe-area-inset-bottom) + 14px);
  z-index:980;box-sizing:border-box;
  -webkit-overflow-scrolling:touch;
 }
 .mobile-place[hidden]{display:none!important}
 body.mobile-place-open .sidebar{display:none!important}
 body.mobile-place-open #map .leaflet-popup{display:none!important}
 .mobile-place-content{min-height:100%}
 .mobile-place::before{content:"";position:sticky;top:0;left:calc(50% - 22px);display:block;width:44px;height:5px;margin:10px auto 0;background:#d8dce4;border-radius:99px;z-index:3}
 .mobile-place .place-card{padding:7px 18px 16px;font-size:14px;overflow:visible}
 .mobile-place .place-top{position:sticky;top:0;z-index:2;background:rgba(255,255,255,.97);backdrop-filter:blur(15px);padding:9px 0 13px;margin:0 0 7px;border-bottom:1px solid #eff1f5}
 .mobile-place .place-tag{font-size:11px;padding:4px 8px;margin-bottom:5px}
 .mobile-place .place-card h2{font-size:19px;line-height:1.25;letter-spacing:-.025em}
 .mobile-place .place-address{font-size:13px;line-height:1.45}
 .mobile-place .place-close{height:44px;width:44px;min-width:44px;font-size:27px;line-height:1;color:#6d7685}
 .mobile-place .place-row{font-size:13px;margin-top:10px}
 .mobile-place .place-row strong{font-size:13px}
 .mobile-place .branch-phone{font-size:13px;margin-top:9px!important}
 .mobile-place .extra-routes{display:block;margin-top:16px;padding-top:13px}
 .mobile-place .extra-routes>span{display:block;margin-bottom:10px;color:#758293;font-size:12px}
 .mobile-place .extra-routes>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
 .mobile-place .extra-routes a{min-height:44px;display:flex;align-items:center;justify-content:center;text-align:center;background:#f1f5fa;border-radius:12px;color:#285d9a;font-size:12px;font-weight:640;padding:0 4px}
 .mobile-place .extra-actions button{min-height:44px;font-size:12px;border-radius:12px}
 .mobile-place .queue-panel{margin:3px -2px 0;padding:14px 14px 13px;border:1px solid #e5ebf3;border-radius:17px;background:#f7f9fc;gap:12px}
 .mobile-place .queue-heading strong{font-size:16px}
 .mobile-place .queue-heading small{font-size:12px;line-height:1.45}
 .mobile-place .queue-status{font-size:13px;line-height:1.45}
 .mobile-place .queue-vote{gap:13px}
 .mobile-place .queue-fieldset legend{font-size:14px}
 .mobile-place .queue-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .mobile-place .queue-options button,.mobile-place .wait-options button{min-height:58px;font-size:16px;border-radius:13px}
 .mobile-place .wait-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mobile-place .wait-details>summary{min-height:46px;padding:12px 0;font-size:13px}
 .mobile-place .queue-submit{min-height:54px;font-size:15px;border-radius:14px;position:sticky;bottom:calc(env(safe-area-inset-bottom) + 6px);z-index:3;box-shadow:0 4px 18px #19395d22}
 .mobile-place .queue-privacy{font-size:11px}
 .mobile-place .place-footer{margin-top:16px}
 .mobile-place .share-reveal-input{min-height:44px;font-size:16px}
 .sidebar:focus-within{height:min(78dvh,730px)}
}
.queue-heading{display:grid;gap:3px}
.queue-heading strong{font-size:13px;color:#2d4159;font-weight:720}
.queue-heading small{font-size:10px;color:#8390a0}
.queue-fieldset{margin:0;padding:0;border:0;min-width:0}
.queue-fieldset legend{font-size:12px;font-weight:660;color:#405269;margin-bottom:10px}
.queue-vote{display:grid;gap:12px}
.queue-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.queue-options button,.wait-options button{min-height:46px;padding:8px 6px;border:1.5px solid #d6e0ec;background:#fff;border-radius:11px;color:#2f4968;font-size:13px;font-weight:680}
.queue-options button[aria-pressed="true"],.wait-options button[aria-pressed="true"]{background:#245d9f;color:#fff;border-color:#245d9f;box-shadow:0 3px 10px #285b9829}
.queue-options button:active,.wait-options button:active{transform:scale(.98)}
.wait-details{border-top:1px solid #e1e8f1}
.wait-details summary{min-height:40px;display:list-item;cursor:pointer;color:#466383;font-size:12px;font-weight:590;list-style-position:inside}
.wait-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 0 5px}
.queue-submit{min-height:46px;width:100%;border:0;border-radius:12px;background:#245d9f;color:#fff;font-weight:690;font-size:13px;cursor:pointer}
.queue-submit:disabled{opacity:.48;cursor:not-allowed}
.queue-privacy{font-size:10px;color:#8290a0}
.queue-vote[hidden],.mobile-place[hidden]{display:none}
@media(min-width:701px){.mobile-place{display:none!important}}
@media(max-width:370px){
 .mobile-place .place-card{padding-left:14px;padding-right:14px}
 .mobile-place .place-card h2{font-size:17px}
 .mobile-place .queue-options button{min-height:54px}
}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}

/* Keyboard-safe visual viewport on iOS/Android mobile. */
@media(max-width:700px){
 .app{height:var(--mobile-viewport-height,100dvh)}
 .sidebar{max-height:calc(var(--mobile-viewport-height,100dvh) - 88px)}
 .sidebar.expanded{height:calc(var(--mobile-viewport-height,100dvh) - 76px)}
 .sidebar:focus-within{height:min(78dvh,calc(var(--mobile-viewport-height,100dvh) - 86px))}
 .mobile-place{height:min(72dvh,calc(var(--mobile-viewport-height,100dvh) - 100px));max-height:calc(var(--mobile-viewport-height,100dvh) - 95px)}
}

/* v0.9 · mobile-first floating navigation dock.
   Main view is the map; search/list is a secondary sheet, never always-on. */
.mobile-dock,.mobile-list-close{display:none}
@media(max-width:700px){
 .app{overflow:hidden}
 .sidebar{display:none!important}
 body.dock-list-open .sidebar{
  display:flex!important;
  height:min(75dvh,750px)!important;
  max-height:calc(var(--mobile-viewport-height,100dvh) - env(safe-area-inset-top) - 85px)!important;
  min-height:0!important;
  left:0;right:0;bottom:0;width:100%;
  z-index:940;border-radius:26px 26px 0 0;
  background:rgba(255,255,255,.985);
  padding:12px 15px calc(20px + env(safe-area-inset-bottom));
  animation:dock-sheet-in .22s cubic-bezier(.2,.8,.2,1) both;
 }
 body.mobile-place-open .sidebar{display:none!important}
 body.dock-list-open .sidebar .sheet-handle{display:block;cursor:pointer}
 body.dock-list-open .sidebar .results{min-height:0;flex:1 1 auto;display:flex!important;overflow-y:auto}
 body.dock-list-open .sidebar .results-head{display:flex!important}
 body.dock-list-open .sidebar .sidebar-bottom{display:grid!important}
 body.dock-list-open .sidebar .counts{display:block!important}
 body.dock-list-open .sidebar .controls{display:flex!important}
 .mobile-list-close{
  display:flex;align-items:center;justify-content:center;position:absolute;
  top:13px;right:14px;width:36px;height:36px;border:0;
  border-radius:50%;background:#eef1f5;color:#697587;
  font-size:25px;line-height:1;cursor:pointer;z-index:3;
 }
 body.dock-list-open .sidebar .sheet-handle{margin-bottom:7px}
 .mobile-dock{
  display:flex;
  align-items:stretch;justify-content:space-between;
  position:absolute;
  left:50%;bottom:calc(env(safe-area-inset-bottom) + 12px);
  width:min(420px,calc(100vw - 28px));
  height:67px;padding:6px;gap:3px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.17);
  background:rgba(31,39,52,.84);
  -webkit-backdrop-filter:blur(22px) saturate(145%);
  backdrop-filter:blur(22px) saturate(145%);
  box-shadow:0 12px 36px rgba(17,29,46,.26),0 2px 6px rgba(17,29,46,.15);
  box-sizing:border-box;
  z-index:920;
  transform:translate3d(-50%,0,0);
  opacity:1;
  transition:transform .26s cubic-bezier(.22,.8,.2,1),opacity .2s ease;
  will-change:transform,opacity;
 }
 .mobile-dock[hidden]{display:none!important}
 .mobile-dock.is-hidden{
  transform:translate3d(-50%,calc(100% + 40px),0);
  opacity:0;pointer-events:none;
 }
 .mobile-dock button{
  color:rgba(255,255,255,.82);
  border:0;outline-offset:2px;background:transparent;
  min-width:0;min-height:52px;flex:1 1 0;
  padding:5px 1px 3px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;border-radius:19px;
  font:600 10.5px/1.1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:-.01em;white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
  cursor:pointer;transition:background .14s,transform .14s,color .14s;
 }
 .mobile-dock button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
 .mobile-dock button svg circle[r="1"]{fill:currentColor;stroke:none}
 .mobile-dock button[aria-pressed="true"]{background:rgba(255,255,255,.15);color:#fff}
 .mobile-dock button[data-dock="list"]{background:rgba(255,255,255,.12);color:#fff}
 .mobile-dock button:active{transform:scale(.94);background:rgba(255,255,255,.22)}
 body.dock-list-open .mobile-dock,body.mobile-place-open .mobile-dock{opacity:0;pointer-events:none;transform:translate3d(-50%,calc(100% + 40px),0)}
 .map-legend{display:none!important}
 .mobile-place{z-index:990}
 .mobile-place .place-card{padding-bottom:16px}
 .note{z-index:1000}
}
@media(max-width:350px){
 .mobile-dock{width:calc(100vw - 16px);padding:5px 3px;gap:0}
 .mobile-dock button{font-size:9px}
 .mobile-dock button svg{width:20px;height:20px}
}
@media(prefers-reduced-motion:reduce){
 .mobile-dock{transition:none}
 body.dock-list-open .sidebar{animation:none}
}
@keyframes dock-sheet-in{from{transform:translateY(22px);opacity:.8}to{transform:translateY(0);opacity:1}}

/* v1.0 — One place, four clearly defined zones. No repeated queue widgets. */
.branch-extras{display:grid;gap:0}
.branch-zone{margin:0;padding:15px 0;border-top:1px solid #e9edf2;background:transparent}
.branch-zone:first-child{border-top:0;padding-top:14px}
.branch-zone>h3,.branch-zone .queue-heading h3{
 font-size:11px;line-height:1.3;letter-spacing:.045em;
 text-transform:uppercase;font-weight:750;color:#828d9d;margin:0 0 13px
}
.branch-facts{display:grid;gap:0;margin:0}
.branch-facts>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:28px}
.branch-facts dt{font-size:12px;font-weight:450;color:#8994a3}
.branch-facts dd{font-size:12.5px;font-weight:680;color:#334256;margin:0;text-align:right}
.branch-facts dd a{color:#245b9b;text-decoration:none}
.branch-zone-actions .route-details{border:0;margin:0}
.route-primary{
 display:flex;align-items:center;justify-content:center;position:relative;
 min-height:46px;padding:10px 31px;background:#215c9f;color:#fff;
 font-size:13px;font-weight:700;line-height:1.3;
 border-radius:12px;list-style:none;cursor:pointer;text-align:center;
 -webkit-tap-highlight-color:transparent;
}
.route-primary::-webkit-details-marker{display:none}
.route-primary span{position:absolute;right:17px;font-size:21px;top:50%;transform:translateY(-50%);transition:transform .16s}
.route-details[open] .route-primary span{transform:translateY(-50%) rotate(180deg)}
.route-primary:focus-visible{outline:3px solid #98bbe4;outline-offset:2px}
.route-options{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
 gap:8px;padding:10px 0 0;
}
.route-options a{
 display:flex;align-items:center;justify-content:center;
 min-height:43px;padding:5px;border:1px solid #e1e7ef;border-radius:10px;
 color:#315a86;background:#f7f9fc;font-weight:650;font-size:11px;
 text-decoration:none;text-align:center
}
.route-options a:active{background:#e8f0f9}
.branch-zone-actions .extra-actions{margin-top:10px}
.branch-zone-actions .extra-actions button{
 background:transparent;border:1px solid #dce4ee;color:#506782;min-height:42px;font-weight:620
}
.branch-zone-queue{border-top:1px solid #e9edf2!important;border-radius:0!important;box-shadow:none!important}
.branch-zone-queue.queue-panel{display:grid;gap:7px;background:transparent;border-right:0;border-left:0;border-bottom:0;padding:15px 0 0}
.branch-zone-queue .queue-heading{display:grid;gap:3px}
.branch-zone-queue .queue-heading h3{margin:0}
.branch-zone-queue .queue-heading small{font-size:10px;color:#8b97a6}
.branch-zone-queue .queue-status{font-size:12px;line-height:1.55;color:#566679;padding:5px 0}
.queue-report-trigger{
 display:flex;align-items:center;justify-content:center;
 min-height:43px;width:100%;
 color:#245a96;background:#eff4fa;border:1px solid #dde6f2;border-radius:11px;
 font-size:12px;font-weight:680;cursor:pointer
}
.queue-report-trigger[hidden]{display:none!important}
.queue-vote[hidden]{display:none!important}
.branch-zone-queue .queue-vote{margin-top:9px;border-top:1px dashed #d9e1ec;padding-top:13px}
.branch-zone-queue .queue-fieldset legend{font-size:12.5px}
.place-card .place-footer{padding-top:11px;margin-top:0;border-top:1px solid #edf0f3}
@media(max-width:700px){
 .mobile-place{height:min(65dvh,570px);max-height:calc(var(--mobile-viewport-height,100dvh) - 100px)}
 .mobile-place .place-top{padding-bottom:13px;margin-bottom:1px}
 .mobile-place .branch-zone{padding:15px 0}
 .mobile-place .branch-zone:first-child{padding-top:12px}
 .mobile-place .branch-zone>h3,.mobile-place .branch-zone .queue-heading h3{font-size:11px;margin-bottom:12px}
 .mobile-place .branch-facts>div{min-height:34px}
 .mobile-place .branch-facts dt{font-size:13px}
 .mobile-place .branch-facts dd{font-size:13.5px}
 .mobile-place .route-primary{min-height:51px;font-size:14px;border-radius:13px}
 .mobile-place .route-options a{min-height:48px;font-size:11px}
 .mobile-place .branch-zone-actions .extra-actions{margin-top:10px;gap:9px}
 .mobile-place .branch-zone-actions .extra-actions button{min-height:45px;font-size:12px}
 .mobile-place .branch-zone-queue.queue-panel{margin:0;padding:15px 0 0;gap:8px;background:transparent;border-top:1px solid #e9edf2!important}
 .mobile-place .queue-heading small{font-size:11px}
 .mobile-place .queue-status{font-size:13px}
 .mobile-place .queue-report-trigger{min-height:48px;font-size:13px}
 .mobile-place .queue-vote{padding-top:14px}
 .mobile-place .queue-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .mobile-place .place-footer{padding:12px 0}
}
@media(prefers-reduced-motion:reduce){.route-primary span{transition:none}}

/* v1.1 — A visual anchor for crowdsourced queue information. */
.branch-zone-queue.queue-panel{
  position:relative;
  margin-top:5px;
  padding:15px 14px 14px;
  gap:11px;
  background:#f4f7fb;
  border:1px solid #dce7f3!important;
  border-left:3px solid #7097c5!important;
  border-radius:15px!important;
  box-shadow:0 2px 9px rgba(35,75,121,.035)!important;
}
.branch-zone-queue .queue-heading{
  display:flex;align-items:center;gap:11px;min-width:0;
}
.branch-zone-queue .queue-heading-copy{
  display:grid;gap:3px;min-width:0;flex:1;
}
.branch-zone-queue .queue-icon{
  display:flex;align-items:center;justify-content:center;
  width:41px;height:41px;min-width:41px;
  border-radius:12px;
  background:#e4edf9;
  color:#315f9c;
}
.branch-zone-queue .queue-icon svg{width:23px;height:23px}
.branch-zone-queue .queue-heading h3{
  margin:0;font-size:13px;letter-spacing:0;
  text-transform:none;color:#254568;font-weight:760;line-height:1.25;
}
.branch-zone-queue .queue-heading small{
  font-size:10px;color:#7a8da4;line-height:1.35;
}
.branch-zone-queue .queue-status{
  margin:0;
  padding:10px 12px;
  background:rgba(255,255,255,.74);
  border:1px solid #e5ecf4;border-radius:10px;
  color:#425971;font-weight:570;font-size:12px;line-height:1.5;
}
.branch-zone-queue .queue-report-trigger{
  background:#fff;color:#255a93;border:1px solid #ceddec;
}
.branch-zone-queue .queue-report-trigger:hover{background:#edf4fb}
@media(max-width:700px){
 .mobile-place .branch-zone-queue.queue-panel{
  margin:8px 0 2px;
  padding:15px 14px 14px;
  border:1px solid #dce7f3!important;
  border-left:3px solid #7097c5!important;
  border-radius:15px!important;
  background:#f4f7fb;
  gap:11px;
 }
 .mobile-place .branch-zone-queue .queue-icon{
  width:44px;height:44px;min-width:44px;border-radius:13px;
 }
 .mobile-place .branch-zone-queue .queue-heading h3{
  font-size:15px;letter-spacing:-.015em;
 }
 .mobile-place .branch-zone-queue .queue-heading small{font-size:11px}
 .mobile-place .branch-zone-queue .queue-status{
  font-size:13px;padding:11px 12px;
 }
 .mobile-place .branch-zone-queue .queue-report-trigger{min-height:48px}
}
@media(prefers-reduced-transparency:reduce){
 .branch-zone-queue .queue-status{background:#fff}
}

/* Verified branch photographs only; small mobile-friendly previews.
   Unknown locations link to map photographs and do not impersonate the branch. */
.place-card .place-top{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 102px;
  align-items:start;gap:10px;
  padding-right:32px;
}
.place-card .place-heading{min-width:0}
.place-card .place-close{position:absolute;right:0;top:0;z-index:4}
.place-photo{
  display:grid;gap:3px;
  width:102px;min-width:0;margin:29px 0 0;
  border:0;
  align-self:start;
}
.place-photo-link{
  display:block;
  width:100%;height:80px;
  overflow:hidden;border-radius:11px;
  border:1px solid #dde3ea;
  background:#edf2f7;
}
.place-photo-link img{
  display:block;width:100%;height:100%;
  object-fit:cover;object-position:center 48%;
}
.place-photo figcaption{
  width:100%;font-size:9px;color:#8995a4;
  line-height:1.3;text-align:center;
}
.place-photo figcaption a{color:#607692;text-decoration:none}
.place-photo figcaption a:hover{text-decoration:underline}
.place-photo-empty{
  height:80px;
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:4px;
  border:1px dashed #d7e2ef;border-radius:11px;
  background:linear-gradient(145deg,#f1f5fa,#e8eff7);
  text-decoration:none;color:#6181a5;
  -webkit-tap-highlight-color:transparent;
}
.place-photo-empty:hover{background:#e5eef9;border-color:#b8d0ea}
.photo-placeholder-icon{width:25px;height:25px;display:flex}
.photo-placeholder-icon svg{width:100%;height:100%}
.place-photo-empty small{font-size:9px;font-weight:650;color:#567aa3}
@media(max-width:700px){
 .mobile-place .place-top{
   grid-template-columns:minmax(0,1fr) 102px;
   gap:11px;padding-right:0;
 }
 .mobile-place .place-close{right:0;top:0}
 .mobile-place .place-heading{padding-right:3px}
 .mobile-place .place-photo{margin-top:43px;width:102px}
 .mobile-place .place-photo-link{height:87px}
 .mobile-place .place-photo-empty{height:87px}
 .mobile-place .place-photo figcaption{font-size:9px}
}
@media(max-width:350px){
 .mobile-place .place-top{grid-template-columns:minmax(0,1fr) 84px;gap:7px}
 .mobile-place .place-photo{width:84px}
 .mobile-place .place-photo-link,.mobile-place .place-photo-empty{height:74px}
}

/* Poštanska identity across payout results; former ALTA markers remain memorials. */
.result-icon:not(.former){background:#e7effa;color:#194d93;border:1px solid #d3e1f2}
.postanska-mark{width:23px;height:23px;display:block}

/* ALTA Cashback illustrated identity */
.brand-logo{display:block;flex:0 0 auto;width:88px;height:auto;max-height:43px;object-fit:contain}
.brand{gap:9px;min-width:0}
.topbar{width:440px}
@media(max-width:900px){.topbar{width:410px}}
@media(max-width:700px){.topbar{width:auto}.brand-logo{width:69px;max-height:36px}.brand{gap:6px}.brand p{max-width:155px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:360px){.brand-logo{width:54px}.brand{gap:4px}.brand p{max-width:130px}}

/* Official white emblem, centered at native aspect ratio: no distortion or hard edges. */
.postanska-pin{position:relative;display:block;width:38px;height:38px;margin:2px 0 0 3px;border-radius:50% 50% 50% 7px;transform:rotate(-45deg);background:linear-gradient(145deg,#3374bf,#10396e);border:2px solid #fff;box-shadow:0 3px 9px #14385b55;box-sizing:border-box}
.postanska-pin-face{position:absolute;inset:4px;display:flex;align-items:center;justify-content:center;transform:rotate(45deg)}
.postanska-pin-face img{display:block;width:25px;height:26px;object-fit:contain}
.result-icon:not(.former){background:linear-gradient(145deg,#3374bf,#10396e);color:#fff;border:1px solid #d7e5f4}
.result-icon .postanska-mark{width:25px;height:26px;object-fit:contain;display:block}

/* Street imagery is explicitly identified as nearby context, never an official bank photo. */
.place-photo-link{position:relative}
.place-photo-overlay{
 position:absolute;left:4px;bottom:4px;max-width:calc(100% - 8px);
 background:rgba(20,31,45,.82);color:#fff;border-radius:5px;
 font:650 8px/1.15 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 padding:3px 4px;pointer-events:none;
}
.place-photo-nearby .place-photo-link{border-color:#cbd9e8}
.place-photo-nearby .place-photo-link img{filter:saturate(.86)}
.place-photo-distance{display:block;text-align:center;line-height:1.15;font-size:8px;color:#7b8897}
@media(max-width:700px){
 .mobile-place .place-photo-nearby figcaption{font-size:8px}
 .mobile-place .place-photo-overlay{font-size:8px}
}

/* Flag-based language switcher */
.lang button{display:inline-flex;align-items:center;justify-content:center;font-family:system-ui,Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:20px;line-height:1;padding:5px 6px;min-width:33px;min-height:31px}
@media(max-width:700px){.lang button{font-size:19px;min-width:30px;padding:5px}}
@media(max-width:360px){.lang button{font-size:18px;min-width:27px;padding:4px}}

/* Correct visual centering: fixed pin canvas, larger emblem, no rotated content box. */
.payout-icon{width:48px!important;height:56px!important;display:flex!important;justify-content:center;align-items:flex-start}
.postanska-pin{width:46px;height:46px;margin:2px 0 0;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);flex:none}
.postanska-pin-face{inset:2px;transform:rotate(45deg)}
.postanska-pin-face img{width:35px;height:37px;object-fit:contain}
.result-icon .postanska-mark{width:30px;height:30px}

/* Slightly roomier header, with balanced logo and flag controls. */
@media(min-width:901px){.topbar{height:72px;width:460px}.brand-logo{width:98px;max-height:48px}}
@media(min-width:701px) and (max-width:900px){.topbar{height:69px;width:430px}.brand-logo{width:94px;max-height:46px}}
@media(max-width:700px){.topbar{height:65px;padding-inline:14px;border-radius:18px}.brand-logo{width:77px;max-height:40px}.brand{gap:7px}}
@media(max-width:360px){.topbar{height:62px;padding-inline:10px}.brand-logo{width:62px}.brand{gap:5px}}

/* Optical alignment of the actual emblem inside its source SVG, not its blank artboard. */
.postanska-pin-face img{width:38px;height:39px;object-fit:contain}

/* Header wordmark: heavy, tightly set sans inspired by ALTA lettering in the illustration. */
.brand h1{font-family:'Arial Black',Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.045em;line-height:1;text-transform:none;color:#192a3c;font-size:18px}
@media(max-width:700px){.brand h1{font-size:16px;letter-spacing:-.05em}}
@media(max-width:360px){.brand h1{font-size:14px}}

/* ALTA slogan-inspired typography: STABILNA, SIGURNA I JAKA. The exact brand font is not publicly specified. */
.brand h1{font-family:'Arial Narrow','Roboto Condensed','Helvetica Neue',Arial,sans-serif;font-stretch:condensed;font-weight:800;text-transform:uppercase;letter-spacing:.075em;line-height:1.05;font-size:17px;color:#24242a}
@media(max-width:700px){.brand h1{font-size:14px;letter-spacing:.045em}}
@media(max-width:360px){.brand h1{font-size:12px;letter-spacing:.025em}}

/* Photo gallery feature OFF: restore clean full-width identity zone. */
.place-card .place-top.no-photo-preview{grid-template-columns:minmax(0,1fr);padding-right:44px}
.mobile-place .place-card .place-top.no-photo-preview{grid-template-columns:minmax(0,1fr);padding-right:48px}
.place-card .place-top.no-photo-preview .place-heading{min-width:0}
.branch-photos-cta{
 display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;
 margin-top:11px;padding:11px 12px;min-height:57px;
 border-radius:13px;border:1px solid #d2e1f2;
 background:linear-gradient(110deg,#eef5fd 0%,#f8fbff 100%);
 color:#24598c;text-decoration:none;
 transition:border-color .16s,background .16s,transform .14s;
}
.branch-photos-cta:hover{border-color:#93bbdf;background:#e9f3fc}
.branch-photos-cta:active{transform:scale(.99)}
.branch-photos-cta:focus-visible{outline:3px solid #87b8e8;outline-offset:2px}
.branch-photos-cta-icon{
 display:flex;align-items:center;justify-content:center;flex:0 0 39px;
 width:39px;height:39px;border-radius:11px;background:#dcebf9;color:#24659e;
}
.branch-photos-cta-icon svg{width:23px;height:23px}
.branch-photos-cta-copy{display:grid;gap:3px;min-width:0;flex:1}
.branch-photos-cta-copy strong{font-size:12.5px;line-height:1.25;font-weight:740}
.branch-photos-cta-copy small{font-size:10.5px;color:#6a829d;line-height:1.25}
.branch-photos-cta-arrow{color:#4276a5;font-size:20px;font-weight:550}
@media(max-width:700px){
 .mobile-place .branch-photos-cta{margin-top:12px;min-height:62px;padding:10px 12px;border-radius:14px}
 .mobile-place .branch-photos-cta-icon{flex-basis:43px;width:43px;height:43px}
 .mobile-place .branch-photos-cta-copy strong{font-size:14px}
 .mobile-place .branch-photos-cta-copy small{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.branch-photos-cta{transition:none}}

/* Flat map badges: center on coordinates, not a rotated balloon tip. */
.payout-icon{width:58px!important;height:58px!important;display:grid!important;place-items:center!important;overflow:visible}
.postanska-pin{width:58px;height:58px;margin:0;display:grid;place-items:center;border-radius:50%;transform:none;background:#24558f;border:2px solid #fff;box-shadow:0 1px 3px rgba(19,45,75,.22)}
.postanska-pin-face{position:static;inset:auto;display:grid;place-items:center;transform:none;width:100%;height:100%}
.postanska-pin-face img{display:block;width:49px;height:49px;object-fit:contain;transform:translateX(-2px)}

/* Familiar Google Maps-style teardrop: pointed bottom anchored to the location. */
.payout-icon{width:48px!important;height:60px!important;display:block!important;overflow:visible}
.postanska-pin{position:absolute;top:2px;left:1px;width:46px;height:46px;margin:0;display:block;border-radius:50% 50% 50% 3px;transform:rotate(-45deg);background:#24609b;border:2px solid #fff;box-shadow:0 2px 4px rgba(16,46,80,.2)}
.postanska-pin-face{position:absolute;inset:2px;width:auto;height:auto;display:grid;place-items:center;transform:rotate(45deg)}
.postanska-pin-face img{width:36px;height:38px;object-fit:contain;transform:translateX(-1px)}

/* Final narrow pin: SVG silhouette and unrotated, geometrically centered logo. */
.payout-icon{width:38px!important;height:52px!important;display:block!important}
.postanska-pin{position:relative;top:0;left:0;display:block;width:38px;height:52px;margin:0;transform:none;background:none;border:0;border-radius:0;box-shadow:none}
.postanska-pin-shape{position:absolute;inset:0;width:38px;height:52px;display:block;filter:drop-shadow(0 1px 2px rgba(18,42,68,.2))}
.postanska-pin-logo{position:absolute;top:5px;left:2px;width:34px;height:32px;object-fit:contain;display:block;transform:translateX(-2px)}

/* Dock animation v1.2 — keep the element mounted during gestures; no display flicker.
   The dock glides down while fading, then gently rises after map idle. */
@media(max-width:700px){
 .mobile-dock{
  transition:
    transform 470ms cubic-bezier(.22,.72,.22,1),
    opacity 380ms cubic-bezier(.2,.65,.3,1),
    visibility 0s linear 0s;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
 }
 .mobile-dock.is-hidden,
 body.dock-list-open .mobile-dock,
 body.mobile-place-open .mobile-dock{
  transform:translate3d(-50%,calc(100% + 44px),0);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:
    transform 390ms cubic-bezier(.32,0,.6,1),
    opacity 330ms ease,
    visibility 0s linear 390ms;
 }
}
@media(prefers-reduced-motion:reduce){
 .mobile-dock,
 .mobile-dock.is-hidden,
 body.dock-list-open .mobile-dock,
 body.mobile-place-open .mobile-dock{transition:none!important}
}

/* Embedded bank vector: always renders, with no external image loading. */
.postanska-pin svg.postanska-pin-logo{position:absolute;top:5px;left:2px;width:34px;height:32px;display:block;transform:translateX(-2px);overflow:visible}

/* Calm, professional header typography; no faux brand imitation or condensed caps. */
.brand h1{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;
  font-stretch:normal;
  font-weight:650;
  font-size:19px;
  line-height:1.15;
  letter-spacing:-.025em;
  text-transform:none;
  color:#243247;
}
@media(max-width:700px){.brand h1{font-size:17px;letter-spacing:-.025em}}
@media(max-width:360px){.brand h1{font-size:15px}}
/* Clip the official SVG's wordmark outside the emblem's cropped viewBox. */
.postanska-pin svg.postanska-pin-logo{overflow:hidden!important}

/* Desktop companion to the mobile map UI: same surfaces, typography and branding,
   with a roomy fixed search panel and unobstructed map. Mobile rules untouched. */
@media (min-width:901px){
  .topbar{
    top:20px;left:22px;right:auto;width:408px;max-width:calc(100vw - 44px);
    height:76px;padding:0 17px 0 19px;border-radius:21px;
    background:rgba(253,254,255,.975);
  }
  .brand{gap:11px;min-width:0}
  .brand-logo{width:92px;max-height:47px;object-fit:contain}
  .brand h1{font-size:19px;letter-spacing:-.025em;font-weight:650}
  .top-right{gap:0;flex:none}
  .lang{padding:3px;gap:2px;border-radius:13px}
  .lang button{min-width:36px;min-height:35px;padding:5px 6px;font-size:20px;border-radius:10px}
  .sidebar{
    top:108px;left:22px;bottom:20px;width:408px;max-width:calc(100vw - 44px);
    padding:18px 15px 14px;border-radius:22px;gap:11px;
    background:rgba(253,254,255,.975);
  }
  .search-wrap{height:47px;min-height:47px;border-radius:13px}
  .search-wrap input{font-size:14px}
  .selectors select,.glass-button{min-height:42px;font-size:13px;border-radius:11px}
  .counts{font-size:12px;padding:3px 6px}
  .controls{padding:3px 8px}
  .toggle-row{min-height:46px;padding:6px 2px}
  .toggle-copy strong{font-size:13px}
  .toggle-copy small{font-size:11px}
  .results-head{padding:9px 10px 3px;font-size:13px}
  .result{min-height:68px;padding:11px 10px;gap:12px}
  .result strong{font-size:13px}
  .result small{font-size:11.5px}
  .result-icon{width:35px;height:35px}
  .guide-trigger{min-height:62px;border-radius:14px}
  .map-actions{top:22px;right:22px;border-radius:17px;padding:5px}
  .map-actions button{width:43px;height:43px}
  .map-legend{bottom:22px;right:22px;max-width:calc(100vw - 480px);border-radius:15px}
  #map .place-popup .leaflet-popup-content{width:350px!important}
}
/* Laptops: retain the desktop two-column composition without crowding the map. */
@media (min-width:701px) and (max-width:900px){
  .topbar{top:14px;left:14px;width:344px;height:70px;padding:0 12px;border-radius:19px}
  .brand-logo{width:78px;max-height:41px}
  .brand h1{font-size:16px}
  .brand{gap:7px}
  .lang button{font-size:18px;min-width:31px;padding:4px}
  .sidebar{top:96px;left:14px;bottom:14px;width:344px;padding:13px;border-radius:19px}
  .map-actions{top:17px;right:14px}
  .map-legend{right:14px;bottom:14px;max-width:calc(100vw - 385px)}
}

/* Center the Poštanska emblem within every branch result card at all breakpoints. */
.result-icon:not(.former){display:grid;place-items:center;flex-shrink:0;padding:0;box-sizing:border-box}
.result-icon:not(.former) .postanska-mark{display:block;width:76%;height:76%;max-width:100%;max-height:100%;margin:0;object-fit:contain;object-position:center}

/* Compact guidance above the scrollable results, rather than consuming its footer. */
.guide-and-status{display:grid;gap:5px;flex-shrink:0}
@media(max-width:700px){
  body.dock-list-open .sidebar .guide-and-status{display:flex;align-items:center;gap:10px;min-height:34px}
  body.dock-list-open .sidebar .guide-and-status .guide-trigger{min-height:34px;height:34px;flex:1;min-width:0;padding:5px 10px;gap:7px;border-radius:10px}
  body.dock-list-open .sidebar .guide-and-status .guide-trigger-copy strong{font-size:12px;white-space:nowrap}
  body.dock-list-open .sidebar .guide-and-status .guide-trigger-copy small{display:none}
  body.dock-list-open .sidebar .guide-and-status .guide-trigger-icon{font-size:14px}
  body.dock-list-open .sidebar .guide-and-status .source-status{flex:none;min-height:0;font-size:10px;white-space:nowrap}
  body.dock-list-open .sidebar .sidebar-bottom{display:none!important}
}

/* Mobile sheet: reserve a separate close-button row, away from the search field. */
@media(max-width:700px){
 body.dock-list-open .sidebar{padding-top:12px}
 body.dock-list-open .sidebar .sheet-handle{margin-bottom:39px}
 body.dock-list-open .sidebar .mobile-list-close{top:14px;right:16px;width:40px;height:40px}
 body.dock-list-open .sidebar .controls{padding:0 5px}
 body.dock-list-open .sidebar .controls .toggle-row{width:100%;flex:1;min-height:54px;padding:8px 9px;gap:12px}
 body.dock-list-open .sidebar .controls .toggle-copy strong{font-size:15px;font-weight:650}
 body.dock-list-open .sidebar .controls .toggle-copy small{font-size:11px}
 body.dock-list-open .sidebar .controls .switch{width:52px;height:30px;flex:0 0 52px;border-radius:20px}
 body.dock-list-open .sidebar .controls .switch:after{width:26px;height:26px;top:2px;left:2px}
 body.dock-list-open .sidebar .controls input:checked+.switch:after{transform:translateX(22px)}
}
