main:has(.gift-banner) {
  padding-top: 20px;
}

.gift-title {
  padding-block: 32px;
  font-size: 32px;
  line-height: 1;
  text-transform: uppercase;
  text-align: center;
}

.gift-banner-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.gift-banner:only-child {
  grid-column: 1/-1;
}

.gift-banner {
  display: block;
  margin-bottom: min(6.666666vw, 36px);
}

.gift-banner img,
.site .gift-banner img {
  width: 100%;
  height: auto;
  margin-bottom: 0;
}

.gift-categories {
  display: flex;
  gap: clamp(5px, 1.666666vw + max(0px, (100vw - 360px) / 10), 45px);
  justify-content: center;
  padding-bottom: min(6.666666vw, 36px);
}

.gift-categories__item {
  appearance: none;
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 120px;
  height: min(36px, 8.333333vw);
  font-size: min(3.055556vw, 14px);
  background-color: transparent;
  border: 1px solid #c0c0c0;
  cursor: pointer;
}

.gift-banner-container + .filter {
  margin-top: 30px;
}

@media (max-width: 767px) {
  .gift-title {
    padding-block: 16px;
    font-size: 16px;
  }
  .gift-banner-container {
    gap: 2px;
  }
  .gift-banner {
    display: block;
  }
  .gift-banner:only-child,
  :nth-child(1 of .gift-banner):nth-last-child(1 of .gift-banner) {
    width: calc(100% + 48px);
    margin-inline: -24px;
  }
  .gift-banner:not(:only-child) {
    width: calc(100% + 24px);
  }
  .gift-banner:first-child:not(:only-child) {
    margin-left: -24px;
  }
  .gift-banner:last-child:not(:only-child) {
    margin-right: -24px;
  }
}
