/* Domain.af multi-step checkout */
.ck { padding: 1.25rem 0 3rem; }
.ck__container { width: min(1240px, calc(100% - 2rem)); margin: 0 auto; }
.ck__header { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; margin-bottom:1.25rem; }
.ck__eyebrow { margin:0 0 .35rem; color:#6b7280; font-size:.75rem; font-weight:650; letter-spacing:.04em; text-transform:uppercase; }
.ck__title { margin:0; font-size:clamp(1.4rem, 2.4vw, 1.85rem); letter-spacing:-.03em; color:#111827; }
.ck__muted { color:#6b7280; font-weight:500; font-size:.85em; }
.ck__back { color:#6b7280; text-decoration:none; font-size:.9rem; }
.ck__back:hover { color:#111827; }

.ck__steps { display:flex; flex-wrap:wrap; align-items:center; gap:.35rem .55rem; margin-bottom:1.5rem; padding: .85rem 1rem; border:1px solid #e5e7eb; border-radius:14px; background:#fff; }
.ck__step { display:inline-flex; align-items:center; gap:.45rem; color:#9ca3af; font-size:.875rem; }
.ck__step.is-current { color:#111827; font-weight:650; }
.ck__step.is-done { color:#059669; }
.ck__step-num { display:inline-grid; place-items:center; width:1.5rem; height:1.5rem; border-radius:999px; background:#f3f4f6; font-size:.75rem; font-weight:700; }
.ck__step.is-current .ck__step-num { background:#111827; color:#fff; }
.ck__step.is-done .ck__step-num { background:#d1fae5; color:#065f46; }
.ck__step-sep { width:1.25rem; height:1px; background:#e5e7eb; }
.ck__alert { margin-bottom:1rem; padding:.85rem 1rem; border-radius:12px; background:#fef2f2; color:#991b1b; }
.ck__alert--ok { background:#ecfdf5; color:#065f46; }
.ck__alert p { margin:.15rem 0; }

.ck__layout { display:grid; gap:1.25rem; }
@media (min-width: 960px) {
  .ck__layout { grid-template-columns: minmax(0, 1.7fr) minmax(280px, .9fr); align-items:start; gap:1.5rem; }
  .ck__summary { position:sticky; top:1rem; }
}

.ck-panel, .ck-summary { border:1px solid #e5e7eb; border-radius:16px; background:#fff; padding:1.25rem 1.35rem; }
.ck-panel__title { margin:0 0 .35rem; font-size:1.15rem; letter-spacing:-.02em; }
.ck-panel__lead { margin:0 0 1.15rem; color:#6b7280; font-size:.9375rem; }
.ck-subtitle { margin:1.25rem 0 .75rem; font-size:1rem; }

.ck-summary__title { margin:0 0 1rem; font-size:1.05rem; }
.ck-summary__items { list-style:none; margin:0; padding:0; display:grid; gap:.85rem; }
.ck-summary__items li { display:flex; justify-content:space-between; gap:1rem; padding-bottom:.85rem; border-bottom:1px solid #f3f4f6; }
.ck-summary__meta { display:block; color:#6b7280; font-size:.8125rem; margin-top:.2rem; }
.ck-summary__totals { margin:1rem 0 1.15rem; }
.ck-summary__totals > div { display:flex; justify-content:space-between; gap:1rem; margin:.35rem 0; color:#4b5563; font-size:.9rem; }
.ck-summary__due { margin-top:.65rem !important; padding-top:.65rem; border-top:1px solid #e5e7eb; color:#111827 !important; font-weight:700; font-size:1rem !important; }
.ck-promo { margin: .25rem 0 1rem; padding-top: .85rem; border-top: 1px solid #f3f4f6; }
.ck-promo__label { font-size: .75rem; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; color: #6b7280; margin-bottom: .45rem; }
.ck-promo__form { display: flex; gap: .5rem; }
.ck-promo__input { flex: 1; min-width: 0; border: 1px solid #e5e7eb; border-radius: 10px; padding: .55rem .7rem; font: inherit; }
.ck-promo__applied { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .6rem; margin-top: .45rem; color: #065f46; font-size: .9rem; }
.ck-promo__remove { border: 0; background: transparent; color: #6b7280; cursor: pointer; text-decoration: underline; font: inherit; }
.ck-promo__notice { margin: .4rem 0 0; color: #991b1b; font-size: .85rem; }
.ck-promo__ok { margin: .4rem 0 0; color: #065f46; font-size: .85rem; }
.ck-summary__prev { display:inline-block; margin-top:.85rem; color:#6b7280; font-size:.875rem; text-decoration:none; }

.ck-btn { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:2.6rem; padding:.65rem 1.1rem; border-radius:10px; border:1px solid transparent; font:inherit; font-weight:650; text-decoration:none; cursor:pointer; }
.ck-btn--primary { background:#111827; color:#fff; }
.ck-btn--primary:hover { background:#000; color:#fff; }
.ck-btn--secondary { background:#fff; border-color:#e5e7eb; color:#111827; }
.ck-btn--block { width:100%; }
.ck-btn-row { display:flex; flex-wrap:wrap; gap:.65rem; }

.ck-grid { display:grid; gap:.85rem; }
@media (min-width: 640px) {
  .ck-grid { grid-template-columns: 1fr 1fr; }
  .ck-grid--3 { grid-template-columns: 1fr 1fr 1fr; }
}
.ck-field--full { grid-column: 1 / -1; }
.ck-label { display:block; margin-bottom:.35rem; font-size:.8125rem; font-weight:600; color:#374151; }
.ck-input, .ck-select {
  width:100%; min-height:2.55rem; padding:.55rem .75rem; border:1px solid #d1d5db; border-radius:10px;
  background:#fff; color:#111827; font:inherit;
}
.ck-input:focus, .ck-select:focus { outline:2px solid #111827; outline-offset:1px; border-color:#111827; }
.ck-hint { margin:.85rem 0 0; color:#6b7280; font-size:.875rem; }
.ck-check, .ck-toggle { display:flex; gap:.65rem; align-items:flex-start; margin-top:1rem; font-size:.9rem; }
.ck-toggle small { display:block; color:#6b7280; margin-top:.2rem; }

.ck-domain-card { padding:1rem; border:1px solid #e5e7eb; border-radius:14px; background:#fafafa; margin-bottom:1rem; }
.ck-domain-card__head { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; }
.ck-domain-card h3 { margin:0 0 .25rem; font-size:1.15rem; }
.ck-badge { display:inline-flex; padding:.15rem .5rem; border-radius:999px; font-size:.75rem; font-weight:650; }
.ck-badge--ok { background:#d1fae5; color:#065f46; }

.ck-years { display:grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap:.55rem; margin-top:.5rem; }
.ck-year { position:relative; display:flex; flex-direction:column; gap:.2rem; padding:.85rem .75rem; border:1px solid #e5e7eb; border-radius:12px; background:#fff; cursor:pointer; }
.ck-year input {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  opacity:0;
  cursor:pointer;
}
.ck-year:has(input:checked) { border-color:#111827; box-shadow:0 0 0 1px #111827; }
.ck-year:has(input:focus-visible) { outline:2px solid #111827; outline-offset:2px; }
.ck-year__term { font-weight:650; color:#111827; }
.ck-year__price { color:#6b7280; font-size:.875rem; }

.ck-contact-block { margin-top:1.25rem; padding-top:1rem; border-top:1px solid #f3f4f6; }
.ck-contact-block__head { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.75rem; align-items:center; margin-bottom:.5rem; }
.ck-contact-block__head .ck-subtitle { margin:0; }

.ck-radio-cards { display:grid; gap:.65rem; margin:1rem 0; }
.ck-radio-card { display:flex; gap:.75rem; align-items:flex-start; padding:1rem; border:1px solid #e5e7eb; border-radius:12px; background:#fff; cursor:pointer; }
.ck-radio-card.is-selected { border-color:#111827; box-shadow:0 0 0 1px #111827; }
.ck-radio-card.is-disabled { opacity:.55; cursor:not-allowed; }
.ck-radio-card strong { display:block; margin-bottom:.2rem; }
.ck-radio-card small { display:block; color:#6b7280; }
.ck-radio-card code { display:block; margin-top:.45rem; font-size:.8rem; color:#374151; }

.ck-review-block { padding:1rem 0; border-bottom:1px solid #f3f4f6; }
.ck-review-block__head { display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.ck-review-block__head h3, .ck-review-block h3 { margin:0; font-size:1rem; }
.ck-review-block__head a { font-size:.875rem; color:#2563eb; text-decoration:none; }
.ck-review-dl { margin:.75rem 0 0; display:grid; gap:.45rem; }
.ck-review-dl > div { display:grid; grid-template-columns: 10rem 1fr; gap:.75rem; font-size:.9rem; }
.ck-review-dl dt { color:#6b7280; }
.ck-review-dl dd { margin:0; color:#111827; }
.ck-ns-list { list-style:none; margin:.75rem 0 0; padding:0; display:grid; gap:.35rem; }
.ck-ns-list code { font-size:.875rem; }

.ck-pay-card { display:grid; grid-template-columns:1fr 1fr; gap:1rem; padding:1rem; border-radius:12px; background:#f9fafb; margin-bottom:1rem; }
.ck-pay-amount { font-size:1.4rem; font-weight:700; letter-spacing:-.03em; }

.ck-timeline { display:grid; gap:.55rem; margin-top:1rem; }
.ck-timeline__item { display:flex; align-items:center; gap:.65rem; color:#9ca3af; font-size:.9rem; }
.ck-timeline__item span { width:.7rem; height:.7rem; border-radius:999px; background:#e5e7eb; }
.ck-timeline__item.is-done { color:#065f46; }
.ck-timeline__item.is-done span { background:#10b981; }
.ck-timeline__item.is-current { color:#111827; font-weight:650; }
.ck-timeline__item.is-current span { background:#111827; }

@media (max-width: 639px) {
  .ck-review-dl > div { grid-template-columns: 1fr; gap:.15rem; }
  .ck-pay-card { grid-template-columns: 1fr; }
  .ck__step-label { display:none; }
  .ck__step.is-current .ck__step-label { display:inline; }
}
