.wlcms_checkout-shell { min-height: 100vh; background: radial-gradient(circle at 82% 6%, rgba(103,87,232,.12), transparent 25%), var(--wlcms_color_bg); }
.wlcms_checkout-header { min-height: 74px; display: flex; align-items: center; border-bottom: 1px solid var(--wlcms_color_border); background: rgba(255,255,255,.94); backdrop-filter: blur(14px); }
.wlcms_checkout-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.wlcms_checkout-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.wlcms_checkout-brand__logo { width: 42px; }
.wlcms_checkout-brand__name { font-size: 14px; font-weight: 900; }
.wlcms_checkout-security { display: flex; align-items: center; gap: 7px; color: var(--wlcms_color_text_muted); font-size: 11px; font-weight: 750; }
.wlcms_checkout { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 42px 0 64px; }
.wlcms_checkout__back { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 18px; color: var(--wlcms_color_text_soft); font-size: 12px; font-weight: 760; text-decoration: none; }
.wlcms_checkout__grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(340px,.65fr); gap: 28px; align-items: start; }
.wlcms_checkout__section + .wlcms_checkout__section { margin-top: 18px; }
.wlcms_checkout__section-title { margin: 0 0 14px; font-size: 17px; }
.wlcms_checkout__summary { position: sticky; top: 24px; }
.wlcms_plan-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.wlcms_plan-option { position: relative; display: block; padding: 15px; border: 1px solid var(--wlcms_color_border); border-radius: var(--wlcms_radius_md); background: var(--wlcms_color_surface); cursor: pointer; }
.wlcms_plan-option:has(input:checked) { border-color: var(--wlcms_color_brand); box-shadow: 0 0 0 3px var(--wlcms_color_brand_soft); }
.wlcms_plan-option input { position: absolute; opacity: 0; pointer-events: none; }
.wlcms_plan-option__name { display: block; font-size: 13px; font-weight: 900; }
.wlcms_plan-option__price { display: block; margin-top: 5px; font-size: 21px; font-weight: 900; letter-spacing: -.035em; }
.wlcms_plan-option__price small { color: var(--wlcms_color_text_muted); font-size: 10px; font-weight: 700; }
.wlcms_plan-option__meta { display: block; margin-top: 5px; color: var(--wlcms_color_text_muted); font-size: 10px; }
.wlcms_payment-tabs { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin-bottom: 16px; }
.wlcms_payment-tabs__button { min-height: 42px; border: 1px solid var(--wlcms_color_border); border-radius: 9px; background: var(--wlcms_color_surface); color: var(--wlcms_color_text_soft); font-size: 12px; font-weight: 850; }
.wlcms_payment-tabs__button--active { border-color: var(--wlcms_color_brand); background: var(--wlcms_color_brand_soft); color: var(--wlcms_color_brand_dark); }
.wlcms_payment-panel { display: none; }
.wlcms_payment-panel--active { display: block; }
.wlcms_summary-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 9px 0; color: var(--wlcms_color_text_soft); font-size: 12px; }
.wlcms_summary-row--total { margin-top: 8px; padding-top: 16px; border-top: 1px solid var(--wlcms_color_border); color: var(--wlcms_color_text); font-size: 15px; font-weight: 900; }
.wlcms_summary-row--total strong { font-size: 22px; }
.wlcms_checkout-guarantee { display: grid; gap: 10px; margin-top: 18px; }
.wlcms_checkout-guarantee__item { display: flex; align-items: flex-start; gap: 9px; color: var(--wlcms_color_text_muted); font-size: 11px; }
.wlcms_checkout-guarantee__icon { width: 21px; height: 21px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: var(--wlcms_color_success_soft); color: var(--wlcms_color_success); font-weight: 900; }
.wlcms_checkout-success { width: min(720px, calc(100% - 32px)); margin: 0 auto; padding: 80px 0; text-align: center; }
.wlcms_checkout-success__icon { width: 70px; height: 70px; display: grid; place-items: center; margin: 0 auto 20px; border-radius: 22px; background: var(--wlcms_color_success_soft); color: var(--wlcms_color_success); font-size: 28px; font-weight: 950; }
.wlcms_checkout-success__actions { display: flex; justify-content: center; gap: 10px; margin-top: 26px; flex-wrap: wrap; }
@media (max-width: 880px) {
  .wlcms_checkout__grid { grid-template-columns: 1fr; }
  .wlcms_checkout__summary { position: static; }
}
@media (max-width: 650px) {
  .wlcms_checkout { width: min(100% - 28px, 1120px); padding-top: 28px; }
  .wlcms_plan-list { grid-template-columns: 1fr; }
  .wlcms_checkout-security { display: none; }
}

.wlcms_checkout-success__icon--waiting { background: var(--wlcms_color_surface_muted); color: var(--wlcms_color_text_muted); }

/* Spam trap: a field real visitors never see or fill in. (A class, not an inline style: our content security policy blocks those.) */
.wlcms_hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.wlcms_coupon { margin-bottom: 8px; padding-bottom: 14px; border-bottom: 1px solid var(--wlcms_color_border); }
.wlcms_coupon__row { display: flex; gap: 8px; align-items: center; }
.wlcms_coupon__row .wlcms_input { flex: 1; min-width: 0; text-transform: uppercase; }
.wlcms_coupon .wlcms_caption { min-height: 1.2em; margin: 6px 0 0; }
.wlcms_coupon__msg--ok { color: var(--wlcms_color_success, #067647); font-weight: 700; }
