:root{--amsterdam-map-green: #13890e;--amsterdam-map-green-dark: #0e6b0c;--amsterdam-map-black: #111111;--amsterdam-map-gray-600: #666;--amsterdam-map-gray-500: #888;--amsterdam-map-gray-400: #999;--amsterdam-map-gray-300: #ddd;--amsterdam-map-white: #ffffff;--amsterdam-map-off-white: #f5f5f5;--amsterdam-map-font: Comfortaa, sans-serif;--amsterdam-map-sidebar-width: 380px;--amsterdam-map-sidebar-height: min(78dvh, 540px);--amsterdam-map-legend-width: 260px;--amsterdam-map-legend-panel-max-height: min(540px, 72dvh);--amsterdam-map-sidebar-toggle-size: 56px;--amsterdam-map-mobile-toggle-size: 52px;--amsterdam-map-mobile-legend-toggle-size: 52px;--amsterdam-map-header-height: 0px;--amsterdam-map-desktop-height: calc(100dvh - var(--amsterdam-map-header-height, 0px));--amsterdam-map-safe-bottom: env(safe-area-inset-bottom, 0px);--amsterdam-map-radius-sm: 8px;--amsterdam-map-radius-md: 12px;--amsterdam-map-radius-lg: 20px;--amsterdam-map-radius-xl: 40px;--amsterdam-map-shadow-xs: 0 2px 10px rgba(0, 0, 0, .08);--amsterdam-map-shadow-sm: 0 4px 14px rgba(0, 0, 0, .14);--amsterdam-map-shadow-md: 0 6px 24px rgba(0, 0, 0, .18);--amsterdam-map-shadow-lg: 0 8px 30px rgba(0, 0, 0, .2);--amsterdam-map-shadow-xl: 0 24px 70px rgba(0, 0, 0, .22);--amsterdam-map-transition-fast: .1s ease;--amsterdam-map-transition-base: .15s ease;--amsterdam-map-transition-slow: .25s cubic-bezier(.4, 0, .2, 1)}.amsterdam-spot-popup{font-family:var(--amsterdam-map-font);inline-size:100%;min-inline-size:260px;max-inline-size:340px;padding:0;display:flex;flex-direction:column;position:relative}.amsterdam-spot-popup .amsterdam-spot-popup-edit{position:absolute;inset-block-start:0;inset-inline-end:24px;z-index:10;display:block;inline-size:24px;block-size:24px;padding:0;color:#757575;background:transparent;font-family:Tahoma,Verdana,sans-serif;font-size:16px;font-weight:700;line-height:24px;text-align:center;text-decoration:none;border:none;border-radius:0;transition:color var(--amsterdam-map-transition-base)}.amsterdam-spot-popup .amsterdam-spot-popup-edit:is(:hover,:focus){color:#333;background:transparent}.amsterdam-spot-popup .amsterdam-spot-popup-edit svg{display:inline-block;vertical-align:middle;inline-size:14px;block-size:14px;margin-block-start:-3px}.amsterdam-spot-popup .amsterdam-spot-popup-image{margin:-13px -13px 0;inline-size:calc(100% + 26px);aspect-ratio:4 / 3;overflow:hidden;border-radius:0}.amsterdam-spot-popup .amsterdam-spot-popup-image img{inline-size:100%;block-size:100%;object-fit:cover;display:block}.amsterdam-spot-popup .amsterdam-spot-popup-body{padding:16px 0 0;text-align:left;display:flex;flex-direction:column;gap:12px;min-block-size:0}.amsterdam-spot-popup .amsterdam-spot-popup-header{display:flex;flex-direction:column;gap:6px}.amsterdam-spot-popup .amsterdam-spot-popup-title{font-size:18px;font-weight:800;color:var(--amsterdam-map-black);margin:0;line-height:1.25;padding:0!important}.amsterdam-spot-popup .amsterdam-spot-popup-tags{display:flex;flex-wrap:wrap;gap:6px}.amsterdam-spot-popup .amsterdam-spot-popup-tag{display:inline-flex;align-items:center;padding:3px 8px;background:#13890e14;color:var(--amsterdam-map-green-dark);border-radius:99px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.amsterdam-spot-popup .amsterdam-spot-popup-note{margin:0;font-size:14px;line-height:1.55;color:var(--amsterdam-map-gray-600);max-block-size:140px;overflow-y:auto;text-align:left}.amsterdam-spot-popup .amsterdam-spot-popup-actions{display:flex;flex-wrap:wrap;gap:8px}.amsterdam-spot-popup-share{display:flex;flex-direction:column;gap:6px;padding-block-start:4px}.amsterdam-spot-popup-share .amsterdam-spot-popup-share-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--amsterdam-map-gray-500)}.amsterdam-spot-popup-share .amsterdam-spot-popup-share-field{display:flex;gap:8px}.amsterdam-spot-popup-share .amsterdam-spot-popup-share-input{flex:1 1 auto;min-inline-size:0;font-family:var(--amsterdam-map-font);font-size:13px;line-height:1.3;padding:8px 10px;border:1px solid var(--amsterdam-map-gray-300);border-radius:8px;background:var(--amsterdam-map-off-white);color:var(--amsterdam-map-black);outline:none}.amsterdam-spot-popup-share .amsterdam-spot-popup-share-input:is(:focus,:focus-visible){border-color:var(--amsterdam-map-green);background:var(--amsterdam-map-white)}.amsterdam-spot-popup-share .amsterdam-spot-popup-copy{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-block-size:36px;padding:8px 12px;border:1px solid var(--amsterdam-map-green);border-radius:8px;background:var(--amsterdam-map-green);color:var(--amsterdam-map-white);font-family:var(--amsterdam-map-font);font-size:12px;font-weight:800;text-transform:uppercase;cursor:pointer;transition:background var(--amsterdam-map-transition-base),border-color var(--amsterdam-map-transition-base),transform var(--amsterdam-map-transition-fast)}.amsterdam-spot-popup-share .amsterdam-spot-popup-copy:is(:hover,:focus){background:var(--amsterdam-map-black);border-color:var(--amsterdam-map-black)}.amsterdam-spot-popup-share .amsterdam-spot-popup-copy:active{transform:scale(.98)}.amsterdam-spot-popup-share .amsterdam-spot-popup-copy.is-copied{background:var(--amsterdam-map-green-dark);border-color:var(--amsterdam-map-green-dark)}.amsterdam-spot-popup-share .amsterdam-spot-popup-copy.is-error{background:#c00;border-color:#c00}.amsterdam-spot-popup-share .amsterdam-spot-popup-share-hint{font-size:12px;line-height:1.4;min-block-size:18px}.amsterdam-spot-popup-share .amsterdam-spot-popup-share-hint.is-success{color:var(--amsterdam-map-green)}.amsterdam-spot-popup-share .amsterdam-spot-popup-share-hint.is-error{color:#c00}.amsterdam-route-popup{font-family:var(--amsterdam-map-font);inline-size:100%;min-inline-size:260px;max-inline-size:340px;padding:0;text-align:left;color:var(--amsterdam-map-black);position:relative}.amsterdam-route-popup .amsterdam-route-popup-edit{position:absolute;inset-block-start:0;inset-inline-end:24px;z-index:10;display:block;inline-size:24px;block-size:24px;padding:0;color:#757575;background:transparent;font-family:Tahoma,Verdana,sans-serif;font-size:16px;font-weight:700;line-height:24px;text-align:center;text-decoration:none;border:none;border-radius:0;transition:color var(--amsterdam-map-transition-base)}.amsterdam-route-popup .amsterdam-route-popup-edit:is(:hover,:focus){color:#333;background:transparent}.amsterdam-route-popup .amsterdam-route-popup-edit svg{display:inline-block;vertical-align:middle;inline-size:14px;block-size:14px;margin-block-start:-3px}.amsterdam-route-popup strong{display:block;font-size:18px;font-weight:800;line-height:1.25;margin:0 0 6px}.amsterdam-route-popup em{display:block;font-size:13px;font-style:italic;color:var(--amsterdam-map-gray-500);margin-block-start:6px}.amsterdam-route-popup br+br{display:none}.amsterdam-spot-popup-link:is(a,:link,:visited),:is(.leaflet-popup-content-wrapper,.leaflet-popup-content) a.amsterdam-spot-popup-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1 1 auto;min-block-size:40px;padding:10px 16px;border:1px solid var(--amsterdam-map-green);border-radius:8px;color:var(--amsterdam-map-green)!important;background:transparent!important;font-family:var(--amsterdam-map-font);font-size:13px;font-weight:800!important;text-transform:uppercase!important;text-align:center;text-decoration:none!important;line-height:1.2;box-sizing:border-box;transition:background var(--amsterdam-map-transition-base),color var(--amsterdam-map-transition-base),border-color var(--amsterdam-map-transition-base),transform var(--amsterdam-map-transition-fast)}.amsterdam-spot-popup-link.amsterdam-spot-popup-link--primary{background:var(--amsterdam-map-green)!important;color:var(--amsterdam-map-white)!important;border-color:var(--amsterdam-map-green)!important}.amsterdam-spot-popup-link.amsterdam-spot-popup-link--primary:is(:hover,:focus),:is(.leaflet-popup-content-wrapper,.leaflet-popup-content) a.amsterdam-spot-popup-link.amsterdam-spot-popup-link--primary.amsterdam-spot-popup-link--primary:is(:hover,:focus){background:var(--amsterdam-map-black)!important;border-color:var(--amsterdam-map-black)!important;color:var(--amsterdam-map-white)!important}.amsterdam-spot-popup-link:is(:hover,:focus),:is(.leaflet-popup-content-wrapper,.leaflet-popup-content) a.amsterdam-spot-popup-link:is(:hover,:focus){background:var(--amsterdam-map-green)!important;color:var(--amsterdam-map-white)!important;text-decoration:none!important}.amsterdam-spot-popup-link:active{transform:scale(.98)}.leaflet-popup-content-wrapper{border-radius:var(--amsterdam-map-radius-md)!important;box-shadow:var(--amsterdam-map-shadow-md)!important;padding:0!important;overflow:hidden}.leaflet-popup-content{margin:13px!important;inline-size:auto!important;max-inline-size:340px}.leaflet-popup-tip{background:var(--amsterdam-map-white)!important;box-shadow:var(--amsterdam-map-shadow-sm)!important}.leaflet-container a.leaflet-popup-close-button{inset-block-start:10px;inset-inline-end:10px;inline-size:28px;block-size:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;background:transparent;color:var(--amsterdam-map-gray-600);font-size:18px;font-weight:700;line-height:1;padding:0;text-decoration:none;text-indent:0;transition:color var(--amsterdam-map-transition-base),background var(--amsterdam-map-transition-base)}.leaflet-container a.leaflet-popup-close-button:before,.leaflet-container a.leaflet-popup-close-button:after{content:none!important}.leaflet-container a.leaflet-popup-close-button:is(:hover,:focus){background:var(--amsterdam-map-off-white);color:var(--amsterdam-map-black)}.leaflet-popup-content-wrapper a,.leaflet-popup-content a{color:var(--amsterdam-map-green);text-decoration:underline}.leaflet-popup-content-wrapper a:is(:hover,:focus),.leaflet-popup-content a:is(:hover,:focus){color:var(--amsterdam-map-black)}.leaflet-control-attribution{font-size:10px!important;padding:2px 6px!important}.amsterdam-map-route-path{fill:none}.amsterdam-map-route-path--metro,.amsterdam-map-route-path--tram{stroke-linecap:round;stroke-linejoin:round}.amsterdam-map-route-path--walk,.amsterdam-map-route-path--bike,.amsterdam-map-route-path--ferry,.amsterdam-map-route-path--mixed{stroke-linecap:butt;stroke-linejoin:round}@media(hover:hover)and (pointer:fine){@keyframes amsterdam-route-dash-walk{to{stroke-dashoffset:-22}}@keyframes amsterdam-route-dash-bike{to{stroke-dashoffset:-24}}@keyframes amsterdam-route-dash-ferry{to{stroke-dashoffset:-22}}@keyframes amsterdam-route-dash-mixed{to{stroke-dashoffset:-24}}@keyframes amsterdam-route-dash-transit{to{stroke-dashoffset:-14}}.amsterdam-map-route-path--walk{animation:amsterdam-route-dash-walk 2.2s linear infinite}.amsterdam-map-route-path--bike{animation:amsterdam-route-dash-bike 1.2s linear infinite}.amsterdam-map-route-path--ferry{animation:amsterdam-route-dash-ferry .7s linear infinite}.amsterdam-map-route-path--mixed{animation:amsterdam-route-dash-mixed .8s linear infinite}.amsterdam-map-route-path--metro,.amsterdam-map-route-path--tram{animation:amsterdam-route-dash-transit .5s linear infinite}}.leaflet-dragging .amsterdam-map-route-path--walk,.leaflet-dragging .amsterdam-map-route-path--bike,.leaflet-dragging .amsterdam-map-route-path--ferry,.leaflet-dragging .amsterdam-map-route-path--mixed,.leaflet-dragging .amsterdam-map-route-path--metro,.leaflet-dragging .amsterdam-map-route-path--tram,.leaflet-zoom-anim .amsterdam-map-route-path--walk,.leaflet-zoom-anim .amsterdam-map-route-path--bike,.leaflet-zoom-anim .amsterdam-map-route-path--ferry,.leaflet-zoom-anim .amsterdam-map-route-path--mixed,.leaflet-zoom-anim .amsterdam-map-route-path--metro,.leaflet-zoom-anim .amsterdam-map-route-path--tram{animation-play-state:paused}.amsterdam-reactions-error{color:#c00;font-size:13px}.amsterdam-reactions-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin-block-start:0;padding-block-start:10px;border-block-start:1px solid #eee}.amsterdam-reactions{display:flex;gap:12px;flex-wrap:nowrap}.amsterdam-reaction-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;inline-size:56px;block-size:56px;min-inline-size:auto;min-block-size:auto;padding:0;background:var(--amsterdam-map-off-white);border:1px solid transparent;border-radius:9999px;font-family:var(--amsterdam-map-font);font-size:14px;font-weight:700;cursor:pointer;transition:background var(--amsterdam-map-transition-base),border-color var(--amsterdam-map-transition-base),transform var(--amsterdam-map-transition-fast)}.amsterdam-reaction-btn:is(:hover,:focus){background:#e8f5e9;border-color:#13890e40}.amsterdam-reaction-btn:active{transform:scale(.96)}.amsterdam-reaction-btn.is-cooldown{opacity:.45;cursor:not-allowed}.amsterdam-reaction-btn.is-cooldown:is(:hover,:focus){background:var(--amsterdam-map-off-white);border-color:transparent}.amsterdam-reaction-btn.amsterdam-reaction-shake{animation:amsterdam-reaction-shake .45s ease-in-out}.amsterdam-reaction-btn .amsterdam-reaction-btn:disabled,.amsterdam-reaction-btn .amsterdam-reaction-btn[aria-disabled=true]{cursor:not-allowed;opacity:.5}.amsterdam-reaction-btn .amsterdam-reaction-btn.amsterdam-reaction-selected:disabled,.amsterdam-reaction-btn .amsterdam-reaction-btn.amsterdam-reaction-selected[aria-disabled=true]{opacity:1;outline:2px solid var(--amsterdam-map-green);outline-offset:2px}.amsterdam-reaction-emoji{font-size:26px;line-height:1}.amsterdam-reaction-count{font-size:11px;font-weight:700;color:var(--amsterdam-map-gray-600);min-inline-size:1.2em;text-align:center;line-height:1}.amsterdam-reaction-comment-box{inline-size:100%;box-sizing:border-box}.amsterdam-reaction-comment-box textarea{inline-size:100%;min-block-size:70px;resize:vertical;padding:8px 10px;border:1px solid var(--amsterdam-map-gray-300);border-radius:var(--amsterdam-map-radius-sm);font-family:var(--amsterdam-map-font);font-size:13px;line-height:1.4}.amsterdam-reaction-comment-box button{margin-block-start:6px;padding:6px 12px;background:var(--amsterdam-map-green);color:var(--amsterdam-map-white);border:0;border-radius:4px;font-family:var(--amsterdam-map-font);font-size:12px;font-weight:700;cursor:pointer}@keyframes amsterdam-reaction-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.amsterdam-map-marker{transition:opacity var(--amsterdam-map-transition-base)}.amsterdam-map-marker.is-dimmed{opacity:.35!important}.amsterdam-map-marker--top-spot-pin path,.amsterdam-map-marker--top-spot-pin polygon{will-change:transform}.amsterdam-map-marker--top-spot{z-index:1000!important}.amsterdam-map-marker--top-spot:after{content:"";position:absolute;inset-block-start:50%;inset-inline-start:50%;inline-size:20px;block-size:20px;transform:translate(-50%,-50%);border-radius:50%;background:#13890e40;animation:amsterdam-marker-pulse 2s infinite ease-out;pointer-events:none;z-index:-1}@keyframes amsterdam-marker-pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.6}to{transform:translate(-50%,-50%) scale(3);opacity:0}}.amsterdam-map-section,.amsterdam-map-section>.amsterdam-map-row,.amsterdam-map-section>.amsterdam-map-row>.amsterdam-map-column,.amsterdam-map-column>.amsterdam-map-module,.amsterdam-map-module .amsterdam-map-code-inner{position:relative!important;block-size:100%!important;min-block-size:0!important;padding:0!important;overflow:hidden!important}.amsterdam-map-section>.amsterdam-map-row,.amsterdam-map-section>.amsterdam-map-row>.amsterdam-map-column{inline-size:100%!important;max-inline-size:100%!important}.amsterdam-map-module .amsterdam-map-code-inner{display:flex!important;flex-direction:column!important}.amsterdam-map-app{position:relative;display:flex;flex-direction:column;flex:1 1 auto;inline-size:100%;block-size:var(--amsterdam-map-desktop-height);min-block-size:320px;overflow:hidden;border-radius:0;background:#e5e5e5}.amsterdam-map{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;inline-size:100%;block-size:100%;border-radius:0;background:#d0d0d0}.amsterdam-map:is(.leaflet-container){background:#d0d0d0}.amsterdam-map-sidebar{position:absolute;inset-block:0;inset-inline-start:0;z-index:2147483640;inline-size:var(--amsterdam-map-sidebar-width);min-inline-size:var(--amsterdam-map-sidebar-width);max-inline-size:var(--amsterdam-map-sidebar-width);background:var(--amsterdam-map-white);border-inline-end:1px solid rgba(0,0,0,.08);border-start-end-radius:var(--amsterdam-map-radius-xl);border-end-end-radius:var(--amsterdam-map-radius-xl);box-shadow:var(--amsterdam-map-shadow-lg);transform:translate(-100%);transition:transform var(--amsterdam-map-transition-slow),box-shadow var(--amsterdam-map-transition-slow)}.amsterdam-map-sidebar.is-open{transform:translate(0);z-index:2147483642}.amsterdam-map-sidebar-inner{block-size:100%;display:flex;flex-direction:column;padding:18px 0;overflow:hidden;box-sizing:border-box;position:relative}.amsterdam-map-sidebar-header,.amsterdam-map-sidebar-toolbar,.amsterdam-map-sidebar-routes,.amsterdam-map-sidebar-results-info{padding-inline:16px;flex:0 0 auto}.amsterdam-map-spot-list{display:flex;flex-direction:column;gap:12px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1 1 auto;min-block-size:0;padding-inline:16px;padding-block:4px 12px;scrollbar-width:none;-ms-overflow-style:none}.amsterdam-map-spot-list::-webkit-scrollbar{display:none}.amsterdam-map-sidebar-toggle,.amsterdam-map-legend-toggle{--_toggle-size: var(--amsterdam-map-sidebar-toggle-size, 56px);position:absolute;inset-block-start:50%;transform:translateY(-50%);z-index:2147483641;display:inline-flex;align-items:center;justify-content:center;inline-size:var(--_toggle-size);block-size:var(--_toggle-size);padding:0;gap:0;background:var(--amsterdam-map-white);color:var(--amsterdam-map-black);border:1px solid rgba(0,0,0,.08);box-shadow:var(--amsterdam-map-shadow-sm);cursor:pointer;transition:inset-inline-start var(--amsterdam-map-transition-slow),inset-inline-end var(--amsterdam-map-transition-slow)}.amsterdam-map-sidebar-toggle svg,.amsterdam-map-legend-toggle svg{inline-size:24px;block-size:24px;flex:0 0 24px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--amsterdam-map-transition-slow)}.amsterdam-map-sidebar-toggle:focus-visible,.amsterdam-map-legend-toggle:focus-visible{outline:2px solid var(--amsterdam-map-green);outline-offset:2px}.amsterdam-map-sidebar-toggle .amsterdam-map-sidebar-toggle-label,.amsterdam-map-sidebar-toggle .amsterdam-map-legend-toggle-label,.amsterdam-map-legend-toggle .amsterdam-map-sidebar-toggle-label,.amsterdam-map-legend-toggle .amsterdam-map-legend-toggle-label{display:none}.amsterdam-map-sidebar-toggle{inset-inline-start:0;border-inline-start:0;border-radius:0 var(--amsterdam-map-radius-md) var(--amsterdam-map-radius-md) 0}.amsterdam-map-app.is-sidebar-open .amsterdam-map-sidebar-toggle{inset-inline-start:var(--amsterdam-map-sidebar-width)}.amsterdam-map-app.is-sidebar-open .amsterdam-map-sidebar-toggle svg{transform:rotate(180deg)}.amsterdam-map-legend-toggle{inset-inline-end:0;border-inline-end:0;border-radius:var(--amsterdam-map-radius-md) 0 0 var(--amsterdam-map-radius-md)}.amsterdam-map-app.is-legend-open .amsterdam-map-legend-toggle{inset-inline-end:var(--amsterdam-map-legend-width)}.amsterdam-map-app.is-legend-open .amsterdam-map-legend-toggle svg{transform:rotate(180deg)}.amsterdam-map-sidebar-toggle-screen-reader-text,.amsterdam-map-legend-toggle-screen-reader-text{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.amsterdam-map-sidebar-toggle-label,.amsterdam-map-legend-toggle-label{display:inline-block;font-family:var(--amsterdam-map-font);font-size:13px;font-weight:700;line-height:1;white-space:nowrap;color:currentColor}.amsterdam-map-legend-panel{position:absolute;inset-block-start:50%;inset-block-end:auto;inset-inline-end:0;transform:translateY(-50%) translate(100%);z-index:2147483640;inline-size:var(--amsterdam-map-legend-width, 260px);min-inline-size:var(--amsterdam-map-legend-width, 260px);max-inline-size:var(--amsterdam-map-legend-width, 260px);block-size:auto;max-block-size:var(--amsterdam-map-legend-panel-max-height);display:flex;flex-direction:column;background:var(--amsterdam-map-white);border-inline-start:1px solid rgba(0,0,0,.08);border-start-start-radius:var(--amsterdam-map-radius-xl);border-end-start-radius:var(--amsterdam-map-radius-xl);box-shadow:var(--amsterdam-map-shadow-lg);transition:transform var(--amsterdam-map-transition-slow),box-shadow var(--amsterdam-map-transition-slow)}.amsterdam-map-legend-panel.is-open{transform:translateY(-50%) translate(0);z-index:2147483642}.amsterdam-map-legend-body{flex:1 1 auto;opacity:1;overflow-y:auto;padding:18px 16px;box-sizing:border-box}.amsterdam-map-legend-body .amsterdam-map-legend-heading{display:block;margin:0 0 12px;font-family:var(--amsterdam-map-font);font-size:18px;font-weight:800;line-height:1.3;color:var(--amsterdam-map-black)}.amsterdam-map-legend-body .amsterdam-map-legend-item{display:flex;align-items:center;gap:10px;margin-block-end:10px;font-family:var(--amsterdam-map-font);font-size:14px;font-weight:600;line-height:1.4;color:var(--amsterdam-map-black)}.amsterdam-map-legend-body .amsterdam-map-legend-item:last-child{margin-block-end:0}.amsterdam-map-legend-body .amsterdam-map-legend-line{display:inline-block;inline-size:28px;block-size:3px;vertical-align:middle;flex-shrink:0;border:0;border-radius:1px;background:currentColor}.amsterdam-map-legend-body .amsterdam-map-legend-line.is-dashed{background:repeating-linear-gradient(to right,currentColor 0,currentColor 6px,transparent 6px,transparent 10px)}.amsterdam-map-app .amsterdam-spot-admin{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;text-align:left;pointer-events:none}.amsterdam-map-edit-button{position:absolute;top:12px;right:12px;z-index:1001;display:inline-flex;align-items:center;justify-content:center;inline-size:44px;block-size:44px;padding:0;background:var(--amsterdam-map-green);border:0;border-radius:50%;color:var(--amsterdam-map-white);cursor:pointer;box-shadow:var(--amsterdam-map-shadow-sm);transition:background var(--amsterdam-map-transition-base),transform var(--amsterdam-map-transition-fast),box-shadow var(--amsterdam-map-transition-base)}.amsterdam-map-edit-button svg{inline-size:20px;block-size:20px;flex-shrink:0}.amsterdam-map-edit-button:is(:hover,:focus){background:var(--amsterdam-map-black);transform:translateY(-1px);box-shadow:var(--amsterdam-map-shadow-md)}.amsterdam-map-edit-button:active{transform:translateY(0)}.amsterdam-map-edit-button:focus-visible{outline:2px solid var(--amsterdam-map-white);outline-offset:2px}.amsterdam-map-sidebar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-block-end:12px;flex:0 0 auto}.amsterdam-map-sidebar-title{margin:0;font-family:var(--amsterdam-map-font);font-size:22px;font-weight:800;line-height:1.25;color:var(--amsterdam-map-black)}.amsterdam-map-sidebar-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.amsterdam-map-sidebar-filter-toggle,.amsterdam-map-sidebar-search-toggle,.amsterdam-map-sidebar-close{display:inline-flex;align-items:center;justify-content:center;inline-size:40px;block-size:40px;padding:0;margin:0;background:var(--amsterdam-map-off-white);border:1px solid transparent;border-radius:50%;color:var(--amsterdam-map-black);font-family:var(--amsterdam-map-font);font-size:18px;font-weight:600;line-height:1;cursor:pointer;transition:background var(--amsterdam-map-transition-base),border-color var(--amsterdam-map-transition-base),color var(--amsterdam-map-transition-base)}.amsterdam-map-sidebar-filter-toggle svg,.amsterdam-map-sidebar-search-toggle svg,.amsterdam-map-sidebar-close svg{inline-size:18px;block-size:18px;flex-shrink:0}.amsterdam-map-sidebar-filter-toggle:is(:hover,:focus),.amsterdam-map-sidebar-search-toggle:is(:hover,:focus),.amsterdam-map-sidebar-close:is(:hover,:focus){background:#e8f5e9;border-color:#13890e40}.amsterdam-map-sidebar-filter-toggle:focus-visible,.amsterdam-map-sidebar-search-toggle:focus-visible,.amsterdam-map-sidebar-close:focus-visible{outline:2px solid var(--amsterdam-map-green);outline-offset:2px}.amsterdam-map-sidebar-filter-toggle.is-active,.amsterdam-map-sidebar-search-toggle.is-active,.amsterdam-map-sidebar-close.is-active{background:var(--amsterdam-map-green);border-color:var(--amsterdam-map-green);color:var(--amsterdam-map-white)}.amsterdam-map-sidebar-close{font-size:24px;line-height:.75}.amsterdam-map-sidebar-toolbar{display:flex;align-items:center;gap:8px;min-block-size:40px;margin-block-end:14px}.amsterdam-map-sidebar-search{flex:0 0 auto;overflow:hidden;max-inline-size:0;opacity:0;transition:max-inline-size var(--amsterdam-map-transition-slow),opacity var(--amsterdam-map-transition-base)}.amsterdam-map-sidebar-search.is-collapsed{max-inline-size:0;opacity:0}.amsterdam-map-sidebar-search.is-expanded{max-inline-size:180px;opacity:1}.amsterdam-map-sidebar-search input{display:block;inline-size:180px;box-sizing:border-box;block-size:40px;padding:0 12px;border:1px solid var(--amsterdam-map-gray-300);border-radius:var(--amsterdam-map-radius-sm);font-family:var(--amsterdam-map-font);font-size:14px;line-height:1;background:var(--amsterdam-map-white)}.amsterdam-map-sidebar-search input:focus{outline:2px solid var(--amsterdam-map-green);outline-offset:0;border-color:var(--amsterdam-map-green)}.amsterdam-map-sidebar-routes{flex:1 1 auto;display:none;align-items:center;gap:8px;min-block-size:40px;min-inline-size:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.amsterdam-map-sidebar-routes::-webkit-scrollbar{display:none}.amsterdam-map-sidebar-routes.is-collapsed{display:none}.amsterdam-map-sidebar-routes.is-expanded{display:flex}.amsterdam-map-sidebar-routes-count{flex:0 0 auto;font-family:var(--amsterdam-map-font);font-size:13px;font-weight:600;color:var(--amsterdam-map-gray-500);white-space:nowrap}.amsterdam-map-route-filters{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;min-block-size:40px}.amsterdam-map-route-chip{--chip-color: var(--amsterdam-map-gray-600);position:relative;display:inline-flex;align-items:center;justify-content:flex-start;flex-shrink:0;inline-size:40px;block-size:40px;padding:0;gap:0;background:var(--amsterdam-map-off-white);border:1px solid var(--amsterdam-map-gray-300);border-radius:5px;color:var(--chip-color);font-family:var(--amsterdam-map-font);font-size:13px;font-weight:700;line-height:1;cursor:pointer;overflow:hidden;transition:inline-size var(--amsterdam-map-transition-slow),background var(--amsterdam-map-transition-base),border-color var(--amsterdam-map-transition-base),color var(--amsterdam-map-transition-base),opacity var(--amsterdam-map-transition-base)}.amsterdam-map-route-chip svg{inline-size:18px;block-size:18px;flex:0 0 18px;margin-inline-start:11px;margin-inline-end:6px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.amsterdam-map-route-chip .amsterdam-map-route-chip-label{display:inline-block;max-inline-size:0;opacity:0;white-space:nowrap;overflow:hidden;padding-inline-end:12px;transition:max-inline-size var(--amsterdam-map-transition-slow),opacity var(--amsterdam-map-transition-base)}.amsterdam-map-route-chip:is(:hover,:focus):not(.is-active){--chip-color: var(--amsterdam-map-black);inline-size:auto;min-inline-size:40px;background:#e8f5e9;border-color:#13890e40}.amsterdam-map-route-chip:is(:hover,:focus):not(.is-active) .amsterdam-map-route-chip-label{max-inline-size:160px;opacity:1;transition-delay:.08s}.amsterdam-map-route-chip:focus-visible{outline:2px solid var(--amsterdam-map-green);outline-offset:2px}.amsterdam-map-route-chip.is-inactive{opacity:.45}.amsterdam-map-route-chip.is-active{--chip-color: #ffffff;background:var(--amsterdam-map-green);border-color:var(--amsterdam-map-green)}.amsterdam-map-route-chip-label{line-height:1}.amsterdam-map-sidebar-results-info{font-family:var(--amsterdam-map-font);font-size:13px;font-weight:600;color:var(--amsterdam-map-gray-500);margin-block-end:10px;flex:0 0 auto}.amsterdam-map-spot-list{display:flex;flex-direction:column;gap:12px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1 1 auto;min-block-size:0}.amsterdam-map-spot-card{position:relative;display:flex;align-items:stretch;gap:14px;padding:12px;background:var(--amsterdam-map-white);border:1px solid rgba(0,0,0,.06);border-radius:var(--amsterdam-map-radius-md);cursor:pointer;box-shadow:var(--amsterdam-map-shadow-xs);transition:background var(--amsterdam-map-transition-base),border-color var(--amsterdam-map-transition-base),transform var(--amsterdam-map-transition-fast),box-shadow var(--amsterdam-map-transition-base)}.amsterdam-map-spot-card:is(:hover,:focus){background:var(--amsterdam-map-white);border-color:#13890e40;transform:translateY(-2px);box-shadow:var(--amsterdam-map-shadow-md)}.amsterdam-map-spot-card:active{transform:translateY(0);box-shadow:var(--amsterdam-map-shadow-xs)}.amsterdam-map-spot-card.is-active{background:#e8f5e9;border-color:var(--amsterdam-map-green);box-shadow:0 0 0 3px #13890e1f,var(--amsterdam-map-shadow-sm)}.amsterdam-map-spot-card-image{inline-size:84px;block-size:84px;flex:0 0 84px;border-radius:var(--amsterdam-map-radius-sm);overflow:hidden;background:var(--amsterdam-map-gray-300);display:flex;align-items:center;justify-content:center;color:var(--amsterdam-map-gray-400)}.amsterdam-map-spot-card-image img{inline-size:100%;block-size:100%;object-fit:cover;display:block}.amsterdam-map-spot-card-image svg{inline-size:28px;block-size:28px}.amsterdam-map-spot-card-body{flex:1 1 auto;min-inline-size:0;display:flex;flex-direction:column;justify-content:center;gap:6px}.amsterdam-map-spot-card-content{display:flex;flex-direction:column;gap:4px}.amsterdam-map-spot-card-title{margin:0;font-size:16px;font-weight:700;color:var(--amsterdam-map-black);line-height:1.25;white-space:normal;word-break:break-word}.amsterdam-map-spot-card-note{margin:0;font-size:13px;line-height:1.4;color:var(--amsterdam-map-gray-500);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.amsterdam-map-spot-card-meta{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--amsterdam-map-green)}@media(min-width:769px){.amsterdam-map-section.is-full-viewport{block-size:100vh!important;block-size:100dvh!important;min-block-size:100vh!important;min-block-size:100dvh!important;padding:0!important;margin:0!important;border-radius:0!important;overflow:visible!important}.amsterdam-map-section.is-full-viewport:is(.et_pb_section)+.et_pb_section,.amsterdam-map-section.is-full-viewport:is(.et_pb_section)+.et_pb_row,.amsterdam-map-section.is-full-viewport:is(.et_pb_section)+.et_pb_column,.amsterdam-map-section.is-full-viewport:is(.et_pb_section)+.et_pb_module,.amsterdam-map-section.is-full-viewport:is(.et_pb_section)+.et_pb_code{display:none!important}.amsterdam-map-section.is-full-viewport .amsterdam-map-module .amsterdam-map-code-inner{block-size:100%!important;min-block-size:100%!important;padding:0!important;border-radius:0!important}.amsterdam-map-section.is-full-viewport .amsterdam-map-app .amsterdam-map,.amsterdam-map-section.is-full-viewport .amsterdam-map-app.is-sidebar-open .amsterdam-map,.amsterdam-map-section.is-full-viewport .amsterdam-map-app.is-legend-open .amsterdam-map{block-size:100%!important;border-radius:0!important}}@media(max-width:768px){.amsterdam-map-section,.amsterdam-map-section>.amsterdam-map-row,.amsterdam-map-section>.amsterdam-map-row>.amsterdam-map-column,.amsterdam-map-column>.amsterdam-map-module,.amsterdam-map-module .amsterdam-map-code-inner{block-size:auto!important;min-block-size:0!important;padding:0!important;overflow:visible!important}.amsterdam-map-section>.amsterdam-map-row{inline-size:100%!important;max-inline-size:none!important}.amsterdam-map-section{position:relative!important;inline-size:100vw!important;max-inline-size:100vw!important;padding-inline:0!important;margin-inline:-50vw!important;inset-inline-start:50%!important}.amsterdam-map-section>.et_builder_inner_content,.amsterdam-map-section>.et_pb_row,.amsterdam-map-section .et_pb_column,.amsterdam-map-section .et_pb_code,.amsterdam-map-section .et_pb_code_inner{max-inline-size:100%!important;overflow:visible!important}.amsterdam-map-app{block-size:var(--amsterdam-map-desktop-height)!important;min-block-size:320px;max-block-size:var(--amsterdam-map-desktop-height);border-radius:0;box-sizing:border-box}.amsterdam-map-app .amsterdam-map,.amsterdam-map-app.is-sidebar-open .amsterdam-map,.amsterdam-map-app.is-legend-open .amsterdam-map{block-size:100%!important;inline-size:100%!important;margin-inline-start:0;border-radius:0!important}.amsterdam-map-sidebar{--amsterdam-map-sidebar-width: 100%;position:absolute;inset-block-start:auto;inset-block-end:0;inset-inline:0;inline-size:100%;min-inline-size:100%;max-inline-size:100%;block-size:var(--amsterdam-map-sidebar-height);max-block-size:var(--amsterdam-map-sidebar-height);border-inline-end:0;border-radius:var(--amsterdam-map-radius-lg) var(--amsterdam-map-radius-lg) 0 0;transform:translateY(100%);transition:transform var(--amsterdam-map-transition-slow),box-shadow var(--amsterdam-map-transition-slow);box-shadow:var(--amsterdam-map-shadow-xl)}.amsterdam-map-sidebar.is-open{transform:translateY(0);z-index:2147483642}.amsterdam-map-sidebar-toggle{--_toggle-size: var(--amsterdam-map-mobile-toggle-size, 52px);inset-block-start:auto;inset-block-end:0;inset-inline-start:50%;inset-inline-end:auto;transform:translate(-50%);inline-size:var(--_toggle-size);block-size:var(--_toggle-size);border:1px solid rgba(0,0,0,.08);border-block-end:0;border-radius:var(--amsterdam-map-radius-md) var(--amsterdam-map-radius-md) 0 0;box-shadow:0 -4px 14px #00000024;background:var(--amsterdam-map-white);transition:inset-block-end var(--amsterdam-map-transition-slow),inset-inline-start var(--amsterdam-map-transition-slow),inset-inline-end var(--amsterdam-map-transition-slow),transform var(--amsterdam-map-transition-slow),background-color var(--amsterdam-map-transition-base)}.amsterdam-map-sidebar-toggle svg{transform:rotate(270deg)}.amsterdam-map-app.is-sidebar-open .amsterdam-map-sidebar-toggle{inset-inline-start:50%;inset-inline-end:auto;inset-block-end:calc(var(--amsterdam-map-sidebar-height) - (var(--_toggle-size) / 2));transform:translate(-50%);border-radius:var(--amsterdam-map-radius-md) var(--amsterdam-map-radius-md) 0 0;border-block-start:1px solid rgba(0,0,0,.08);border-block-end:0;box-shadow:0 -4px 14px #00000024;z-index:2147483643}.amsterdam-map-app.is-sidebar-open .amsterdam-map-sidebar-toggle svg{transform:rotate(90deg)}.amsterdam-map-legend-toggle{--_toggle-size: var(--amsterdam-map-mobile-legend-toggle-size, 52px);inset-block-start:50%;inset-block-end:auto;inset-inline-start:auto;inset-inline-end:0;transform:translateY(-50%);inline-size:var(--_toggle-size);block-size:var(--_toggle-size);min-inline-size:var(--_toggle-size);min-block-size:var(--_toggle-size);padding:0;border:1px solid rgba(0,0,0,.08);border-inline-end:0;border-radius:var(--amsterdam-map-radius-md) 0 0 var(--amsterdam-map-radius-md);box-shadow:-4px 0 14px #00000024;background:var(--amsterdam-map-white);transition:inset-inline-end var(--amsterdam-map-transition-slow),transform var(--amsterdam-map-transition-slow),background-color var(--amsterdam-map-transition-base)}.amsterdam-map-legend-toggle svg{transform:rotate(180deg)}.amsterdam-map-legend-panel{--amsterdam-map-legend-width: min(260px, 80vw);inset-block-start:50%;inset-block-end:auto;inset-inline-start:auto;inset-inline-end:0;inline-size:var(--amsterdam-map-legend-width);min-inline-size:var(--amsterdam-map-legend-width);max-inline-size:var(--amsterdam-map-legend-width);block-size:auto;max-block-size:min(72dvh,540px);border-inline-start:0;border-inline-end:1px solid rgba(0,0,0,.08);border-radius:var(--amsterdam-map-radius-md) 0 0 var(--amsterdam-map-radius-md);transform:translateY(-50%) translate(100%);transition:transform var(--amsterdam-map-transition-slow)}.amsterdam-map-legend-panel.is-open{transform:translateY(-50%) translate(0)}.amsterdam-map-app.is-legend-open .amsterdam-map-legend-toggle{inset-inline-end:var(--amsterdam-map-legend-width);inset-block-start:50%;inset-block-end:auto;transform:translateY(-50%)}.amsterdam-map-app.is-legend-open .amsterdam-map-legend-toggle svg{transform:rotate(0)}.amsterdam-map-sidebar-inner{padding-block:16px 18px}.amsterdam-map-sidebar-header,.amsterdam-map-sidebar-toolbar,.amsterdam-map-sidebar-routes,.amsterdam-map-sidebar-results-info,.amsterdam-map-spot-list{padding-inline:14px}.amsterdam-map-sidebar-title{font-size:18px}.leaflet-popup-content-wrapper,.leaflet-popup-content{max-inline-size:calc(100vw - 48px)}.amsterdam-spot-popup,.amsterdam-route-popup{max-inline-size:calc(100vw - 48px);min-inline-size:240px}.amsterdam-spot-popup .amsterdam-spot-popup-title{font-size:17px}}@media only screen and (max-width:767px){.amsterdam-map-row{inline-size:100%!important;max-inline-size:none!important}}
