/* Map section */
.map-section{
  position: relative;
  padding: 20px;
 }
.map-section__map{
    position: relative;
    width: 100%;
    overflow: hidden;
    z-index: 1;
    touch-action: manipulation;
}
.map-section__badge.menu-badge{
  position:absolute; left:12px; top:12px; z-index:5;
}
.menu-badge__btn{
display: flex;
width: auto;
min-width: 8rem;
padding: 0.375rem 0.625rem;
justify-content: center;
align-items: center;
gap: 0.625rem;
border-radius: 0.25rem;
border: 2px solid #D42A54;
background: #D42A54;
  cursor:pointer;
  color: #FFF;
font-size: 0.875rem;
font-weight: 700;
white-space: nowrap;
transition: background-color 0.2s ease, color 0.2s ease;
}
.menu-badge__btn.active{
background: #FFF;
color: #D42A54;
}
.map-section__badge.location-badge{
  position:absolute; left:12px; bottom:12px; z-index:5;
}
.location-badge__btn{
  display: flex;
  width: 3rem;
  height: 3rem;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: #fff;
  border: 0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  cursor: pointer;
  padding: 0;
}
.location-badge__btn:hover{
  background: #f5f5f5;
}
.location-badge__btn img{
  width: 1.5rem;
  height: 1.5rem;
}
.menu-badge__list{
  position:absolute; right:0; top:100%; margin-top:.4rem; list-style:none;
  background:#fff; padding:.35rem; border-radius:12px; box-shadow:0 10px 24px rgba(0,0,0,.15);
  display:none; min-width:140px;
}
.menu-badge__list.is-open{ display:block; }
.menu-badge__item{
  width:100%; text-align:left; border:0; background:transparent; cursor:pointer;
  padding:.6rem .75rem; border-radius:10px; font-weight:700; color:#333;
}
.menu-badge__item:hover{ background:#F5F6F8; }
.menu-badge__item.is-active{ color:#E81E5A; background:#FFF1F5; }


/* Place card */
.place-card{
  position:absolute; left:50%; bottom:30px; transform:translateX(-50%);
  width:min(92%, 300px); background:#fff; border-radius:18px;
  box-shadow:var(--shadow); padding:1rem 2rem; z-index:10;
  transition:transform .25s ease, opacity .2s ease; opacity:0; pointer-events:none;
}
.place-card.is-open{opacity:1; pointer-events:auto}
.place-card__header{display:flex; justify-content:space-between; align-items:center; gap:.5rem}
.place-card__title{display:flex; align-items:center; gap:.5rem}
.place-card__name{font-weight:800; color:#111}
.place-card__brand{display:inline-flex; align-items:center; gap:.25rem;color: #EE1337;
font-size: 1rem;
font-weight: 700;
letter-spacing: -0.05rem;}
.place-card__close{background:#F3F4F6; border:0; width:28px; height:28px; border-radius:50%; font-size:18px; line-height:1}
.place-card__meta{margin:.5rem 0 1rem; color:#6B7280}
.place-card__actions{display:flex; gap:.5rem}
.btn{flex:1; padding:.75rem 1rem; border-radius:12px; font-weight:700; border:0}
.btn--primary{
    border-radius: 0.625rem;
    background: #D42A54;    
    color:#fff;}
.btn--ghost{
    border-radius: 0.625rem;
    background: #F3F3F3;}




.place__icon{
    width: 3rem;
    height: 3rem;
    cursor: pointer;
    transition: opacity 0.2s ease;
}
.place__icon:hover{
    opacity: 0.8;
}
.place__icon > img{
    width: 100%;
}
.place__icon.small{
    width: 2.4rem;
    height: 2.4rem;
}

