.payment-content {
  display:grid;
  gap:16px;
  font-size:15px;
  line-height:1.5;
  color:#f4f7f8;
}

.payment-content p {
  margin:8px 0;
}

.payment-content h3 {
  margin:4px 0;
  font-size:24px;
}

.payment-content button,.payment-content summary {
  font:inherit;
  min-height:44px;
  cursor:pointer;
}

.payment-content button {
  border:1px solid #35414b;
  border-radius:12px;
  padding:10px 14px;
  color:inherit;
  background:#202830;
}

.payment-content button:disabled {
  opacity:.45;
  cursor:default;
}

.payment-card {
  padding:20px;
  border:1px solid #526057;
  border-radius:20px;
  background:#171e24;
}

.payment-badge {
  color:#f4c45f;
  font-size:14px;
  font-weight:700;
}

.payment-price {
  display:block;
  font-size:24px;
  margin:18px 0;
}

.payment-period {
  display:flex;
  margin:16px 0;
  padding:4px;
  background:#101419;
  border-radius:14px;
  gap:4px;
}

.payment-period button {
  flex:1;
  background:none;
  border-color:transparent;
}

.payment-period .is-active {
  background:#29332f;
  color:#43d6b5;
}

.payment-content .payment-buy {
  width:100%;
  background:#43d6b5;
  color:#071813;
  border:0;
  font-weight:700;
}

.payment-note,.payment-status {
  color:#aebbbf;
  font-size:14px;
}

.payment-studio {
  border:1px solid #35414b;
  border-radius:14px;
  padding:10px 14px;
}

.payment-studio summary {
  display:flex;
  align-items:center;
}

.payment-studio summary::after {
  content:'＋';
  margin-left:auto;
}

.payment-studio[open] summary::after {
  content:'−';
}

.payment-content .payment-link {
  background:transparent;
  border:0;
  text-decoration:underline;
  color:#aebbbf;
  justify-self:start;
}

.payment-terms {
  display:flex;
  gap:10px;
  align-items:center;
  min-height:48px;
}

.payment-terms input {
  width:22px;
  height:22px;
  flex-shrink:0;
  accent-color:#43d6b5;
}

.payment-terms a {
  display:inline-block;
  min-height:44px;
  line-height:44px;
  color:#43d6b5;
}

.payment-status {
  min-height:44px;
}

.payment-content :focus-visible {
  outline:2px solid #43d6b5;
  outline-offset:3px;
}

.pricing-page {
  margin:0;
  background:#101419;
  color:#f4f7f8;
  font-family:Inter,system-ui,sans-serif;
  color-scheme:dark;
}

.pricing-page main {
  width:min(430px,calc(100% - 32px));
  margin:24px auto;
  padding-bottom:env(safe-area-inset-bottom,16px);
}

.pricing-page header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:24px;
}

.pricing-page header a {
  color:#43d6b5;
}

.pricing-page h1 {
  font-size:22px;
}
