.kit-pricing,
.kit-guarantee,
.kit-faq {
  padding: clamp(56px, 7vw, 94px) 20px;
  scroll-margin-top: 12px;
}

.kit-pricing { background: #f2f8f6; }

.pricing-card {
  width: min(100%, 690px);
  margin-inline: auto;
  padding: clamp(18px, 4.6vw, 40px);
  border: 1px solid #dce8e4;
  border-radius: 23px;
  background: #fff;
  box-shadow: 0 13px 38px #163b3010;
  text-align: center;
}

.pricing-art {
  display: block;
  width: min(100%, 510px);
  height: auto;
  margin-inline: auto;
}

.pricing-card h3 {
  margin: 10px 0 18px;
  font-size: clamp(1.12rem, 2.4vw, 1.45rem);
  line-height: 1.25;
}

.pricing-inclusions {
  padding: 5px 17px;
  margin: 0;
  border: 1px solid #dce8e4;
  border-radius: 13px;
  background: #fcfefd;
  list-style: none;
  text-align: left;
}

.pricing-inclusions li {
  position: relative;
  padding: 11px 0 11px 27px;
}

.pricing-inclusions li + li { border-top: 1px solid #e6efeb; }

.pricing-inclusions li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 13px;
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 5px;
  background: #197349;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
}

.pricing-inclusions strong {
  display: block;
  font-size: 0.91rem;
  line-height: 1.45;
}

.pricing-inclusions span {
  display: block;
  margin-top: 2px;
  color: var(--body);
  font-size: 0.81rem;
  line-height: 1.5;
}

.pricing-inclusions b {
  margin-left: 5px;
  color: #176543;
}

.pricing-inclusions s,
.pricing-bonus-total s {
  color: #a23632;
  text-decoration-thickness: 2px;
}

.pricing-total { margin-top: 24px; }

.pricing-bonus-total,
.pricing-terms,
.checkout-status {
  color: var(--body);
  font-size: 0.8rem;
  line-height: 1.5;
}

.pricing-bonus-total s { margin-left: 3px; font-weight: 700; }

.pricing-label {
  margin-top: 8px;
  font-size: clamp(1.03rem, 2.4vw, 1.3rem);
  font-weight: 700;
}

.pricing-amount {
  margin: 2px 0 4px;
  color: #12643c;
  font-size: clamp(3rem, 7.4vw, 4.45rem);
  font-weight: 800;
  letter-spacing: -0.055em;
  line-height: 1.03;
}

.pricing-amount span {
  font-size: 0.28em;
  font-weight: 700;
  letter-spacing: 0;
}

.checkout-button,
.checkout-button:disabled {
  margin-top: 22px;
  border: 0;
  background: linear-gradient(180deg, #16864c, #11643b);
  box-shadow: 0 8px 18px #15603a35;
  color: #fff;
  font-family: inherit;
  opacity: 1;
}

.checkout-button:disabled { cursor: not-allowed; }
.checkout-status { margin-top: 9px; }

.kit-guarantee {
  background: var(--canvas);
  text-align: center;
}

.guarantee-seal {
  display: grid;
  place-items: center;
  width: 116px;
  height: 116px;
  margin: 0 auto 24px;
  background: linear-gradient(145deg, #f5ce6b, #b97c23);
  clip-path: polygon(50% 0%, 56% 8%, 64% 2%, 68% 12%, 77% 8%, 79% 18%, 90% 16%, 89% 27%, 98% 29%, 94% 38%, 100% 44%, 95% 50%, 100% 56%, 94% 62%, 98% 71%, 89% 73%, 90% 84%, 79% 82%, 77% 92%, 68% 88%, 64% 98%, 56% 92%, 50% 100%, 44% 92%, 36% 98%, 32% 88%, 23% 92%, 21% 82%, 10% 84%, 11% 73%, 2% 71%, 6% 62%, 0% 56%, 5% 50%, 0% 44%, 6% 38%, 2% 29%, 11% 27%, 10% 16%, 21% 18%, 23% 8%, 32% 12%, 36% 2%, 44% 8%);
}

.guarantee-seal-center {
  display: grid;
  align-content: center;
  width: 88px;
  height: 88px;
  border: 3px double #ffe4a2;
  border-radius: 50%;
  background: linear-gradient(150deg, #246d62, #16473e);
  color: #fff8e1;
}

.guarantee-seal strong {
  font-size: 2.1rem;
  font-weight: 800;
  line-height: 1;
}

.guarantee-seal span {
  margin-top: 3px;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.kit-guarantee h2 {
  margin: 0 auto 15px;
  font-size: clamp(1.76rem, 3.7vw, 2.65rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.15;
  text-wrap: balance;
}

.kit-guarantee p {
  max-width: 64ch;
  margin-inline: auto;
  color: var(--body);
  font-size: clamp(0.93rem, 1.8vw, 1.04rem);
  line-height: 1.7;
}

.kit-faq { background: #f3efe9; }

.faq-list {
  display: grid;
  gap: 11px;
  width: min(100%, 740px);
  margin-inline: auto;
}

.faq-list details {
  border: 1px solid #ece7e0;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 3px 11px #372e2306;
}

.faq-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 20px;
  border-radius: inherit;
  cursor: pointer;
  font-size: 0.93rem;
  font-weight: 700;
  line-height: 1.45;
  list-style: none;
}

.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary:focus-visible { outline: 2px solid var(--teal-dark); outline-offset: 2px; }

.faq-list summary::after {
  content: "+";
  display: grid;
  place-items: center;
  flex: 0 0 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--mint);
  color: var(--teal-dark);
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1;
}

.faq-list details[open] summary::after { content: "−"; }

.faq-list details p {
  padding: 0 20px 17px;
  color: var(--body);
  font-size: 0.9rem;
  line-height: 1.65;
}

@media (max-width: 480px) {
  .kit-pricing,
  .kit-guarantee,
  .kit-faq { padding-inline: 16px; }

  .pricing-inclusions { padding-inline: 12px; }
  .faq-list summary { padding-inline: 15px; }
  .faq-list details p { padding-inline: 15px; }
}
