/* BMK Stores Map v1.0.0 */

.bmk-stores-map-page{
  width:100%;
  margin:0;
}
.bmk-map-smart-search-host>.bmk-search-entry>.bmk-search-entry-shell{
  display:none!important;
}
.bmk-map-shell{
  position:relative;
  width:100%;
  height:max(590px,calc(100dvh - 145px));
  min-height:590px;
  overflow:hidden;
  border-radius:18px;
  background:#eef1eb;
}
.bmk-map-canvas{
  position:absolute;
  inset:0;
  z-index:1;
}
.bmk-map-canvas .leaflet-control-attribution{
  padding:2px 5px!important;
  border-radius:7px 0 0 0!important;
  background:rgba(255,255,255,.82)!important;
  color:#7f867d!important;
  font-size:7px!important;
}
.bmk-map-canvas .leaflet-control-zoom{
  display:none!important;
}

/* top controls */
.bmk-map-topbar{
  position:absolute;
  z-index:600;
  top:11px;
  left:11px;
  right:11px;
  pointer-events:none;
}
.bmk-map-search{
  position:relative;
  display:flex;
  align-items:center;
  width:min(430px,100%);
  min-height:46px;
  margin:0 auto;
  padding:0 42px 0 41px;
  border:1px solid rgba(221,227,218,.96);
  border-radius:14px;
  background:rgba(255,255,255,.97);
  box-shadow:0 8px 25px rgba(24,35,20,.11);
  backdrop-filter:blur(10px);
  pointer-events:auto;
}
.bmk-map-search>svg{
  position:absolute;
  left:14px;
  width:18px;
  height:18px;
  fill:none;
  stroke:#6d746a;
  stroke-width:1.8;
}
.bmk-map-search input{
  width:100%;
  min-width:0;
  height:44px;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#303530!important;
  font:inherit!important;
  font-size:11px!important;
  box-shadow:none!important;
}
.bmk-map-search>button{
  position:absolute!important;
  right:7px!important;
  display:grid!important;
  place-items:center!important;
  width:32px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0!important;
  border:0!important;
  border-radius:9px!important;
  background:#f5f7f3!important;
  color:#8b9288!important;
  font-size:17px!important;
  line-height:1!important;
  box-shadow:none!important;
}
.bmk-map-filters{
  display:flex;
  justify-content:center;
  gap:6px;
  margin-top:8px;
  pointer-events:auto;
}
.bmk-map-filters>button{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-height:31px!important;
  padding:0 10px!important;
  border:1px solid rgba(225,230,222,.96)!important;
  border-radius:99px!important;
  background:rgba(255,255,255,.96)!important;
  color:#6c7469!important;
  font:inherit!important;
  font-size:7.8px!important;
  font-weight:800!important;
  text-transform:none!important;
  box-shadow:0 4px 13px rgba(20,30,18,.06)!important;
}
.bmk-map-filters>button.is-active{
  border-color:#83b735!important;
  background:#83b735!important;
  color:#fff!important;
}
.bmk-map-filters>button i{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#83b735;
}
.bmk-map-filters>button.is-active i{
  background:#fff;
}

/* floating right controls */
.bmk-map-controls{
  position:absolute;
  z-index:600;
  right:11px;
  top:112px;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.bmk-map-controls>button{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  border:1px solid rgba(224,229,221,.96)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.97)!important;
  color:#5f685c!important;
  box-shadow:0 7px 20px rgba(23,33,20,.1)!important;
}
.bmk-map-controls svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.bmk-map-result-count{
  position:absolute;
  z-index:590;
  left:12px;
  bottom:14px;
  display:none;
  padding:6px 9px;
  border-radius:99px;
  background:rgba(255,255,255,.92);
  color:#727a6f;
  font-size:7.5px;
  font-weight:750;
  box-shadow:0 4px 12px rgba(20,30,18,.07);
}
.bmk-map-result-count.is-visible{display:block}

