
.altvp-contacts{
  background:var(--color-light);
}

.altvp-contacts__container{
  max-width:1400px;
  margin:0 auto;
  padding: 40px 40px 80px 40px;
}

.altvp-contacts__grid{
  display:grid;
  grid-template-columns:380px 1fr;
  gap:80px;
  align-items:start;
}

.altvp-contacts__main{
  display:flex;
  flex-direction:column;
  gap:24px;
}

.altvp-contacts__title{
  font-size:42px;
  font-weight:700;
  line-height:1.2;
  color:var(--color-text);
}

.altvp-contacts__company{
  font-size:18px;
  font-weight:500;
  color:var(--color-text);
}

.altvp-contacts__info{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
}

.altvp-contacts__group{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.altvp-contacts__label{
  font-size:18px;
  font-weight:500;
  color:var(--color-text);
}

.altvp-contacts__value{
  font-size:18px;
  font-weight:500;
  color:var(--color-text);
  text-decoration:none;
  transition:color .35s cubic-bezier(.4,0,.2,1);
}

.altvp-contacts__value:hover{
  color:var(--color-accent);
}

.altvp-contacts__subgroup{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.altvp-contacts__subgroup-title{
  font-size:16px;
  font-weight:600;
  color:var(--color-text);
  margin-top:8px;
}

.altvp-contacts__subgroup-text{
  font-size:16px;
  font-weight:500;
  color:var(--color-text);
}

.altvp-contacts__phone{
  font-size:18px;
  font-weight:700;
  color:var(--color-text);
  text-decoration:none;
  transition:color .35s cubic-bezier(.4,0,.2,1);
}

.altvp-contacts__phone:hover{
  color:var(--color-accent);
}

.altvp-contacts__email{
  font-size:18px;
  font-weight:500;
  color:var(--color-text);
  text-decoration:none;
  transition:color .35s cubic-bezier(.4,0,.2,1);
}

.altvp-contacts__email:hover{
  color:var(--color-primary);
}

.altvp-contacts__action{
  margin-top:48px;
}

.altvp-contacts__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:56px;
  padding:0 32px;
  background:var(--color-accent);
  color:#ffffff;
  font-size:18px;
  font-weight:500;
  text-decoration:none;
  border:none;
  border-radius:0;
  cursor:pointer;
  transition:background .35s cubic-bezier(.4,0,.2,1);
}

.altvp-contacts__button:hover,
.altvp-contacts__button:focus{
  background:var(--color-accent-hover);
  outline:none;
}

/* Карта */
.altvp-contacts__map-wrap{
  width:100%;
  height:480px;
  background:var(--color-border);
  overflow:hidden;
}

.altvp-contacts__map{
  width:100%;
  height:100%;
  border:0;
  display:block;
  filter:grayscale(100%);
  transition:filter .35s cubic-bezier(.4,0,.2,1);
}

.altvp-contacts__map-wrap:hover .altvp-contacts__map{
  filter:grayscale(0%);
}

/* ============================================
   BREAKPOINTS
   ============================================ */

@media (max-width:1199px){
  .altvp-contacts__container{
    padding:96px 40px 64px 40px;
  }
  .altvp-contacts__grid{
    grid-template-columns:1fr;
    gap:48px;
  }
  .altvp-contacts__info{
    grid-template-columns:1fr 1fr;
    gap:40px;
  }
  .altvp-contacts__title{
    font-size:34px;
  }
}

@media (max-width:767px){
  .altvp-contacts__container{
    padding:80px 24px 48px 24px;
  }
  .altvp-contacts__grid{
    gap:40px;
  }
  .altvp-contacts__info{
    grid-template-columns:1fr;
    gap:32px;
  }
  .altvp-contacts__title{
    font-size:28px;
  }
  .altvp-contacts__phone,
  .altvp-contacts__email,
  .altvp-contacts__value{
    font-size:16px;
  }
  .altvp-contacts__map-wrap{
    height:360px;
  }
}