.ksr-registration {
    --ink: #17231f;
    --muted: #5c6863;
    --paper: #f3f1e9;
    --surface: #fff;
    --line: #d9d8d0;
    --accent: var(--brand-yellow, #d0b826);
    --accent-soft: #f3edc8;
    margin: 0;
    color: var(--ink);
    background: var(--paper);
    font-family: var(--font-body, Georgia, "Times New Roman", serif);
}

.ksr-registration-header {
    border-bottom: 5px solid var(--brand-yellow, #d0b826);
    background: var(--ink);
}

.ksr-registration-header a {
    display: flex;
    width: min(1120px, calc(100% - 30px));
    min-height: 78px;
    margin: 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #fff;
    font-family: var(--font-heading, Arial, sans-serif);
    text-decoration: none;
}

.ksr-registration-header span {
    font-size: clamp(1.15rem, 3vw, 1.5rem);
    font-weight: 850;
    letter-spacing: -.025em;
}

.ksr-registration-header small {
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ksr-registration .wrap { width: min(1040px, calc(100% - 30px)); }
.ksr-registration .head > div,
.ksr-registration .head h1,
.ksr-registration .panel > h2,
.ksr-registration .choice strong,
.ksr-registration label,
.ksr-registration button,
.ksr-registration .steps,
.ksr-registration .order-total,
.ksr-registration .payment,
.ksr-registration .order-review h3,
.ksr-registration .card h1,
.ksr-registration .number { font-family: var(--font-heading, Arial, sans-serif); }

.ksr-registration .head > div {
    color: var(--muted);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ksr-registration .head h1,
.ksr-registration .card h1 {
    color: var(--ink);
    text-transform: var(--heading-transform, uppercase);
}

.ksr-registration .panel,
.ksr-registration .card {
    border-radius: 0;
    border-color: var(--line);
    box-shadow: 0 10px 30px rgba(23,35,31,.08);
}

.ksr-registration .panel > h2,
.ksr-registration .order-review h3 { background: #ecebe5; }
.ksr-registration button:not(.back) { background: var(--brand-yellow, #d0b826); color: var(--ink); }
.ksr-registration button:not(.back):hover { background: var(--ink); color: #fff; }
.ksr-registration .back { background: #e8e6de; color: var(--ink); }
.ksr-registration input:focus-visible,
.ksr-registration button:focus-visible,
.ksr-registration summary:focus-visible,
.ksr-registration-header a:focus-visible { outline: 3px solid var(--brand-blue, #59c6e5); outline-offset: 3px; }
.ksr-registration .steps span.on { background: var(--ink); color: #fff; }
.ksr-registration .steps span.done { background: var(--accent-soft); color: var(--ink); }
.ksr-registration .selected-customer { background: #edf6f8; border-color: var(--brand-blue, #59c6e5); }
.ksr-registration .payment { background: var(--ink); }
.ksr-registration .card { margin-top: 48px; }

@media (max-width: 620px) {
    .ksr-registration-header a { min-height: 62px; }
    .ksr-registration-header small { display: none; }
    .ksr-registration .wrap { margin-top: 28px; }
    .ksr-registration .head h1 { font-size: clamp(2rem, 10vw, 3rem); }
}