/* Professional marker */
.bmk-map-leaflet-divicon{
  background:transparent!important;
  border:0!important;
}
.bmk-map-marker{
  position:relative;
  width:52px;
  height:60px;
  transform-origin:50% 100%;
  transition:transform .16s ease,filter .16s ease;
  filter:drop-shadow(0 7px 9px rgba(33,48,28,.2));
}
.bmk-map-marker-body{
  position:absolute;
  top:0;
  left:3px;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  overflow:hidden;
  border:3px solid #83b735;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.03);
}
.bmk-map-marker-body img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:4px;
  box-sizing:border-box;
}
.bmk-map-marker-letter{
  color:#62912f;
  font-size:16px;
  font-weight:900;
}
.bmk-map-marker-tail{
  position:absolute;
  left:18px;
  top:38px;
  width:16px;
  height:16px;
  transform:rotate(45deg);
  border-right:3px solid #83b735;
  border-bottom:3px solid #83b735;
  border-radius:0 0 5px 0;
  background:#fff;
}
.bmk-map-marker-dot{
  position:absolute;
  right:0;
  top:2px;
  width:13px;
  height:13px;
  border:3px solid #fff;
  border-radius:50%;
  background:#83b735;
  box-shadow:0 2px 5px rgba(0,0,0,.18);
}
.bmk-map-marker.is-closed .bmk-map-marker-body{
  border-color:#9ba29a;
  filter:grayscale(.3);
}
.bmk-map-marker.is-closed .bmk-map-marker-tail{
  border-color:#9ba29a;
}
.bmk-map-marker.is-closed .bmk-map-marker-dot{
  background:#9ba29a;
}
.bmk-map-marker.is-selected{
  transform:scale(1.18) translateY(-3px);
  filter:drop-shadow(0 10px 13px rgba(60,100,35,.27));
}
.bmk-map-marker.is-selected .bmk-map-marker-body{
  border-width:4px;
  box-shadow:0 0 0 5px rgba(131,183,53,.12),inset 0 0 0 1px rgba(0,0,0,.03);
}
.bmk-map-marker.is-selected.is-closed .bmk-map-marker-body{
  box-shadow:0 0 0 5px rgba(120,130,120,.12);
}

/* User position */
.bmk-map-user-marker{
  width:18px;
  height:18px;
  border:4px solid #fff;
  border-radius:50%;
  background:#3d85f5;
  box-shadow:0 0 0 7px rgba(61,133,245,.16),0 4px 10px rgba(0,0,0,.18);
}

