.cmap {
  padding: clamp(16px, 3vw, 32px);
}
.cmap__wrap{
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: clamp(20px, 4vw, 56px);
  align-items: center;
}

.cmap__map {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  min-height: clamp(260px, 30vw, 515px);
  background: #1b1b1b;
  box-shadow: 0 18px 50px rgba(0,0,0,.55);
}
.cmap__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cmap__pin {
  position: absolute;
  left: 50%; top: 50%;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: #FFE8A3;
  box-shadow: 0 0 0 8px rgba(255,232,163,.25);
  transform: translate(-50%,-50%);
}

.cmap__content{
  color: #fff;
}
.cmap__title{
  margin: 0 0 14px 0;
  font-weight: 600;
  font-size: clamp(24px, 3vw, 42px);
  line-height: 1.15;
  color: rgba(255,255,255,.9);
}
.cmap__city{
  margin: 0 0 22px 0;
  font-size: clamp(14px, 1.6vw, 18px);
  color: rgba(255,255,255,.65);
}
/*.cmap__phone{*/
/*  display: inline-block;*/
/*  margin-top: 6px;*/
/*  font-weight: 700;*/
/*  font-size: clamp(16px, 1.8vw, 20px);*/
/*  color: #fff;*/
/*  text-decoration: underline;*/
/*  text-underline-offset: 3px;*/
/*}*/

.cmap__phone-wrap {
  display: flex;
  align-items: center;
  gap: 10px; 
  margin-bottom: 12px;
}

.cmap__phone {
  font-weight: 700;
  font-size: clamp(16px, 1.8vw, 20px);
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cmap__wa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #2a2a2a;
  color: #EEE4BA;
  transition: background .2s ease, opacity .2s ease;
}
.cmap__wa:hover {
  background: #3a3a3a;
  opacity: .9;
}

.cmap__email{
  display:block;
  margin-top:12px;
  color:#EEE4BA;
  text-decoration:none;
}
.cmap__email:hover{ text-decoration:underline; }


@media (max-width: 1024px){
  .cmap__wrap{
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .cmap__map{
    min-height: clamp(300px, 55vw, 520px);
    border-radius: 24px;
  }
  .cmap__content{
    padding: 0 4px;
  }
}

@media (max-width: 480px){
  .cmap{ padding: 16px; }
  .cmap__map{ border-radius: 18px; min-height: 250px; }
  .cmap__title{ font-size: 22px; }
  .cmap__city{ margin-bottom: 16px; }
}

@media (max-width: 360px){
  .cmap__map{ min-height: 190px; }
  .cmap__title{ font-size: 20px; }
}
