.iepro-embedded-checkout {
  --iepro-spacing: 24px;
  --iepro-card-radius: 16px;
  --iepro-card-border: 1px solid var(--ie-color-border, rgba(15, 23, 42, 0.08));
  --iepro-card-background: var(--ie-color-surface, #ffffff);
  --iepro-muted: var(--ie-color-muted, rgba(15, 23, 42, 0.64));
  --iepro-accent: var(--ie-color-wash, rgba(37, 99, 235, 0.12));
  --iepro-accent-strong: var(--ie-color-accent, #2563eb);
  --iepro-accent-secondary: var(--ie-color-accent-secondary, var(--iepro-accent-strong));
  --iepro-accent-secondary-rgb: var(--ie-color-accent-secondary-rgb, var(--ie-color-accent-rgb, 37, 99, 235));
  color: var(--ie-color-text, #0f172a);
}

.iepro-embedded-checkout__layout {
  display: flex;
  flex-direction: column;
  gap: var(--iepro-spacing);
}

.iepro-embedded-checkout__stripe {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.iepro-embedded-checkout__stripe-mount {
  min-height: 320px;
}

.iepro-embedded-checkout__status-container {
  order: -1;
}

.iepro-embedded-checkout__status {
  display: block;
  padding: 12px 16px;
  border-radius: 12px;
  background: var(--iepro-accent);
  font-weight: 500;
}

.iepro-embedded-checkout--error .iepro-embedded-checkout__status {
  background: rgba(220, 38, 38, 0.12);
  color: var(--ie-color-danger-strong, #991b1b);
}

.iepro-embedded-checkout--loading .iepro-embedded-checkout__status,
.iepro-embedded-checkout--processing .iepro-embedded-checkout__status {
  background: var(--iepro-accent);
  color: var(--ie-color-accent-strong, #1d4ed8);
}

.iepro-embedded-checkout__details {
  flex: 0 0 320px;
}

.iepro-class-details {
  background-color: var(--iepro-card-background);
  background-image: linear-gradient(
    145deg,
    rgba(var(--iepro-accent-secondary-rgb), 0.08),
    rgba(var(--iepro-accent-secondary-rgb), 0.02)
  );
  border: var(--iepro-card-border);
  border-radius: 18px;
  box-shadow: 0 28px 60px -34px rgba(15, 23, 42, 0.55);
  padding: 28px 32px 26px;
  position: relative;
  overflow: hidden;
}

.iepro-class-details::after {
  background: linear-gradient(90deg, var(--ie-color-accent, #2563eb), var(--iepro-accent-secondary));
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.iepro-class-details__heading {
  color: var(--iepro-muted);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  margin: 0 0 0.75rem;
  text-transform: uppercase;
}

.iepro-class-details__subtitle {
  color: var(--ie-color-text, #0f172a);
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.35;
  margin: 0 0 1.5rem;
  position: relative;
  z-index: 1;
}

.iepro-class-details__list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
}

.iepro-class-details__row {
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  align-items: flex-start;
}

.iepro-class-details__row + .iepro-class-details__row {
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  padding-top: 1.25rem;
}

.iepro-class-details__label {
  color: var(--ie-color-muted, rgba(100, 116, 139, 0.9));
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.iepro-class-details__value {
  color: var(--ie-color-text, #0f172a);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: right;
}

.iepro-class-details__value > span {
  display: block;
}

.iepro-class-details__value > span + span {
  color: var(--ie-color-muted, rgba(15, 23, 42, 0.7));
  font-weight: 500;
  margin-top: 0.2rem;
}

.iepro-class-details__empty {
  color: var(--iepro-muted);
  font-size: 0.95rem;
  line-height: 1.5;
  margin: 0;
  position: relative;
  z-index: 1;
}
form#subscription-form .field {
  margin-bottom: 15px;
}
form#subscription-form .label {
  font-weight: bold;
  margin-bottom: 5px;
  display: block;
}
form#subscription-form .StripeElement {
  padding: 10px;
  border: 1px solid var(--ie-color-border, #ccc);
  border-radius: 6px;
}
form#subscription-form .field-wrap {
  display: grid;
  gap: 12px;
}
form#subscription-form .field-wrap input {
  width: 100%;
  min-width: 0;
  border-radius: 1px;
  border: 1px solid var(--ie-color-border, #d6d6d6);
  border-radius: 5px;
}
form#subscription-form #pay-btn {
  margin-top: 15px;
}

form#subscription-form div#card-errors {
  color: red;
}
.iepro-checkout-summary .ie-card.iepro-checkout-summary__card dd del.iepro-old-price {
    color: red;
}
.iepro-checkout-summary .ie-card.iepro-checkout-summary__card dd span.iepro-new-price {
    color: #00d66f;
}
@media (min-width: 960px) {
  .iepro-embedded-checkout__layout {
    flex-direction: row;
    align-items: flex-start;
  }

  .iepro-embedded-checkout__stripe {
    flex: 1 1 520px;
  }

  .iepro-embedded-checkout__details {
    position: sticky;
    top: 24px;
  }
}

@media (max-width: 639px) {
  .iepro-class-details {
    padding: 22px 22px 20px;
  }

  .iepro-class-details__heading {
    font-size: 0.7rem;
  }

  .iepro-class-details__row {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.75rem;
  }

  .iepro-class-details__value {
    text-align: left;
  }
}
