.contacts-page .page-header__title {
  display: none;
}

.contacts-draft {
  padding: 20px 24px 96px;
}

.contacts-draft__container {
  --contacts-card-gap: 20px;
  --contacts-column-width: calc((100% - var(--contacts-card-gap)) / 2);

  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

.contacts-draft__hero {
  --contacts-address-height: 200px;
  --contacts-map-radius: 20px;

  position: relative;
  min-height: 520px;
}

.contacts-draft__map {
  --contacts-map-shape: polygon(
    0 0,
    100% 0,
    100% 100%,
    calc(var(--contacts-column-width) + var(--contacts-card-gap) + 20px) 100%,
    calc(var(--contacts-column-width) + var(--contacts-card-gap) + 12px) calc(100% - 2px),
    calc(var(--contacts-column-width) + var(--contacts-card-gap) + 6px) calc(100% - 6px),
    calc(var(--contacts-column-width) + var(--contacts-card-gap) + 2px) calc(100% - 12px),
    calc(var(--contacts-column-width) + var(--contacts-card-gap)) calc(100% - 20px),
    calc(var(--contacts-column-width) + var(--contacts-card-gap)) calc(100% - var(--contacts-address-height)),
    calc(var(--contacts-column-width) + var(--contacts-card-gap) - 2px) calc(100% - var(--contacts-address-height) - 8px),
    calc(var(--contacts-column-width) + var(--contacts-card-gap) - 6px) calc(100% - var(--contacts-address-height) - 14px),
    calc(var(--contacts-column-width) + var(--contacts-card-gap) - 12px) calc(100% - var(--contacts-address-height) - 18px),
    var(--contacts-column-width) calc(100% - var(--contacts-address-height) - var(--contacts-card-gap)),
    20px calc(100% - var(--contacts-address-height) - var(--contacts-card-gap)),
    12px calc(100% - var(--contacts-address-height) - var(--contacts-card-gap) - 2px),
    6px calc(100% - var(--contacts-address-height) - var(--contacts-card-gap) - 6px),
    2px calc(100% - var(--contacts-address-height) - var(--contacts-card-gap) - 12px),
    0 calc(100% - var(--contacts-address-height) - var(--contacts-card-gap) - 20px)
  );

  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #e2e4e8;
  border-radius: var(--contacts-map-radius);
  /* Cut the map itself around the address card so its original edges cannot show through. */
  -webkit-clip-path: var(--contacts-map-shape);
  clip-path: var(--contacts-map-shape);
}

.contacts-draft__map-frame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #e2e4e8;
}

.contacts-draft__address {
  position: absolute;
  bottom: 0;
  z-index: 2;
  width: var(--contacts-column-width);
  min-height: var(--contacts-address-height);
  height: var(--contacts-address-height);
  border-radius: 24px;
}

.contacts-draft__address {
  left: 0;
  padding: 44px 27px;
  background: #fe7250;
  color: #ffffff;
  box-sizing: border-box;
}

.contacts-draft__title {
  margin: 0 0 40px;
  font-family: 'Raleway', sans-serif;
  font-feature-settings: 'pnum' on, 'lnum' on;
  font-variant-numeric: proportional-nums lining-nums;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
}

.contacts-draft__text {
  margin: 0;
  font-family: 'Raleway', sans-serif;
  font-feature-settings: 'pnum' on, 'lnum' on;
  font-variant-numeric: proportional-nums lining-nums;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
}

.contacts-draft__text + .contacts-draft__text {
  margin-top: 0;
}

.contacts-draft__bottom {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--contacts-card-gap);
  margin-top: 20px;
}

.contacts-draft__card {
  box-sizing: border-box;
  width: 100%;
  min-height: 200px;
  padding: 44px 27px;
  border-radius: 24px;
}

.contacts-draft__card--schedule {
  background: #a7aebb;
  color: #ffffff;
}

.contacts-draft__card--contacts {
  border: 1px solid #fe7250;
  background: #ffffff;
  color: #42424c;
}

.contacts-draft__card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 40px;
}

.contacts-draft__card .contacts-draft__title {
  margin-bottom: 40px;
  font-family: 'Raleway', sans-serif;
  font-feature-settings: 'pnum' on, 'lnum' on;
  font-variant-numeric: proportional-nums lining-nums;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
}

.contacts-draft__card--contacts .contacts-draft__title {
  margin-bottom: 0;
}

.contacts-draft__card .contacts-draft__text {
  font-family: 'Raleway', sans-serif;
  font-feature-settings: 'pnum' on, 'lnum' on;
  font-variant-numeric: proportional-nums lining-nums;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
}

.contacts-draft__card--contacts .contacts-draft__title,
.contacts-draft__card--contacts .contacts-draft__text {
  color: #42424c;
}

.contacts-draft__card--contacts .contacts-draft__text {
  font-weight: 400;
}

.contacts-draft__socials {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  margin-top: -8px;
}

.contacts-draft__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.contacts-draft__social-link:hover,
.contacts-draft__social-link:focus-visible {
  background: rgba(254, 114, 80, 0.06);
  outline: none;
}

.contacts-draft__social-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
}

.contacts-draft__social-icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

@media (max-width: 1024px) {
  .contacts-draft {
    padding-right: 20px;
    padding-left: 20px;
  }

  .contacts-draft__hero {
    --contacts-address-height: 190px;

    min-height: 460px;
  }

  .contacts-draft__address {
    padding: 32px 24px;
    border-radius: 22px;
  }

  .contacts-draft__bottom {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contacts-draft__card {
    min-height: 190px;
    padding: 32px 24px;
    border-radius: 22px;
  }

  .contacts-draft__card-head {
    margin-bottom: 32px;
  }
}

@media (max-width: 767px) {
  .contacts-draft {
    padding-top: 12px;
    padding-right: 16px;
    padding-bottom: 64px;
    padding-left: 16px;
  }

  .contacts-draft__container {
    max-width: 343px;
  }

  .contacts-draft__hero {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .contacts-draft__map {
    --contacts-map-shape: none;

    position: relative;
    inset: auto;
    width: 100%;
    height: 170px;
    border-radius: 16px;
  }

  .contacts-draft__address {
    position: relative;
    left: auto;
    bottom: auto;
    width: 100%;
    min-height: 110px;
    height: auto;
    padding: 20px 10px;
    border-radius: 16px;
  }

  .contacts-draft__title {
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 1.5;
  }

  .contacts-draft__address .contacts-draft__title,
  .contacts-draft__card .contacts-draft__title {
    font-size: 16px;
    line-height: 1.5;
  }

  .contacts-draft__text {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
  }

  .contacts-draft__bottom {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 12px;
  }

  .contacts-draft__card {
    min-height: 110px;
    padding: 20px 10px;
    border-radius: 16px;
  }

  .contacts-draft__card--contacts {
    position: relative;
    min-height: 167px;
    padding: 20px 10px 16px;
  }

  .contacts-draft__card-head {
    display: block;
    margin-bottom: 10px;
  }

  .contacts-draft__card--contacts .contacts-draft__title {
    margin-bottom: 0;
  }

  .contacts-draft__card--contacts .contacts-draft__text {
    color: #42424c;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
  }

  .contacts-draft__card--schedule .contacts-draft__text {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
  }

  .contacts-draft__card--contacts .contacts-draft__text + .contacts-draft__text {
    margin-top: 2px;
  }

  .contacts-draft__socials {
    position: absolute;
    left: 10px;
    bottom: 16px;
    gap: 20px;
    margin-top: 0;
  }

  .contacts-draft__social-link,
  .contacts-draft__social-icon {
    width: 36px;
    height: 36px;
  }
}
