:root{
  --divo-bg: var(--neutral--500, #F9EDD7);
  --divo-blue: var(--blue--500, #0038E5);
  --divo-blue-light: var(--blue--300, #83C9FC);
  --divo-blue-tint: var(--blue--500-a12, rgba(0,56,229,0.12));
  --divo-coral: var(--red--500, #DC542C);
  --divo-coral-tint: var(--red--100, #FFDEDE);
  --divo-amber: var(--amber--500, #FFAB00);
  --divo-amber-hover: var(--amber--600, #DE9501);
  --divo-ink: var(--blue--500, #0038E5);
}
.divo-map-embed{
  width:100%;
  font-family:inherit;
}

.divo-map-static{
  display:block;
  width:100%;
  padding:0;
  border:none;
  background:transparent;
  cursor:pointer;
  transition:transform 0.3s cubic-bezier(0.5,0.5,0,1);
}
.divo-map-static:hover{ transform:scale(1.015); }

.divo-map-static:focus{ outline:none; }
.divo-map-static:focus-visible{ outline:2px solid var(--divo-blue); outline-offset:4px; }
.divo-map-static svg{
  display:block;
  width:100%;
  height:auto;
}

.divo-map-overlay{
  position:fixed;
  inset:0;
  z-index:9500;
  background:var(--divo-bg);
  opacity:1;
  visibility:visible;
  transition:opacity 0.3s cubic-bezier(0.5,0.5,0,1), visibility 0s linear 0s;
}

.divo-map-overlay.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 0.3s cubic-bezier(0.5,0.5,0,1), visibility 0s linear 0.3s;
}
.divo-map-overlay-inner{ position:relative; width:100%; height:100%; }

#divo-map{ width:100%; height:100%; }

#divo-map-overlay .maplibregl-ctrl-attrib{font-size:10px;background:rgba(0,0,0,0.35)!important;}
#divo-map-overlay .maplibregl-ctrl-attrib a{color:#fff!important;}
#divo-map-overlay .maplibregl-ctrl-top-right{top:auto;bottom:8px;}

.divo-pin{
  width:2.75rem;height:2.75rem;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:.125rem solid var(--neutral--300, #fdf8ee);
  background:var(--blue--500, #0038e5);color:var(--neutral--300, #fdf8ee);
  font-size:1.25rem;cursor:pointer;
  box-shadow:0 .125rem .375rem rgba(32,50,128,.25);
}
.divo-pin.is--petitie{ background:var(--red--500, #dc542c); }
.divo-pin .divo-pin-icon.is--img{ width:1.5rem;height:1.5rem;object-fit:contain;display:block; }

.divo-pin.has--img{
  width:3.5rem;height:3.5rem;overflow:hidden;
  background:var(--neutral--100, #fff); border:.15rem solid var(--blue--500, #0038e5);
}
.divo-pin.has--img .divo-pin-icon.is--img{ width:100%;height:100%;object-fit:contain; }
.divo-pin.has--img.is--petitie{ border-color:var(--red--500, #dc542c); }

.divo-pin.is--pending{
  background:var(--neutral--300, #fdf8ee);
  border:.15rem dashed var(--blue--500, #0038e5);
  color:var(--blue--500, #0038e5);
}
.divo-pin.is--pending.is--petitie{ border-color:var(--red--500, #dc542c); color:var(--red--500, #dc542c); }

#divo-map-overlay .maplibregl-canvas-container.maplibregl-interactive{ cursor:crosshair; }
#divo-map-overlay .maplibregl-canvas-container.maplibregl-interactive:active{ cursor:grabbing; }

.divo-pin.divo-pin-new{
  background:var(--divo-amber);border-color:var(--divo-blue);color:var(--divo-blue);
  cursor:grab;font-size:1.4rem;
}
.divo-pin.divo-pin-new:active{ cursor:grabbing; }
.divo-pin.divo-pin-new i{ animation:divo-pin-pop 0.35s cubic-bezier(0.5,0.5,0,1); }
@keyframes divo-pin-pop{ from{ transform:scale(0); } to{ transform:scale(1); } }

#divo-map-overlay .maplibregl-popup{
  font-family:var(--_typography---body-regular--font, Poppins, Arial, sans-serif);
  font-size:var(--_typography---body-regular--size);
  line-height:var(--_typography---body-regular--line-height);
  font-weight:var(--_typography---body-regular--weight);
  letter-spacing:var(--_typography---body-regular--letter-spacing);
}
#divo-map-overlay .maplibregl-popup-content{
  padding:0;background:transparent;box-shadow:none;border-radius:0;
}
#divo-map-overlay .maplibregl-popup-tip{ display:none; }
#divo-map-overlay .map_card_pop_up{
  position:relative;inset:auto;display:flex;
  min-width:15rem;max-width:17rem;
  color:var(--divo-blue);
}

#divo-map-overlay .map_card_pop_up.is--petitie{ border-color:var(--red--500, #dc542c); color:var(--red--500, #dc542c); }
#divo-map-overlay .map_card_pop_up.is--petitie .close_icon_wrapper,
#divo-map-overlay .map_card_pop_up.is--petitie .secondary_button{ color:var(--red--500, #dc542c); }
#divo-map-overlay .map_card_category.is--petitie{ background-color:var(--red--100, #ffdede); color:var(--red--500, #dc542c); }
#divo-map-overlay .map_card_category.is--nieuw{ background-color:var(--amber--400, #ffd47d); color:var(--blue--900, #203280); }
#divo-map-overlay .divo-card-place{ margin-top:-.6rem; opacity:.7; }
#divo-map-overlay .divo-card-body{ opacity:.85; }

.divo-map-chrome{
  position:absolute;inset:0;z-index:5;pointer-events:none;
}
.divo-map-chrome-inner{
  height:100%;box-sizing:border-box;
  display:grid;grid-template-columns:minmax(0, 24rem) 1fr auto;grid-template-rows:auto 1fr auto;
  align-items:start;gap:1rem;
  padding-top:1.75rem;padding-bottom:1.75rem;
}
.divo-map-ui{
  pointer-events:auto;grid-column:1;grid-row:1;
  display:flex;flex-direction:column;gap:.5rem;min-width:0;
}
.divo-map-search{ position:relative; z-index:2; }
.divo-map-ui .divo-search-input{
  width:100%;height:3.5rem;margin:0;padding:0 1rem;
  border:.125rem solid var(--blue--500, #0038e5);
  border-radius:var(--_layout---radii--medium, .75rem);
  background:var(--neutral--300, #fdf8ee);color:var(--blue--500, #0038e5);
  font-family:inherit;font-size:var(--_typography---body-regular--size, 1rem);
  font-weight:var(--_typography---weights--medium, 500);
  -webkit-appearance:none;appearance:none;
}
.divo-map-ui .divo-search-input::placeholder{ color:var(--blue--500, #0038e5); opacity:.6; }
.divo-map-ui .divo-search-input:focus{ outline:none; border-color:var(--amber--500, #ffab00); }
.divo-search-results{
  position:absolute;top:calc(100% + .375rem);left:0;right:0;
  margin:0;padding:.375rem;list-style:none;
  background:var(--neutral--300, #fdf8ee);
  border:.125rem solid var(--blue--500, #0038e5);
  border-radius:var(--_layout---radii--small, .5rem);
  max-height:18rem;overflow-y:auto;
}
.divo-search-result{
  display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;
  padding:.5rem .625rem;border-radius:var(--_layout---radii--xsmall, .25rem);
  cursor:pointer;font-size:var(--_typography---body-small--size, .875rem);
}
.divo-search-result:hover,
.divo-search-result.is--active{ background:var(--blue--500-a12, #0038e51f); }
.divo-search-name{ font-weight:var(--_typography---weights--semibold, 600); }
.divo-search-type{ opacity:.6; white-space:nowrap; font-size:.75em; }
.divo-search-empty{ padding:.5rem .625rem; opacity:.6; font-size:var(--_typography---body-small--size, .875rem); }

.divo-map-filters{ display:flex; gap:.5rem; flex-wrap:wrap; }
.divo-filter{
  display:inline-flex;align-items:center;gap:.5rem;margin:0;
  padding:.5rem .75rem;border-radius:var(--_layout---radii--small, .5rem);
  background:var(--neutral--300, #fdf8ee);
  border:.125rem solid var(--blue--500, #0038e5);color:var(--blue--500, #0038e5);
  font-size:var(--_typography---body-small--size, .875rem);
  font-weight:var(--_typography---weights--semibold, 600);
  cursor:pointer;user-select:none;
}
.divo-filter.is--petitie{ border-color:var(--red--500, #dc542c); color:var(--red--500, #dc542c); }
.divo-filter input{ position:absolute;opacity:0;width:1px;height:1px;pointer-events:none; }
.divo-filter-box{
  width:.8rem;height:.8rem;border-radius:50%;border:.125rem solid currentColor;
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
}
.divo-filter input:checked + .divo-filter-box{ background:currentColor; }
.divo-filter input:checked + .divo-filter-box::after{
  content:"";width:.2rem;height:.38rem;margin-top:-.08rem;
  border:solid var(--neutral--300, #fdf8ee);border-width:0 .125rem .125rem 0;transform:rotate(45deg);
}
.divo-filter input:not(:checked) ~ span:last-child{ opacity:.6; }
.divo-filter:has(input:focus-visible){ outline:2px solid var(--amber--500, #ffab00); outline-offset:2px; }

.divo-map-close{
  pointer-events:auto;grid-column:3;grid-row:1;
  width:3.5rem;height:3.5rem;border-radius:50%;padding:1.1rem;
  display:flex;align-items:center;justify-content:center;
  background:var(--blue--500, #0038e5);color:var(--neutral--300, #fdf8ee);
  border:.125rem solid var(--neutral--300, #fdf8ee);cursor:pointer;
  transition:background-color .3s cubic-bezier(.5,.5,0,1);
}
.divo-map-close:hover{ background:var(--blue--900, #203280); }
.divo-map-close:focus-visible{ outline:2px solid var(--amber--500, #ffab00); outline-offset:2px; }
.divo-map-close svg{ width:100%;height:100%;transform:rotate(45deg); }

.divo-map-hint{
  display:flex;align-items:flex-start;gap:.5rem;
  padding:.625rem .75rem;border-radius:var(--_layout---radii--medium, .75rem);
  background:var(--amber--500);color:var(--neutral--300, #fdf8ee);
  font-size:var(--_typography---body-small--size, .875rem);
  line-height:var(--_typography---body-small--line-height, 1.45);
  font-weight:var(--_typography---weights--medium, 500);
  transition:opacity .3s cubic-bezier(.5,.5,0,1), transform .3s cubic-bezier(.5,.5,0,1);
}
.divo-map-hint.is--hidden{ display:none; }
.divo-map-hint-icon{ font-size:1.1rem;line-height:1.3;flex-shrink:0; }
.divo-map-hint-text{ margin:0;flex:1; }
.divo-map-hint-close{
  flex-shrink:0;width:1.25rem;height:1.25rem;padding:.25rem;margin:-.1rem -.2rem 0 0;
  background:none;border:0;cursor:pointer;color:inherit;opacity:.8;
}
.divo-map-hint-close:hover{ opacity:1; }
.divo-map-hint-close svg{ width:100%;height:100%;transform:rotate(45deg);display:block; }

.divo-cat-filter{
  pointer-events:auto;grid-column:1;grid-row:3;align-self:end;
  width:min(18rem, 100%);
  background:var(--neutral--300, #fdf8ee);
  border:.125rem solid var(--blue--500, #0038e5);
  border-radius:var(--_layout---radii--medium, .75rem);
  color:var(--blue--500, #0038e5);
  overflow:hidden;
}
.divo-cat-toggle{
  width:100%;display:flex;align-items:center;gap:.5rem;
  padding:.75rem .875rem;background:none;border:0;cursor:pointer;
  color:inherit;font-family:inherit;text-align:left;
  font-size:var(--_typography---body-small--size, .875rem);
  font-weight:var(--_typography---weights--semibold, 600);
}
.divo-cat-toggle-label{ flex:1; }

.divo-cat-dot{ display:none;width:.45rem;height:.45rem;border-radius:50%;background:var(--amber--500, #ffab00); }
.divo-cat-filter.is--filtered .divo-cat-dot{ display:inline-block; }

.divo-cat-pm{ position:relative;width:.75rem;height:.75rem;flex-shrink:0; }
.divo-cat-pm::before,
.divo-cat-pm::after{
  content:"";position:absolute;left:0;top:50%;width:100%;height:.125rem;margin-top:-.0625rem;
  background:currentColor;border-radius:1px;transition:transform .3s cubic-bezier(.5,.5,0,1);
}
.divo-cat-pm::after{ transform:rotate(90deg); }
.divo-cat-filter.is--open .divo-cat-pm::after{ transform:rotate(0deg); }
.divo-cat-toggle:focus-visible{ outline:2px solid var(--amber--500, #ffab00); outline-offset:-2px; }
.divo-cat-panel{ display:none; border-top:.0625rem solid var(--blue--500-a12, #0038e51f); }
.divo-cat-filter.is--open .divo-cat-panel{ display:block; }
.divo-cat-list{
  list-style:none;margin:0;padding:.375rem;
  max-height:min(32rem, 62vh);overflow-y:auto;
}
.divo-cat-item{
  display:flex;align-items:center;gap:.625rem;margin:0;
  padding:.375rem .5rem;border-radius:var(--_layout---radii--small, .5rem);
  cursor:pointer;user-select:none;
  font-size:var(--_typography---body-small--size, .875rem);
  font-weight:var(--_typography---weights--medium, 500);
}
.divo-cat-item:hover{ background:var(--blue--500-a12, #0038e51f); }
.divo-cat-item input{ position:absolute;opacity:0;width:1px;height:1px;pointer-events:none; }

.divo-cat-icon{
  width:3rem;height:3rem;flex-shrink:0;overflow:hidden;
  border-radius:var(--_layout---radii--small, .5rem);
  border:.0625rem solid var(--blue--500-a12, #0038e51f);
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--neutral--100, #fff);font-size:1.35rem;
  transition:opacity .2s, filter .2s;
}
.divo-cat-icon .is--img{ width:100%;height:100%;object-fit:contain; }
.divo-cat-label{ flex:1; }
.divo-cat-count{
  min-width:1.5rem;text-align:center;font-size:.75em;
  padding:.1rem .4rem;border-radius:var(--_layout---radii--pill, 999vw);
  background:var(--blue--500-a12, #0038e51f);
}

.divo-cat-item input:not(:checked) ~ .divo-cat-icon{ opacity:.35; filter:grayscale(1); }
.divo-cat-item input:not(:checked) ~ .divo-cat-label,
.divo-cat-item input:not(:checked) ~ .divo-cat-count{ opacity:.45; text-decoration:line-through; }
.divo-cat-item:has(input:focus-visible){ outline:2px solid var(--amber--500, #ffab00); outline-offset:-2px; }
.divo-cat-all{
  display:block;margin:0 .875rem .75rem;padding:0;background:none;border:0;cursor:pointer;
  color:var(--amber--600, #de9501);font-family:inherit;
  font-size:var(--_typography---body-small--size, .875rem);
  font-weight:var(--_typography---weights--semibold, 600);
  text-decoration:underline;text-underline-offset:.2em;
}
.divo-cat-all[hidden]{ display:none; }

body.divo-map-is-open .navbar{ visibility:hidden; pointer-events:none; }

@media screen and (max-width: 991px){
  .divo-map-chrome-inner{
    grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;
    padding-top:1.5rem;
    padding-bottom:2.25rem;
  }
  .divo-map-close{ grid-column:2;grid-row:1; }
  .divo-map-ui{ grid-column:1 / -1;grid-row:3;align-self:end; }
  .divo-cat-filter{ grid-column:1;grid-row:1;align-self:start;position:relative;overflow:visible; }
  .divo-cat-toggle{ min-height:3.5rem; }
  .divo-cat-icon{ width:2.25rem;height:2.25rem;font-size:1.1rem; }
  .divo-cat-panel{
    position:absolute;top:calc(100% + .375rem);left:-.125rem;right:-.125rem;z-index:3;
    background:var(--neutral--300, #fdf8ee);
    border:.125rem solid var(--blue--500, #0038e5);
    border-radius:var(--_layout---radii--medium, .75rem);
  }
  .divo-map-filters{ order:-1; }
  .divo-map-hint{ order:-2; }
  .divo-search-results{ top:auto;bottom:calc(100% + .375rem); }

  .divo-map-ui .divo-search-input{ font-size:max(1rem, 16px); }
}
@media screen and (max-width: 767px){
  .divo-map-chrome-inner{ padding-top:1rem; }
  .divo-pin{ width:2.5rem;height:2.5rem;font-size:1.1rem; }
  .divo-pin.has--img{ width:3rem;height:3rem; }
}
@media screen and (max-width: 479px){
  .divo-map-chrome-inner{ padding-top:.75rem; }
}
}