/* Store card */
.bmk-map-store-card{
  position:absolute;
  z-index:650;
  left:11px;
  right:11px;
  bottom:11px;
  max-width:570px;
  margin:auto;
  padding:12px;
  border:1px solid rgba(225,230,222,.98);
  border-radius:17px;
  background:rgba(255,255,255,.98);
  box-shadow:0 12px 34px rgba(23,33,20,.17);
  backdrop-filter:blur(12px);
}
.bmk-map-store-card[hidden]{display:none!important}
.bmk-map-card-close{
  position:absolute!important;
  right:8px!important;
  top:8px!important;
  display:grid!important;
  place-items:center!important;
  width:31px!important;
  height:31px!important;
  min-height:31px!important;
  padding:0!important;
  border:0!important;
  border-radius:9px!important;
  background:#f6f8f5!important;
  color:#798077!important;
  box-shadow:none!important;
  z-index:8!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent;
}
.bmk-map-card-close svg{
  width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;
}
.bmk-map-card-main{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding-right:31px;
}
.bmk-map-card-logo{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  overflow:hidden;
  border:1px solid #e6eae3;
  border-radius:13px;
  background:#fff;
  color:#669437;
  font-size:20px;
  font-weight:900;
}
.bmk-map-card-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:5px;
  box-sizing:border-box;
}
.bmk-map-card-copy{min-width:0}
.bmk-map-card-copy>strong{
  display:block;
  overflow:hidden;
  color:#2e332e;
  font-size:13px;
  font-weight:850;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.bmk-map-card-status{
  display:flex;
  align-items:center;
  gap:5px;
  margin-top:4px;
  color:#6d9839;
  font-size:8px;
  font-weight:800;
}
.bmk-map-card-status i{
  width:7px;height:7px;border-radius:50%;background:#83b735;
}
.bmk-map-card-status.is-closed{color:#8d7777}
.bmk-map-card-status.is-closed i{background:#a69a9a}
.bmk-map-card-status b{font-weight:800}
.bmk-map-card-copy>small{
  display:block;
  overflow:hidden;
  margin-top:4px;
  color:#929990;
  font-size:7.8px;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.bmk-map-card-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:10px;
}
.bmk-map-products,
.bmk-map-store-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-height:40px!important;
  padding:0 10px!important;
  border-radius:10px!important;
  font-size:8px!important;
  font-weight:850!important;
  text-decoration:none!important;
  text-transform:none!important;
}
.bmk-map-products{
  border:1px solid #83b735!important;
  background:#83b735!important;
  color:#fff!important;
}
.bmk-map-store-link{
  border:1px solid #dfe5dc!important;
  background:#fff!important;
  color:#545c52!important;
}
.bmk-map-card-actions svg{
  width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
}

/* list bottom sheet */
html.bmk-map-list-open{overflow:hidden!important}
.bmk-map-list-overlay{
  position:fixed;
  z-index:100190;
  inset:0;
  visibility:hidden;
  background:rgba(0,0,0,0);
  pointer-events:none;
  transition:background .2s ease,visibility 0s linear .22s;
}
.bmk-map-list-overlay.is-open{
  visibility:visible;
  background:rgba(0,0,0,.36);
  pointer-events:auto;
  transition:background .2s ease;
}
.bmk-map-list-sheet{
  position:absolute;
  left:50%;
  bottom:0;
  display:flex;
  width:min(620px,100%);
  max-height:72vh;
  flex-direction:column;
  overflow:hidden;
  transform:translate(-50%,100%);
  border-radius:22px 22px 0 0;
  background:#f7f8f6;
  box-shadow:0 -16px 45px rgba(0,0,0,.16);
  transition:transform .25s ease;
}
.bmk-map-list-overlay.is-open .bmk-map-list-sheet{transform:translate(-50%,0)}
.bmk-map-list-handle{
  width:44px;height:4px;margin:8px auto 3px;border-radius:99px;background:#daddd7;
}
.bmk-map-list-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:7px 13px 11px;
  border-bottom:1px solid #e8ece5;
  background:#fff;
}
.bmk-map-list-head span,.bmk-map-list-head strong{display:block}
.bmk-map-list-head span{color:#83b735;font-size:7px;font-weight:900;text-transform:uppercase}
.bmk-map-list-head strong{margin-top:2px;font-size:15px}
.bmk-map-list-head button{
  display:grid!important;place-items:center!important;width:36px!important;height:36px!important;padding:0!important;border:1px solid #e3e7e0!important;border-radius:10px!important;background:#fff!important;
}
.bmk-map-list-head button svg{width:17px;height:17px;fill:none;stroke:#676e65;stroke-width:1.8}
.bmk-map-list{
  flex:1;
  overflow:auto;
  padding:10px;
}
.bmk-map-list-row{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) 22px!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-height:70px!important;
  margin-bottom:7px!important;
  padding:8px!important;
  border:1px solid #e5e9e2!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#333!important;
  text-align:left!important;
  text-transform:none!important;
  box-shadow:0 2px 9px rgba(15,23,42,.02)!important;
}
.bmk-map-list-logo{
  display:grid;place-items:center;width:52px;height:52px;overflow:hidden;border-radius:11px;background:#fff;color:#669437;font-size:17px;font-weight:900;
}
.bmk-map-list-logo img{width:100%;height:100%;object-fit:contain;padding:4px;box-sizing:border-box}
.bmk-map-list-copy{min-width:0}
.bmk-map-list-copy strong,.bmk-map-list-copy span,.bmk-map-list-copy small{display:block}
.bmk-map-list-copy strong{overflow:hidden;font-size:10px;white-space:nowrap;text-overflow:ellipsis}
.bmk-map-list-copy span{margin-top:3px;font-size:7.3px;font-weight:750;color:#6d9839}
.bmk-map-list-copy span.is-closed{color:#8d7777}
.bmk-map-list-copy small{overflow:hidden;margin-top:3px;color:#9ba098;font-size:7px;white-space:nowrap;text-overflow:ellipsis}
.bmk-map-list-arrow{color:#9ca39a;font-size:20px;text-align:center}

.bmk-map-toast{
  position:absolute;
  z-index:800;
  left:50%;
  bottom:24px;
  max-width:85%;
  transform:translate(-50%,20px);
  padding:8px 11px;
  border-radius:10px;
  background:#30362f;
  color:#fff;
  font-size:8px;
  font-weight:700;
  opacity:0;
  pointer-events:none;
  transition:.18s ease;
}
.bmk-map-toast.is-visible{opacity:1;transform:translate(-50%,0)}

@media(max-width:575px){
  .bmk-stores-map-page{
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    width:100vw;
  }
  .bmk-map-shell{
    height:calc(100dvh - 120px);
    min-height:560px;
    border-radius:0;
  }
  .bmk-map-store-card{
    left:8px;right:8px;bottom:8px;
  }
  .bmk-map-topbar{
    top:8px;left:8px;right:8px;
  }
  .bmk-map-controls{
    right:8px;
  }
}


/* ==========================================================
   BMK Stores Map v1.0.1 — professional info markers
   ========================================================== */

/* Hide old pin marker rules by superseding them with label marker UI */
.bmk-map-marker-label{
  position:relative;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  gap:8px;
  width:190px;
  min-height:58px;
  padding:6px 10px 6px 6px;
  border:1px solid rgba(218,225,215,.98);
  border-radius:16px;
  background:rgba(255,255,255,.98);
  box-shadow:0 8px 24px rgba(27,39,23,.16);
  transform-origin:50% 100%;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
  backdrop-filter:blur(10px);
}
.bmk-map-marker-label:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-7px;
  width:14px;
  height:14px;
  transform:translateX(-50%) rotate(45deg);
  border-right:1px solid rgba(218,225,215,.98);
  border-bottom:1px solid rgba(218,225,215,.98);
  background:#fff;
}
.bmk-map-marker-label-logo{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  overflow:hidden;
  border-radius:12px;
  background:#fff;
  color:#679237;
  font-size:16px;
  font-weight:900;
}
.bmk-map-marker-label-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:4px;
  box-sizing:border-box;
}
.bmk-map-marker-label-copy{
  position:relative;
  z-index:1;
  display:block;
  min-width:0;
}
.bmk-map-marker-label-copy strong,
.bmk-map-marker-label-copy span,
.bmk-map-marker-label-copy small{
  display:block;
}
.bmk-map-marker-label-copy strong{
  overflow:hidden;
  color:#2f342f;
  font-size:10px;
  font-weight:850;
  line-height:1.2;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.bmk-map-marker-label-status{
  display:flex!important;
  align-items:center;
  gap:4px;
  margin-top:3px;
  color:#679238;
  font-size:7px;
  font-weight:800;
}
.bmk-map-marker-label-status i{
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:#83b735;
}
.bmk-map-marker-label-copy small{
  overflow:hidden;
  margin-top:2px;
  color:#929991;
  font-size:6.8px;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.bmk-map-marker-label.is-closed{
  border-color:#e2e4e1;
}
.bmk-map-marker-label.is-closed .bmk-map-marker-label-status{
  color:#8e7c7c;
}
.bmk-map-marker-label.is-closed .bmk-map-marker-label-status i{
  background:#a6aaa5;
}
.bmk-map-marker-label.is-closed .bmk-map-marker-label-logo{
  filter:grayscale(.15);
}

.bmk-map-marker-label.is-selected{
  z-index:10;
  transform:translateY(-4px) scale(1.06);
  border-color:#83b735;
  box-shadow:0 12px 30px rgba(64,99,40,.24);
}
.bmk-map-marker-label.is-selected:after{
  border-right-color:#83b735;
  border-bottom-color:#83b735;
}
.bmk-map-marker-label.is-selected.is-closed{
  border-color:#aeb5ad;
}
.bmk-map-marker-label.is-selected.is-closed:after{
  border-right-color:#aeb5ad;
  border-bottom-color:#aeb5ad;
}

/* Card link must always be a real actionable button */
.bmk-map-store-link{
  cursor:pointer!important;
}
.bmk-map-store-link.is-disabled{
  border-color:#e4e7e2!important;
  background:#f4f5f3!important;
  color:#a1a69f!important;
  pointer-events:auto!important;
}


/* ==========================================================
   BMK Stores Map v1.0.2
   Compact markers + safe area above bottom site toolbar
   ========================================================== */

:root{
  --bmk-map-site-bottom:0px;
}

/* The map itself should end above the fixed mobile toolbar. */
.bmk-map-shell{
  height:max(
    520px,
    calc(100dvh - 145px - var(--bmk-map-site-bottom,0px))
  )!important;
  min-height:520px!important;
  margin-bottom:var(--bmk-map-site-bottom,0px)!important;
}

/* Keep the selected-store card above the bottom toolbar too. */
.bmk-map-store-card{
  bottom:calc(11px + var(--bmk-map-site-bottom,0px))!important;
}

/* Keep toast above the toolbar/card safe zone. */
.bmk-map-toast{
  bottom:calc(24px + var(--bmk-map-site-bottom,0px))!important;
}

/* Compact professional marker */
.bmk-map-marker-label{
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:6px!important;
  width:154px!important;
  min-height:46px!important;
  padding:4px 7px 4px 4px!important;
  border-radius:12px!important;
  box-shadow:0 6px 17px rgba(27,39,23,.14)!important;
}

.bmk-map-marker-label:after{
  bottom:-5px!important;
  width:10px!important;
  height:10px!important;
}

.bmk-map-marker-label-logo{
  width:38px!important;
  height:38px!important;
  border-radius:9px!important;
  font-size:13px!important;
}

.bmk-map-marker-label-logo img{
  padding:3px!important;
}

.bmk-map-marker-label-copy strong{
  font-size:8.4px!important;
  line-height:1.15!important;
}

.bmk-map-marker-label-status{
  gap:3px!important;
  margin-top:2px!important;
  font-size:6.2px!important;
}

.bmk-map-marker-label-status i{
  width:5px!important;
  height:5px!important;
  flex-basis:5px!important;
}

.bmk-map-marker-label-copy small{
  margin-top:1px!important;
  font-size:5.9px!important;
}

.bmk-map-marker-label.is-selected{
  transform:translateY(-3px) scale(1.045)!important;
  box-shadow:0 9px 22px rgba(64,99,40,.21)!important;
}

/* Mobile: map height must account for Woodmart/bottom navigation. */
@media(max-width:575px){
  .bmk-map-shell{
    height:max(
      500px,
      calc(100dvh - 105px - var(--bmk-map-site-bottom,0px))
    )!important;
    min-height:500px!important;
    margin-bottom:0!important;
  }

  .bmk-map-store-card{
    left:8px!important;
    right:8px!important;
    bottom:calc(8px + var(--bmk-map-site-bottom,0px))!important;
  }

  .bmk-map-result-count{
    bottom:calc(12px + var(--bmk-map-site-bottom,0px))!important;
  }
}


/* ==========================================================
   BMK Stores Map v1.0.3
   Fullscreen between header and bottom toolbar
   + animated store info card
   ========================================================== */

:root{
  --bmk-map-site-top:0px;
  --bmk-map-site-bottom:0px;
}

/* The map occupies exactly the safe viewport between site bars. */
.bmk-stores-map-page{
  width:100%!important;
  height:calc(
    100dvh
    - var(--bmk-map-site-top,0px)
    - var(--bmk-map-site-bottom,0px)
  )!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}

.bmk-map-shell{
  position:fixed!important;
  z-index:100!important;
  top:var(--bmk-map-site-top,0px)!important;
  right:0!important;
  bottom:var(--bmk-map-site-bottom,0px)!important;
  left:0!important;

  width:auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;

  border-radius:0!important;
  overflow:hidden!important;
}

/* The map canvas fills the safe shell completely. */
.bmk-map-canvas{
  position:absolute!important;
  inset:0!important;
}

/* Search/controls remain inside the safe map area. */
.bmk-map-topbar{
  top:10px!important;
}
.bmk-map-controls{
  top:110px!important;
}

/* Store info panel starts hidden below the viewport and slides up. */
.bmk-map-store-card{
  display:block!important;
  left:10px!important;
  right:10px!important;
  bottom:10px!important;
  max-width:570px!important;
  margin:0 auto!important;

  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;

  transform:translateY(calc(100% + 24px))!important;
  transition:
    transform .26s cubic-bezier(.2,.8,.2,1),
    opacity .2s ease,
    visibility 0s linear .26s!important;

  will-change:transform,opacity!important;
}

/* hidden attribute no longer kills animation */
.bmk-map-store-card[hidden]{
  display:block!important;
}

.bmk-map-store-card.is-visible{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;

  transform:translateY(0)!important;
  transition:
    transform .26s cubic-bezier(.2,.8,.2,1),
    opacity .2s ease!important;
}

/* 10px above lower site toolbar because shell itself already ends above it */
.bmk-map-toast{
  bottom:10px!important;
}
.bmk-map-result-count{
  bottom:10px!important;
}

/* Remove previous double-safe-area calculations from v1.0.2. */
@media(max-width:575px){
  .bmk-stores-map-page{
    width:100vw!important;
    height:calc(
      100dvh
      - var(--bmk-map-site-top,0px)
      - var(--bmk-map-site-bottom,0px)
    )!important;
    margin:0!important;
  }

  .bmk-map-shell{
    top:var(--bmk-map-site-top,0px)!important;
    bottom:var(--bmk-map-site-bottom,0px)!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
  }

  .bmk-map-store-card{
    left:8px!important;
    right:8px!important;
    bottom:10px!important;
  }

  .bmk-map-result-count{
    bottom:10px!important;
  }
}


/* ==========================================================
   BMK Stores Map v1.0.4
   Clean map attribution
   ========================================================== */

/* Leaflet prefix/flag is removed in JS; keep only tile-provider credit. */
.bmk-map-canvas .leaflet-control-attribution{
  position:relative!important;

  margin:0 0 3px 3px!important;
  padding:0 2px!important;

  border:0!important;
  border-radius:0!important;

  background:transparent!important;
  color:rgba(70,78,68,.58)!important;

  font-size:5.5px!important;
  font-weight:500!important;
  line-height:1.15!important;

  box-shadow:none!important;
  backdrop-filter:none!important;
}

.bmk-map-canvas .leaflet-control-attribution a{
  color:rgba(70,78,68,.66)!important;
  text-decoration:none!important;
}

/* Leaflet 1.9 attribution flag/logo fallback — hidden even if cached markup appears. */
.bmk-map-canvas .leaflet-attribution-flag{
  display:none!important;
}

/* Put provider credit on the left rather than under the right-side controls. */
.bmk-map-canvas .leaflet-bottom.leaflet-right{
  right:auto!important;
  left:0!important;
}

.bmk-map-canvas .leaflet-bottom.leaflet-right .leaflet-control{
  float:left!important;
  clear:both!important;
}

/* Keep it just above the safe bottom edge on mobile. */
@media(max-width:575px){
  .bmk-map-canvas .leaflet-control-attribution{
    margin-left:3px!important;
    margin-bottom:3px!important;
    font-size:5px!important;
  }
}

/* ==========================================================
   BMK Stores Map v1.0.5
   Embeddable shortcode + visual settings
   ========================================================== */

.bmk-stores-map-page{
  font-family:var(--bmk-map-font-family,inherit)!important;
  color:var(--bmk-map-text,#2e332e);
}

/* Embedded shortcode stays in the normal page flow. The auto-created map
   page uses .bmk-map-mode-fullscreen and keeps the 1.0.4 fullscreen logic. */
.bmk-stores-map-page.bmk-map-mode-embed{
  position:relative!important;
  width:var(--bmk-map-width,100%)!important;
  max-width:var(--bmk-map-max-width,1200px)!important;
  height:auto!important;
  min-height:0!important;
  margin:var(--bmk-map-margin-top,0) auto var(--bmk-map-margin-bottom,0)!important;
  padding:0!important;
}

.bmk-map-mode-embed .bmk-map-shell{
  position:relative!important;
  z-index:1!important;
  inset:auto!important;
  width:100%!important;
  height:var(--bmk-map-height,560px)!important;
  min-height:var(--bmk-map-min-height,320px)!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:var(--bmk-map-radius,18px)!important;
  background:var(--bmk-map-background,#eef1eb)!important;
}

.bmk-map-mode-fullscreen .bmk-map-shell{
  background:var(--bmk-map-background,#eef1eb)!important;
}

/* Shared visual controls */
.bmk-stores-map-page .bmk-map-search{
  min-height:var(--bmk-map-search-height,46px)!important;
  border-color:var(--bmk-map-border,#e2e7df)!important;
  background:var(--bmk-map-surface,#fff)!important;
}
.bmk-stores-map-page .bmk-map-search input{
  height:calc(var(--bmk-map-search-height,46px) - 2px)!important;
  color:var(--bmk-map-text,#2e332e)!important;
  font-family:var(--bmk-map-font-family,inherit)!important;
  font-size:var(--bmk-map-font-search,11px)!important;
}
.bmk-stores-map-page .bmk-map-filters>button{
  border-color:var(--bmk-map-border,#e2e7df)!important;
  background:var(--bmk-map-surface,#fff)!important;
  font-family:var(--bmk-map-font-family,inherit)!important;
  font-size:var(--bmk-map-font-filter,7.8px)!important;
}
.bmk-stores-map-page .bmk-map-filters>button.is-active{
  border-color:var(--bmk-map-accent,#83b735)!important;
  background:var(--bmk-map-accent,#83b735)!important;
}
.bmk-stores-map-page .bmk-map-filters>button i{background:var(--bmk-map-accent,#83b735)!important}
.bmk-stores-map-page .bmk-map-filters>button.is-active i{background:#fff!important}

.bmk-stores-map-page .bmk-map-controls>button{
  width:var(--bmk-map-control-size,42px)!important;
  height:var(--bmk-map-control-size,42px)!important;
  min-height:var(--bmk-map-control-size,42px)!important;
  border-color:var(--bmk-map-border,#e2e7df)!important;
  background:var(--bmk-map-surface,#fff)!important;
}

/* Markers */
.bmk-stores-map-page .bmk-map-marker-label{
  transform:scale(var(--bmk-map-marker-scale,1))!important;
  border-color:var(--bmk-map-border,#e2e7df)!important;
  background:var(--bmk-map-surface,#fff)!important;
}
.bmk-stores-map-page .bmk-map-marker-label:after{
  border-right-color:var(--bmk-map-border,#e2e7df)!important;
  border-bottom-color:var(--bmk-map-border,#e2e7df)!important;
  background:var(--bmk-map-surface,#fff)!important;
}
.bmk-stores-map-page .bmk-map-marker-label-copy strong{
  color:var(--bmk-map-text,#2e332e)!important;
  font-family:var(--bmk-map-font-family,inherit)!important;
  font-size:var(--bmk-map-font-marker-name,8.4px)!important;
}
.bmk-stores-map-page .bmk-map-marker-label-status{
  color:var(--bmk-map-accent,#83b735)!important;
  font-size:var(--bmk-map-font-marker-status,6.2px)!important;
}
.bmk-stores-map-page .bmk-map-marker-label-status i{background:var(--bmk-map-accent,#83b735)!important}
.bmk-stores-map-page .bmk-map-marker-label-copy small{
  color:var(--bmk-map-muted,#929990)!important;
  font-size:var(--bmk-map-font-marker-hours,5.9px)!important;
}
.bmk-stores-map-page .bmk-map-marker-label.is-closed .bmk-map-marker-label-status{color:var(--bmk-map-closed,#9ba29a)!important}
.bmk-stores-map-page .bmk-map-marker-label.is-closed .bmk-map-marker-label-status i{background:var(--bmk-map-closed,#9ba29a)!important}
.bmk-stores-map-page .bmk-map-marker-label.is-selected{
  transform:translateY(-3px) scale(var(--bmk-map-marker-selected-scale,1.045))!important;
  border-color:var(--bmk-map-accent,#83b735)!important;
}
.bmk-stores-map-page .bmk-map-marker-label.is-selected:after{
  border-right-color:var(--bmk-map-accent,#83b735)!important;
  border-bottom-color:var(--bmk-map-accent,#83b735)!important;
}

/* Selected store card */
.bmk-stores-map-page .bmk-map-store-card{
  max-width:var(--bmk-map-card-max-width,570px)!important;
  padding:var(--bmk-map-card-padding,12px)!important;
  border-color:var(--bmk-map-border,#e2e7df)!important;
  border-radius:var(--bmk-map-card-radius,17px)!important;
  background:var(--bmk-map-surface,#fff)!important;
}
.bmk-stores-map-page .bmk-map-card-copy>strong{
  color:var(--bmk-map-text,#2e332e)!important;
  font-size:var(--bmk-map-font-card-name,13px)!important;
}
.bmk-stores-map-page .bmk-map-card-status{
  color:var(--bmk-map-accent,#83b735)!important;
  font-size:var(--bmk-map-font-card-status,8px)!important;
}
.bmk-stores-map-page .bmk-map-card-status i{background:var(--bmk-map-accent,#83b735)!important}
.bmk-stores-map-page .bmk-map-card-status.is-closed{color:var(--bmk-map-closed,#9ba29a)!important}
.bmk-stores-map-page .bmk-map-card-status.is-closed i{background:var(--bmk-map-closed,#9ba29a)!important}
.bmk-stores-map-page .bmk-map-card-copy>small{
  color:var(--bmk-map-muted,#929990)!important;
  font-size:var(--bmk-map-font-card-address,7.8px)!important;
}
.bmk-stores-map-page .bmk-map-products,
.bmk-stores-map-page .bmk-map-store-link{
  font-family:var(--bmk-map-font-family,inherit)!important;
  font-size:var(--bmk-map-font-button,8px)!important;
}
.bmk-stores-map-page .bmk-map-products{
  border-color:var(--bmk-map-accent,#83b735)!important;
  background:var(--bmk-map-accent,#83b735)!important;
}
.bmk-stores-map-page .bmk-map-store-link{
  border-color:var(--bmk-map-border,#e2e7df)!important;
  background:var(--bmk-map-surface,#fff)!important;
  color:var(--bmk-map-text,#2e332e)!important;
}

/* Store list */
.bmk-stores-map-page .bmk-map-list-copy strong{
  color:var(--bmk-map-text,#2e332e)!important;
  font-family:var(--bmk-map-font-family,inherit)!important;
  font-size:var(--bmk-map-font-list-name,10px)!important;
}
.bmk-stores-map-page .bmk-map-list-copy span{color:var(--bmk-map-accent,#83b735)!important}
.bmk-stores-map-page .bmk-map-list-copy span.is-closed{color:var(--bmk-map-closed,#9ba29a)!important}
.bmk-stores-map-page .bmk-map-list-copy small{color:var(--bmk-map-muted,#929990)!important}

@media(max-width:575px){
  .bmk-stores-map-page.bmk-map-mode-embed{
    width:var(--bmk-map-width,100%)!important;
    max-width:var(--bmk-map-max-width,1200px)!important;
    height:auto!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .bmk-map-mode-embed .bmk-map-shell{
    position:relative!important;
    inset:auto!important;
    height:var(--bmk-map-mobile-height,480px)!important;
    min-height:var(--bmk-map-min-height,320px)!important;
    border-radius:var(--bmk-map-radius,18px)!important;
  }
  .bmk-map-mode-embed .bmk-map-store-card{
    bottom:8px!important;
  }
  .bmk-map-mode-embed .bmk-map-result-count{
    bottom:10px!important;
  }
}


/* v1.0.9 — keep store logos proportional even when Woodmart/global image rules apply. */
.bmk-map-marker-label-logo img,
.bmk-map-card-logo img,
.bmk-map-list-logo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  box-sizing:border-box!important;
}
.bmk-map-marker-label-logo img{padding:3px!important;}
.bmk-map-card-logo img{padding:4px!important;}
.bmk-map-list-logo img{padding:3px!important;}

.bmk-map-location.is-locating svg{
  animation:bmk-map-location-spin .9s linear infinite;
}
@keyframes bmk-map-location-spin{
  to{transform:rotate(360deg);}
}
