/* Final spacing pass for the offer and footer. Keep their existing visual language. */
.x-site .x-offers {
  padding-block: clamp(46px, 5vw, 66px) clamp(70px, 8vw, 104px);
}

.x-site .x-offers .x-offer-heading {
  max-width: 760px;
  margin: 0 auto 30px;
}

.x-site .x-offers .x-offer-heading > p:last-child {
  margin-top: 10px;
}

.x-site .x-offers .x-plans {
  max-width: 900px;
  margin: 0 auto;
  gap: 18px;
}

.x-site .x-offers .x-plans::before {
  content: none;
}

.x-site .x-offers .x-plan,
.x-site .x-offers .x-plan:hover {
  padding: 26px;
  border: 1px solid #dadad7;
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,255,255,.9), rgba(242,242,239,.75));
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  box-shadow: inset 0 1px 0 #fff, 0 8px 20px -19px rgba(40,40,40,.35);
}

.x-site .x-offers .x-plan--feat,
.x-site .x-offers .x-plan--feat:hover {
  border-color: #e6bca4;
  background: linear-gradient(145deg, rgba(255,253,251,.96), rgba(249,241,235,.84));
  box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(247,112,31,.05);
}

.x-site .x-offers .x-plan--feat::after {
  content: none;
}

.x-site .x-offers .x-plan-icon {
  width: 40px;
  height: 40px;
  margin-bottom: 14px;
}

.x-site .x-offers .x-plan-kicker {
  margin-bottom: 2px;
}

.x-site .x-offers .x-plan h3 {
  font-size: clamp(24px, 2.3vw, 28px);
}

.x-site .x-offers .x-plan > p {
  margin: 8px 0 0;
  min-height: 40px;
  line-height: 1.55;
}

.x-site .x-offers .x-plan__list {
  display: grid;
  gap: 8px;
  margin: 17px 0 22px;
  padding-top: 17px;
  border-top: 1px solid #e0e0dc;
}

.x-site .x-offers .x-plan__list li {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  gap: 9px;
  align-items: baseline;
  padding: 0;
  border: 0;
  line-height: 1.5;
}

.x-site .x-offers .x-plan__list li::before {
  content: "✳";
  display: block;
  position: static;
  width: auto;
  height: auto;
  border: 0;
  color: #e57936;
  font: 400 10px/1 var(--studio-font);
  transform: none;
}

.x-site .x-offers .x-plan .x-btn {
  min-height: 46px;
}

@media (min-width: 900px) {
  .x-site .x-foot > .x-wrap {
    flex: 1 1 auto;
    justify-content: initial;
    gap: 0;
  }

  .x-site .x-ft {
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
    row-gap: clamp(22px, 2.6vw, 32px);
    align-items: stretch;
    margin-block: auto;
  }

  .x-site .x-ft__head {
    align-self: end;
  }

  .x-site .x-ft__body {
    align-self: start;
    padding-bottom: 0;
  }

  .x-site .x-ft__right {
    align-self: center;
  }

  .x-site .x-ft__bar {
    flex: 0 0 auto;
    margin-top: 0;
  }
}

@media (max-width: 767px) {
  .x-site .x-offers {
    padding-block: 52px 76px;
  }

  .x-site .x-offers .x-offer-heading {
    margin-bottom: 26px;
  }

  .x-site .x-offers .x-plans {
    grid-template-columns: minmax(0, 1fr);
    max-width: 480px;
  }

  .x-site .x-offers .x-plan,
  .x-site .x-offers .x-plan:hover {
    padding: 23px;
  }
}
