/* 2026 registration UX refresh — visual rules only. */
.samelan-modern-registration .mysale-container {
    --samelan-primary: #9b5d16;
    --samelan-primary-dark: #70400c;
    --samelan-accent: #e5a23e;
    --samelan-ink: #243147;
    --samelan-muted: #687184;
    --samelan-border: #e2e7ed;
    --samelan-surface: #ffffff;
    max-width: 1120px;
    margin: 32px auto;
    padding: 28px;
    color: var(--samelan-ink);
    background: #f7f8fa;
    border: 1px solid #edf0f3;
    border-radius: 20px;
    box-shadow: 0 18px 55px rgba(35, 49, 71, .08);
}
.samelan-modern-registration .mysale-container .step-indicator {
    height: auto;
    gap: 8px;
    margin: 0 0 26px;
    padding: 7px;
    background: #fff;
    border: 1px solid var(--samelan-border);
    border-radius: 14px;
}
.samelan-modern-registration .mysale-container .step { min-width: 0; }
.samelan-modern-registration .mysale-container .step-content,
.samelan-modern-registration .mysale-container .step.active .step-content {
    min-height: 58px;
    padding: 9px 13px;
    color: var(--samelan-muted);
    background: transparent;
    border-radius: 9px !important;
}
.samelan-modern-registration .mysale-container .step.active .step-content {
    color: #fff;
    background: linear-gradient(135deg, var(--samelan-primary-dark), var(--samelan-primary));
    box-shadow: 0 6px 15px rgba(112, 64, 12, .22);
}
.samelan-modern-registration .mysale-container .step:not(:last-child) .step-content::after { display: none; }
.samelan-modern-registration .mysale-container .step-number { font-size: 11px; text-transform: uppercase; letter-spacing: .7px; opacity: .78; }
.samelan-modern-registration .mysale-container .step-title { overflow: hidden; font-size: 14px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.samelan-modern-registration .mysale-container .participant-form,
.samelan-modern-registration .mysale-container .sponsorship-form,
.samelan-modern-registration .mysale-container .payment-section,
.samelan-modern-registration .mysale-container #step2 > * {
    overflow: hidden;
    background: var(--samelan-surface);
    border: 1px solid var(--samelan-border);
    border-radius: 15px;
    box-shadow: 0 5px 18px rgba(36, 49, 71, .05);
}
.samelan-modern-registration .mysale-container .participant-form:hover { box-shadow: 0 8px 24px rgba(36, 49, 71, .08); }
.samelan-modern-registration .mysale-container .form-header {
    padding: 17px 22px;
    color: var(--samelan-ink);
    background: linear-gradient(100deg, #fff9ef, #f7ead3);
    border-bottom: 1px solid #efdfc3;
}
.samelan-modern-registration .mysale-container .form-title { font-size: 18px; font-weight: 750; }
.samelan-modern-registration .mysale-container .form-content { padding: 24px 22px 8px; }
.samelan-modern-registration .mysale-container .form-group { margin-bottom: 19px; }
.samelan-modern-registration .mysale-container .form-group label { margin-bottom: 7px; color: #3d485a; font-size: 13px; font-weight: 650; }
.samelan-modern-registration .mysale-container .form-control,
.samelan-modern-registration .mysale-container .custom-select,
.samelan-modern-registration .mysale-container input[type="date"] {
    min-height: 47px;
    padding: 10px 12px;
    color: var(--samelan-ink);
    background-color: #fff;
    border: 1px solid #cbd3dc;
    border-radius: 8px;
    box-shadow: none;
}
.samelan-modern-registration .mysale-container textarea.form-control { min-height: 92px; }
.samelan-modern-registration .mysale-container .form-control:focus,
.samelan-modern-registration .mysale-container .custom-select:focus,
.samelan-modern-registration .mysale-container input[type="date"]:focus {
    border-color: var(--samelan-primary);
    box-shadow: 0 0 0 3px rgba(155, 93, 22, .13);
}
.samelan-modern-registration .mysale-container .is-invalid { border-color: #c9352b !important; box-shadow: 0 0 0 3px rgba(201, 53, 43, .1); }
.samelan-modern-registration .mysale-container .btn {
    min-height: 43px;
    padding: 10px 18px;
    border-radius: 8px;
    text-transform: none;
    letter-spacing: 0;
    font-size: 14px;
    font-weight: 700;
    box-shadow: none;
}
.samelan-modern-registration .mysale-container .btn:hover { transform: translateY(-1px); }
.samelan-modern-registration .mysale-container .btn-primary,
.samelan-modern-registration .mysale-container #nextBtn,
.samelan-modern-registration .mysale-container #submitPayment { color: #fff; background: var(--samelan-primary); }
.samelan-modern-registration .mysale-container .btn-primary:hover,
.samelan-modern-registration .mysale-container #nextBtn:hover,
.samelan-modern-registration .mysale-container #submitPayment:hover { background: var(--samelan-primary-dark); }
.samelan-modern-registration .mysale-container #prevBtn { color: #495365; background: #fff; border: 1px solid #cbd3dc; }
.samelan-modern-registration .mysale-container #addParticipant { color: var(--samelan-primary-dark); background: #fff8e9; border: 1px dashed #d59a45; }
.samelan-modern-registration .mysale-container .btn-toggle { min-height: 34px; padding: 6px 11px; color: #775421; background: rgba(255,255,255,.78); border: 1px solid #dfc496; }
.samelan-modern-registration .mysale-container .btn-remove { color: #a12c24; background: #fff; border: 1px solid #e7aaa5; }
.samelan-modern-registration .mysale-container .sponsorship-form,
.samelan-modern-registration .mysale-container .payment-section { padding: 24px; }
.samelan-modern-registration .mysale-container .sponsorship-form h2,
.samelan-modern-registration .mysale-container .payment-section h2 { margin: 0 0 18px; color: var(--samelan-ink); font-size: 22px; text-transform: none; }
.samelan-modern-registration .mysale-container .payment-section h3 { margin: 0 0 22px; padding: 18px; color: var(--samelan-primary-dark); background: #fff8e9; border: 1px solid #eed7ac; border-radius: 11px; }
.samelan-modern-registration .mysale-container .table-responsive { border: 1px solid var(--samelan-border); border-radius: 11px; }
.samelan-modern-registration .mysale-container .table { margin: 0; background: #fff; }
.samelan-modern-registration .mysale-container .table thead th { padding: 13px 11px; color: #465063; background: #f4f6f8; border: 0; font-size: 12px; text-transform: uppercase; letter-spacing: .35px; }
.samelan-modern-registration .mysale-container .table td { padding: 12px 11px; vertical-align: middle; border-color: #edf0f3; }
.samelan-modern-registration .mysale-container .payment-options { display: grid; gap: 12px; }
.samelan-modern-registration .mysale-container .payment-option { position: relative; }
.samelan-modern-registration .mysale-container .payment-option input { position: absolute; opacity: 0; }
.samelan-modern-registration .mysale-container .payment-option label { display: block; margin: 0; padding: 16px 18px 16px 48px; background: #fff; border: 1px solid #cbd3dc; border-radius: 10px; cursor: pointer; font-weight: 700; }
.samelan-modern-registration .mysale-container .payment-option label::before { content: ''; position: absolute; left: 17px; top: 17px; width: 19px; height: 19px; border: 2px solid #9aa5b2; border-radius: 50%; }
.samelan-modern-registration .mysale-container .payment-option input:checked + label { color: var(--samelan-primary-dark); background: #fff8e9; border-color: #d79d49; box-shadow: 0 0 0 2px rgba(215,157,73,.12); }
.samelan-modern-registration .mysale-container .payment-option input:checked + label::before { border: 6px solid var(--samelan-primary); }
.samelan-modern-registration .mysale-container .bank-logos { padding: 14px; text-align: center; background: #fff; border: 1px solid var(--samelan-border); border-radius: 10px; }
.samelan-modern-registration .mysale-container .bank-logos img { max-width: 100%; height: auto; }
.samelan-modern-registration .mysale-container > .row.mt-3 { align-items: center; margin-top: 22px !important; padding-top: 19px; border-top: 1px solid var(--samelan-border); }

@media (max-width: 768px) {
    .samelan-modern-registration .mysale-container { margin: 14px auto; padding: 14px; border-radius: 13px; }
    .samelan-modern-registration .mysale-container .step-indicator { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; }
    .samelan-modern-registration .mysale-container .step { margin: 0; }
    .samelan-modern-registration .mysale-container .step-content,
    .samelan-modern-registration .mysale-container .step.active .step-content { min-height: 48px; justify-content: center; padding: 7px 5px; text-align: center; }
    .samelan-modern-registration .mysale-container .step-title { font-size: 10px; }
    .samelan-modern-registration .mysale-container .step-number { font-size: 9px; }
    .samelan-modern-registration .mysale-container .form-title-container { align-items: center; flex-direction: row; }
    .samelan-modern-registration .mysale-container .form-actions { align-self: auto; margin-top: 0; }
    .samelan-modern-registration .mysale-container .form-content { padding: 18px 14px 3px; }
    .samelan-modern-registration .mysale-container .sponsorship-form,
    .samelan-modern-registration .mysale-container .payment-section { padding: 18px 14px; }
    .samelan-modern-registration .mysale-container > .row.mt-3 .col-md-6 { width: 50%; }
    .samelan-modern-registration .mysale-container #prevBtn,
    .samelan-modern-registration .mysale-container #nextBtn,
    .samelan-modern-registration .mysale-container #submitPayment { margin: 0; }
}

/* Keep AJAX-retrieved and dynamically-added participant sections consistent. */
.samelan-modern-registration #samelanDonationForm > .participant-form {
    position: relative;
    margin-bottom: 18px;
    animation: samelan-card-in .24s ease-out;
}
.samelan-modern-registration #samelanDonationForm > .participant-form.child-form {
    border-left: 4px solid var(--samelan-accent);
}
.samelan-modern-registration .participant-form.child-form .form-header {
    background: linear-gradient(100deg, #fffaf2, #f8efe0);
}
.samelan-modern-registration .participant-form .form-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}
.samelan-modern-registration .participant-form .form-actions > label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0 6px 0 0;
    padding: 7px 10px;
    color: #5e4a2c;
    background: rgba(255,255,255,.76);
    border: 1px solid #e4cfa9;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 650;
    cursor: pointer;
}
.samelan-modern-registration .participant-form .use-main-address {
    width: 17px;
    height: 17px;
    margin: 0;
    accent-color: var(--samelan-primary);
}
.samelan-modern-registration .participant-form .parents-fields,
.samelan-modern-registration .participant-form .guardian-fields,
.samelan-modern-registration .participant-form .emergency-contact-fields {
    margin: 4px 0 18px;
    padding: 18px 16px 1px;
    background: #fafbfc;
    border: 1px solid #e5e9ee;
    border-radius: 11px;
}
.samelan-modern-registration #step2 {
    padding: 24px;
    background: #fff;
    border: 1px solid var(--samelan-border);
    border-radius: 15px;
    box-shadow: 0 5px 18px rgba(36,49,71,.05);
}
.samelan-modern-registration #step2:empty { display: none; }
.samelan-modern-registration #step2 h2 {
    margin: 0 0 18px;
    color: var(--samelan-ink);
    font-size: 22px;
}
.samelan-modern-registration #step2 .form-check {
    width: 100%;
    padding: 15px 16px 15px 44px;
    background: #fff8e9;
    border: 1px solid #eed7ac;
    border-radius: 10px;
}
.samelan-modern-registration #step2 .form-check-input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0 -28px;
    accent-color: var(--samelan-primary);
}
.samelan-modern-registration #step2 .form-check-label { color: #4b5565; line-height: 1.55; }
.samelan-modern-registration #step2 .text-primary { color: var(--samelan-primary) !important; font-weight: 700; }
@keyframes samelan-card-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 768px) {
    .samelan-modern-registration .participant-form .form-title-container { align-items: flex-start; gap: 12px; flex-direction: column; }
    .samelan-modern-registration .participant-form .form-actions { width: 100%; justify-content: flex-start; flex-wrap: wrap; }
    .samelan-modern-registration .participant-form .form-actions > label { width: 100%; }
    .samelan-modern-registration #step2 { padding: 18px 14px; }
}

/* Full modern canvas: designed to sit comfortably on a white WordPress page. */
.samelan-modern-registration {
    position: relative;
    isolation: isolate;
    max-width: 1240px;
    margin: 28px auto;
    padding: clamp(18px, 3vw, 42px);
    overflow: hidden;
    background:
        radial-gradient(circle at 92% 4%, rgba(236,178,82,.28), transparent 28%),
        radial-gradient(circle at 4% 94%, rgba(25,92,125,.13), transparent 30%),
        linear-gradient(145deg, #f8f3ea 0%, #eef3f5 52%, #f8f5ef 100%);
    border: 1px solid #e5dac9;
    border-radius: 26px;
    box-shadow: 0 24px 70px rgba(50,43,31,.13);
}
.samelan-modern-registration::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -100px;
    right: -90px;
    width: 270px;
    height: 270px;
    border: 52px solid rgba(255,255,255,.28);
    border-radius: 50%;
}
.samelan-modern-registration .mysale-container {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

/* Step 2: registration review. */
.samelan-modern-registration #step2 {
    position: relative;
    padding: clamp(20px, 3vw, 32px);
    border: 1px solid rgba(255,255,255,.85);
    border-radius: 18px;
    box-shadow: 0 15px 38px rgba(35,49,71,.1);
}
.samelan-modern-registration #step2 h2::before {
    content: '✓';
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-right: 10px;
    color: #fff;
    background: #297a48;
    border-radius: 10px;
    font-size: 17px;
    vertical-align: middle;
}
.samelan-modern-registration #step2 .table-responsive {
    overflow: hidden;
    border: 1px solid #dfe5ea;
    border-radius: 13px;
}
.samelan-modern-registration #step2 .table thead th { background: #edf3f5; }
.samelan-modern-registration #step2 .table tbody tr:not(:last-child):hover { background: #fffaf1; }
.samelan-modern-registration #step2 .table tbody tr:last-child {
    color: #fff;
    background: linear-gradient(100deg, #173f53, #235e78);
}
.samelan-modern-registration #step2 .table tbody tr:last-child td { border: 0; font-size: 16px; }
.samelan-modern-registration #step2 .form-check { margin-top: 22px; }

/* Step 3: sponsorship catalogue. */
.samelan-modern-registration #step3 .sponsorship-form {
    position: relative;
    padding: clamp(20px, 3vw, 32px);
    border: 1px solid rgba(255,255,255,.85);
    border-radius: 18px;
    box-shadow: 0 15px 38px rgba(35,49,71,.1);
}
.samelan-modern-registration #step3 .sponsorship-form h2 {
    display: flex;
    align-items: center;
    gap: 11px;
}
.samelan-modern-registration #step3 .sponsorship-form h2::before {
    content: '♡';
    display: inline-grid;
    place-items: center;
    width: 36px;
    height: 36px;
    color: #9b5d16;
    background: #fff3dc;
    border-radius: 10px;
    font-size: 22px;
}
.samelan-modern-registration #step3 .table-responsive {
    max-height: 620px;
    overflow: auto;
    border-radius: 13px;
}
.samelan-modern-registration #step3 .table thead {
    position: sticky;
    z-index: 2;
    top: 0;
}
.samelan-modern-registration #step3 .table tbody tr:nth-child(even) { background: #fafbfc; }
.samelan-modern-registration #step3 .table tbody tr:hover { background: #fff8e9; }
.samelan-modern-registration #step3 .table td:nth-child(2) { color: #26394a; font-weight: 700; }
.samelan-modern-registration #step3 .table td:nth-child(3) { color: #687184; font-size: 13px; }
.samelan-modern-registration #step3 .table input {
    min-width: 86px;
    min-height: 40px;
    background: #fff;
}
.samelan-modern-registration #step3 .table input[readonly] { color: #566272; background: #f1f4f6; }
.samelan-modern-registration #step3 .table tbody tr:last-child {
    position: sticky;
    bottom: 0;
    color: #fff;
    background: #173f53;
    box-shadow: 0 -5px 16px rgba(23,63,83,.16);
}
.samelan-modern-registration #step3 .table tbody tr:last-child td { border: 0; }
.samelan-modern-registration #step3 .table tbody tr:last-child input { color: #173f53; font-size: 16px; font-weight: 800; }

/* Step 4: payment confirmation. */
.samelan-modern-registration #step4 .payment-section {
    padding: clamp(22px, 4vw, 38px);
    background: linear-gradient(145deg, #fff, #fbfcfd);
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 18px;
    box-shadow: 0 15px 38px rgba(35,49,71,.1);
}
.samelan-modern-registration #step4 .payment-section h3 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 28px;
    padding: 22px 24px;
    color: #fff;
    background: linear-gradient(110deg, #173f53, #24657f);
    border: 0;
    border-radius: 14px;
    box-shadow: 0 10px 25px rgba(23,63,83,.2);
}
.samelan-modern-registration #step4 #totalPrice { font-size: 27px; letter-spacing: -.5px; }
.samelan-modern-registration #step4 .payment-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}
.samelan-modern-registration #step4 .bank-logos { grid-column: 1 / -1; }
.samelan-modern-registration #step4 .payment-option label {
    min-height: 66px;
    display: flex;
    align-items: center;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.samelan-modern-registration #step4 .payment-option label:hover { transform: translateY(-2px); border-color: #d59a45; }
.samelan-modern-registration > .mysale-container > .row.mt-3 {
    position: sticky;
    z-index: 10;
    bottom: 12px;
    margin-right: 0;
    margin-left: 0;
    padding: 13px;
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(214,220,226,.9);
    border-radius: 13px;
    box-shadow: 0 10px 30px rgba(35,49,71,.14);
    backdrop-filter: blur(12px);
}

@media (max-width: 768px) {
    .samelan-modern-registration { margin: 10px auto; padding: 12px; border-radius: 16px; }
    .samelan-modern-registration #step4 .payment-options { grid-template-columns: 1fr; }
    .samelan-modern-registration #step4 .payment-section h3 { align-items: flex-start; flex-direction: column; padding: 18px; }
    .samelan-modern-registration #step3 .table-responsive { max-height: none; }
    .samelan-modern-registration #step2 .table-responsive { overflow-x: auto; }
    .samelan-modern-registration #step2 .table { min-width: 620px; }
    .samelan-modern-registration > .mysale-container > .row.mt-3 { bottom: 5px; }
}

/* Final interaction and hierarchy pass. */
.samelan-modern-registration .step.is-complete .step-content { color: #27633f; background: #e8f4ec; }
.samelan-modern-registration .step.is-complete .step-number::before { content: '✓ '; font-weight: 900; }
.samelan-modern-registration .modern-section-heading {
    margin: 8px 10px 20px;
    padding: 13px 15px;
    background: linear-gradient(90deg, #f2f6f7, #fbfcfc);
    border-left: 4px solid #9b5d16;
    border-radius: 0 9px 9px 0;
}
.samelan-modern-registration .modern-section-heading strong,
.samelan-modern-registration .modern-section-heading span { display: block; }
.samelan-modern-registration .modern-section-heading strong { color: #23384b; font-size: 16px; }
.samelan-modern-registration .modern-section-heading span { margin-top: 2px; color: #748090; font-size: 12px; }
.samelan-modern-registration .modern-form-intro {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 0 10px 23px;
    padding: 17px 18px;
    color: #314052;
    background: linear-gradient(105deg, #eef5f7, #f9fbfb);
    border: 1px solid #d7e4e8;
    border-radius: 11px;
}
.samelan-modern-registration .modern-form-intro .modern-intro-icon {
    display: grid;
    flex: 0 0 38px;
    place-items: center;
    width: 38px;
    height: 38px;
    color: #fff;
    background: #21556d;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 800;
}
.samelan-modern-registration .modern-form-intro strong { display: block; font-size: 15px; }
.samelan-modern-registration .modern-form-intro p { margin: 4px 0 0; color: #667484; font-size: 13px; line-height: 1.5; }
.samelan-modern-registration label.modern-required::after { content: ' *'; color: #b42318; }
.samelan-modern-registration .participant-form.modern-data-loaded .form-header::after {
    content: 'Existing details loaded — please review';
    display: inline-flex;
    margin-top: 9px;
    padding: 4px 8px;
    color: #24633c;
    background: #e8f5ec;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 750;
}
.samelan-modern-registration input[name="applicationType[]"] { color: #70400c; background: #fff8e9; font-weight: 750; }
.samelan-modern-registration .modern-tshirt-link {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px !important;
    padding: 10px 12px;
    color: #17683a !important;
    background: #edf8f1;
    border: 1px solid #bee1ca;
    border-radius: 8px;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.samelan-modern-registration .modern-tshirt-link:hover,
.samelan-modern-registration .modern-tshirt-link:focus {
    color: #10552e !important;
    background: #e2f3e8;
    border-color: #78bd8e;
    box-shadow: 0 0 0 3px rgba(31,138,76,.12);
    outline: none;
}
.samelan-modern-registration .modern-tshirt-link.modern-required::after { display: none; }
.samelan-modern-registration .modern-tshirt-link > span:first-child::after { content: ' *'; color: #b42318; }
.samelan-modern-registration .modern-chart-hint { margin-left: auto; color: #277a48; font-size: 12px; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }
.samelan-modern-registration .modern-review-edit {
    position: absolute;
    top: 27px;
    right: 30px;
    min-height: 38px;
    padding: 8px 13px;
    color: #7a480e;
    background: #fff8e9;
    border: 1px solid #deb66f;
    border-radius: 8px;
    font-weight: 700;
    cursor: pointer;
}
.samelan-modern-registration .modern-review-edit:hover { background: #ffefcf; }

/* Keep navigation inside one cohesive brand palette. */
.samelan-modern-registration #nextBtn,
.samelan-modern-registration #submitPayment {
    color: #fff !important;
    background: linear-gradient(105deg, #814809, #a86618) !important;
    border-color: #814809 !important;
    box-shadow: 0 8px 18px rgba(129,72,9,.2) !important;
}
.samelan-modern-registration #nextBtn:hover,
.samelan-modern-registration #submitPayment:hover { background: #6f3d07 !important; }
.samelan-modern-registration #prevBtn {
    color: #465063 !important;
    background: #fff !important;
    border: 1px solid #bdc7d1 !important;
}
.samelan-modern-registration #prevBtn:hover { color: #243147 !important; background: #f2f5f7 !important; }
.samelan-modern-registration[data-active-step="1"] #prevBtn { visibility: hidden; pointer-events: none; }

/* Correct and modernize payment choices even when theme styles are aggressive. */
.samelan-modern-registration #step4 .payment-options {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.samelan-modern-registration #step4 .payment-section h3 { justify-content: flex-start; gap: 8px; }
.samelan-modern-registration #step4 .payment-option {
    position: relative !important;
    margin: 0 !important;
}
.samelan-modern-registration #step4 .payment-option input[type="radio"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    opacity: 0 !important;
    pointer-events: none;
}
.samelan-modern-registration #step4 .payment-option label {
    position: relative;
    display: flex !important;
    align-items: center;
    min-height: 72px;
    margin: 0 !important;
    padding: 15px 18px 15px 54px !important;
    color: #314052;
    background: #fff !important;
    border: 2px solid #d9e0e6 !important;
    border-radius: 12px !important;
    font-size: 16px;
    font-weight: 750;
    cursor: pointer;
}
.samelan-modern-registration #step4 .payment-option label::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 19px;
    width: 21px;
    height: 21px;
    transform: translateY(-50%);
    background: #fff;
    border: 2px solid #9aa5b2;
    border-radius: 50%;
}
.samelan-modern-registration #step4 .payment-option input[type="radio"]:checked + label {
    color: #75450d !important;
    background: #fff8e9 !important;
    border-color: #c98933 !important;
    box-shadow: 0 7px 18px rgba(155,93,22,.12);
}
.samelan-modern-registration #step4 .payment-option input[type="radio"]:checked + label::before {
    border: 6px solid #9b5d16;
}
.samelan-modern-registration #step4 .bank-logos {
    grid-column: 1 / -1;
    max-width: 760px;
    margin: 4px auto 0;
    padding: 13px;
    background: #f8fafb;
}
.samelan-modern-registration #step4 .bank-logos::before {
    content: 'Supported online payment channels';
    display: block;
    margin-bottom: 10px;
    color: #748090;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .45px;
    text-align: center;
    text-transform: uppercase;
}
.samelan-modern-registration #step4 .bank-logos img { display: block; max-height: 190px; margin: auto; object-fit: contain; }

@media (max-width: 768px) {
    .samelan-modern-registration .modern-section-heading { margin-right: 0; margin-left: 0; }
    .samelan-modern-registration .modern-form-intro { margin-right: 0; margin-left: 0; padding: 14px; }
    .samelan-modern-registration .modern-review-edit { position: static; width: 100%; margin: -4px 0 16px; }
    .samelan-modern-registration #step4 .payment-options { grid-template-columns: 1fr; }
    .samelan-modern-registration #step4 .bank-logos img { max-height: 135px; }
}

/* Mobile validation for the complete modern journey and size chart. */
@media (max-width: 600px) {
    .samelan-modern-registration,
    .samelan-modern-registration * { box-sizing: border-box; }
    .samelan-modern-registration { width: calc(100% - 12px); margin: 6px; padding: 9px; overflow: hidden; }
    .samelan-modern-registration .mysale-container { width: 100%; min-width: 0; }
    .samelan-modern-registration .step-indicator { gap: 3px; padding: 5px; }
    .samelan-modern-registration .step-content,
    .samelan-modern-registration .step.active .step-content { min-height: 52px; padding: 7px 3px; }
    .samelan-modern-registration .step-title { max-width: 100%; font-size: 9px; white-space: normal; line-height: 1.15; }
    .samelan-modern-registration .step-number { font-size: 8px; }
    .samelan-modern-registration .form-header { padding: 14px; }
    .samelan-modern-registration .form-title { font-size: 17px; }
    .samelan-modern-registration .form-content { padding: 14px 11px 2px; }
    .samelan-modern-registration .row { margin-right: -5px; margin-left: -5px; }
    .samelan-modern-registration .row > [class*="col-"] { width: 100%; max-width: 100%; flex: 0 0 100%; padding-right: 5px; padding-left: 5px; }
    .samelan-modern-registration .form-control,
    .samelan-modern-registration .custom-select,
    .samelan-modern-registration input[type="date"] { width: 100%; min-width: 0; font-size: 16px; }
    .samelan-modern-registration .modern-form-intro { gap: 10px; }
    .samelan-modern-registration .modern-form-intro .modern-intro-icon { flex-basis: 32px; width: 32px; height: 32px; }
    .samelan-modern-registration .modern-tshirt-link { align-items: flex-start; flex-direction: column; gap: 3px; }
    .samelan-modern-registration .modern-chart-hint { margin-left: 0; }
    .samelan-modern-registration #step2,
    .samelan-modern-registration #step3 .sponsorship-form,
    .samelan-modern-registration #step4 .payment-section { padding: 15px 11px; border-radius: 13px; }
    .samelan-modern-registration #step2 h2,
    .samelan-modern-registration #step3 h2,
    .samelan-modern-registration #step4 h2 { font-size: 19px; line-height: 1.25; }
    .samelan-modern-registration #step2 .table { min-width: 570px; }
    .samelan-modern-registration #step3 .table { min-width: 760px; }
    .samelan-modern-registration #step4 #totalPrice { font-size: 23px; }
    .samelan-modern-registration > .mysale-container > .row.mt-3 { display: grid; grid-template-columns: minmax(90px,.7fr) minmax(0,1.3fr); gap: 8px; padding: 9px; }
    .samelan-modern-registration > .mysale-container > .row.mt-3 > div { width: auto; max-width: none; padding: 0; }
    .samelan-modern-registration #prevBtn,
    .samelan-modern-registration #nextBtn,
    .samelan-modern-registration #submitPayment { width: 100%; min-width: 0; padding-right: 8px; padding-left: 8px; font-size: 12px; }
    .samelan-modern-registration[data-active-step="1"] > .mysale-container > .row.mt-3 { grid-template-columns: 1fr; }
    .samelan-modern-registration[data-active-step="1"] > .mysale-container > .row.mt-3 > div:first-child { display: none; }
    .samelan-modern-registration #tshirtSizeChartModal .modal-dialog { width: auto; max-width: none; margin: 10px; }
    .samelan-modern-registration #tshirtSizeChartModal .modal-content { max-height: calc(100vh - 20px); overflow: hidden; border: 0; border-radius: 13px; }
    .samelan-modern-registration #tshirtSizeChartModal .modal-header { padding: 14px 16px; }
    .samelan-modern-registration #tshirtSizeChartModal .modal-body { padding: 14px 12px; overflow-y: auto; }
    .samelan-modern-registration #tshirtSizeChartModal .tshirt-chart-heading { align-items: flex-start !important; gap: 8px; }
    .samelan-modern-registration #tshirtSizeChartModal .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .samelan-modern-registration #tshirtSizeChartModal table.tshirt-chart-table { min-width: 590px; font-size: 13px; }
    .samelan-modern-registration #tshirtSizeChartModal table.tshirt-chart-table th,
    .samelan-modern-registration #tshirtSizeChartModal table.tshirt-chart-table td { padding: 9px 8px !important; }
}

/* Compact phone treatment for the payment step shown on narrow devices. */
@media (max-width: 600px) {
    .samelan-modern-registration .step:not(.active) .step-title { display: none; }
    .samelan-modern-registration .step:not(.active) .step-content { min-height: 48px; justify-content: center; }
    .samelan-modern-registration .step.active .step-title { display: block; font-size: 11px; }
    .samelan-modern-registration .step.active .step-content { min-height: 58px; }
    .samelan-modern-registration #step4 .payment-section { padding: 14px 10px; }
    .samelan-modern-registration #step4 .payment-section h3 {
        display: block;
        margin-bottom: 20px;
        padding: 17px 18px;
        font-size: 24px;
        line-height: 1.25;
        white-space: nowrap;
    }
    .samelan-modern-registration #step4 #totalPrice { display: inline; font-size: inherit; }
    .samelan-modern-registration #step4 .payment-section h2 { margin-bottom: 13px; font-size: 21px; }
    .samelan-modern-registration #step4 .payment-option label { min-height: 60px; padding-top: 11px !important; padding-bottom: 11px !important; font-size: 15px; }
    .samelan-modern-registration #step4 .bank-logos { margin-top: 0; padding: 10px 8px; }
    .samelan-modern-registration #step4 .bank-logos::before { margin-bottom: 8px; font-size: 9px; }
    .samelan-modern-registration #step4 .bank-logos img { width: 100%; max-height: 112px; }
    .samelan-modern-registration > .mysale-container > .row.mt-3 {
        display: grid !important;
        grid-template-columns: 92px minmax(0, 1fr) !important;
        align-items: stretch;
        gap: 7px;
    }
    .samelan-modern-registration > .mysale-container > .row.mt-3 > div:first-child { grid-column: 1; }
    .samelan-modern-registration > .mysale-container > .row.mt-3 > div:last-child { grid-column: 2; }
    .samelan-modern-registration > .mysale-container > .row.mt-3 .btn { min-height: 44px; margin: 0 !important; }
}
@media (max-width: 370px) {
    .samelan-modern-registration #step4 .payment-section h3 { font-size: 20px; }
    .samelan-modern-registration > .mysale-container > .row.mt-3 { grid-template-columns: 78px minmax(0, 1fr) !important; }
}

/* Sleek colour system — cool neutrals with a distinct accent for each step. */
.samelan-modern-registration {
    background:
        radial-gradient(circle at 94% 3%, rgba(99,102,241,.16), transparent 27%),
        radial-gradient(circle at 2% 96%, rgba(6,182,212,.11), transparent 29%),
        linear-gradient(145deg, #f8fafc 0%, #eef2f7 52%, #f8fafc 100%);
    border-color: #dce3ec;
    box-shadow: 0 24px 70px rgba(15,23,42,.12);
}
.samelan-modern-registration .mysale-container {
    --samelan-primary: #4f46e5;
    --samelan-primary-dark: #3730a3;
    --samelan-accent: #06b6d4;
    --samelan-ink: #0f172a;
    --samelan-muted: #64748b;
    --samelan-border: #dce3ec;
}
.samelan-modern-registration .step-content,
.samelan-modern-registration .step.active .step-content { color: #64748b; }
.samelan-modern-registration .step:nth-child(1).active .step-content { color: #fff; background: linear-gradient(135deg,#4338ca,#6366f1); box-shadow: 0 8px 20px rgba(79,70,229,.25); }
.samelan-modern-registration .step:nth-child(2).active .step-content { color: #fff; background: linear-gradient(135deg,#0e7490,#06b6d4); box-shadow: 0 8px 20px rgba(6,182,212,.23); }
.samelan-modern-registration .step:nth-child(3).active .step-content { color: #fff; background: linear-gradient(135deg,#7e22ce,#a855f7); box-shadow: 0 8px 20px rgba(168,85,247,.22); }
.samelan-modern-registration .step:nth-child(4).active .step-content { color: #fff; background: linear-gradient(135deg,#047857,#10b981); box-shadow: 0 8px 20px rgba(16,185,129,.23); }
.samelan-modern-registration .step.is-complete .step-content { color: #047857; background: #ecfdf5; }
.samelan-modern-registration .form-header {
    color: #0f172a;
    background: linear-gradient(100deg,#f8fafc,#eef2ff);
    border-bottom-color: #dfe4f5;
}
.samelan-modern-registration .participant-form.child-form { border-left-color: #6366f1; }
.samelan-modern-registration .participant-form.child-form .form-header { background: linear-gradient(100deg,#f8fafc,#f3f1ff); }
.samelan-modern-registration .modern-form-intro {
    color: #1e293b;
    background: linear-gradient(105deg,#eef2ff,#f8fafc);
    border-color: #d8ddf5;
}
.samelan-modern-registration .modern-form-intro .modern-intro-icon { background: linear-gradient(135deg,#4338ca,#6366f1); }
.samelan-modern-registration .modern-section-heading {
    background: linear-gradient(90deg,#f1f5f9,#fbfdff);
    border-left-color: #6366f1;
}
.samelan-modern-registration .modern-section-heading strong { color: #1e293b; }
.samelan-modern-registration .form-control:focus,
.samelan-modern-registration .custom-select:focus,
.samelan-modern-registration input[type="date"]:focus { border-color: #6366f1; box-shadow: 0 0 0 3px rgba(99,102,241,.14); }
.samelan-modern-registration input[name="applicationType[]"] { color: #3730a3; background: #eef2ff; }
.samelan-modern-registration .modern-tshirt-link { color: #047857 !important; background: #ecfdf5; border-color: #a7f3d0; }
.samelan-modern-registration .modern-tshirt-link:hover,
.samelan-modern-registration .modern-tshirt-link:focus { color: #065f46 !important; background: #d1fae5; border-color: #6ee7b7; box-shadow: 0 0 0 3px rgba(16,185,129,.12); }
.samelan-modern-registration .modern-chart-hint { color: #047857; }
.samelan-modern-registration #addParticipant { color: #4338ca; background: #eef2ff; border-color: #818cf8; }
.samelan-modern-registration .btn-toggle { color: #475569; background: #fff; border-color: #cbd5e1; }
.samelan-modern-registration .modern-review-edit { color: #0e7490; background: #ecfeff; border-color: #67e8f9; }
.samelan-modern-registration .modern-review-edit:hover { background: #cffafe; }
.samelan-modern-registration #step2 h2::before { background: linear-gradient(135deg,#0e7490,#06b6d4); }
.samelan-modern-registration #step2 .table tbody tr:not(:last-child):hover { background: #ecfeff; }
.samelan-modern-registration #step2 .table tbody tr:last-child { background: linear-gradient(100deg,#164e63,#0e7490); }
.samelan-modern-registration #step2 .form-check { background: #f0fdfa; border-color: #99f6e4; }
.samelan-modern-registration #step2 .text-primary { color: #0f766e !important; }
.samelan-modern-registration #step3 .sponsorship-form h2::before { color: #7e22ce; background: #f3e8ff; }
.samelan-modern-registration #step3 .table tbody tr:hover { background: #faf5ff; }
.samelan-modern-registration #step3 .table tbody tr:last-child { background: linear-gradient(100deg,#581c87,#7e22ce); box-shadow: 0 -5px 16px rgba(126,34,206,.16); }
.samelan-modern-registration #step3 .table tbody tr:last-child input { color: #581c87; }
.samelan-modern-registration #step4 .payment-section h3 { background: linear-gradient(110deg,#064e3b,#047857); box-shadow: 0 10px 25px rgba(4,120,87,.2); }
.samelan-modern-registration #step4 .payment-option label:hover { border-color: #34d399 !important; }
.samelan-modern-registration #step4 .payment-option input[type="radio"]:checked + label { color: #065f46 !important; background: #ecfdf5 !important; border-color: #10b981 !important; box-shadow: 0 7px 18px rgba(16,185,129,.13); }
.samelan-modern-registration #step4 .payment-option input[type="radio"]:checked + label::before { border-color: #10b981; }
.samelan-modern-registration #nextBtn,
.samelan-modern-registration #submitPayment { color: #fff !important; background: linear-gradient(105deg,#4338ca,#6366f1) !important; border-color: #4338ca !important; box-shadow: 0 8px 18px rgba(79,70,229,.22) !important; }
.samelan-modern-registration #nextBtn:hover,
.samelan-modern-registration #submitPayment:hover { background: #3730a3 !important; }
.samelan-modern-registration[data-active-step="2"] #nextBtn { background: linear-gradient(105deg,#0e7490,#06b6d4) !important; border-color: #0e7490 !important; box-shadow: 0 8px 18px rgba(6,182,212,.21) !important; }
.samelan-modern-registration[data-active-step="3"] #nextBtn { background: linear-gradient(105deg,#7e22ce,#a855f7) !important; border-color: #7e22ce !important; box-shadow: 0 8px 18px rgba(168,85,247,.2) !important; }
.samelan-modern-registration[data-active-step="4"] #submitPayment { background: linear-gradient(105deg,#047857,#10b981) !important; border-color: #047857 !important; box-shadow: 0 8px 18px rgba(16,185,129,.21) !important; }
.samelan-modern-registration #prevBtn { color: #475569 !important; background: #fff !important; border-color: #cbd5e1 !important; }

/* Selected theme: Modern Heritage. */
.samelan-modern-registration {
    background:
        radial-gradient(circle at 94% 3%, rgba(245,158,11,.17), transparent 27%),
        radial-gradient(circle at 3% 96%, rgba(37,99,235,.09), transparent 29%),
        linear-gradient(145deg,#fffbf5 0%,#f7f8fb 54%,#fffaf2 100%);
    border-color: #eadfcf;
    box-shadow: 0 24px 70px rgba(23,37,84,.12);
}
.samelan-modern-registration .mysale-container {
    --samelan-primary: #172554;
    --samelan-primary-dark: #101b3f;
    --samelan-accent: #f59e0b;
    --samelan-ink: #1f2937;
    --samelan-muted: #667085;
    --samelan-border: #dfe4ec;
}
.samelan-modern-registration .step:nth-child(1).active .step-content,
.samelan-modern-registration .step:nth-child(2).active .step-content,
.samelan-modern-registration .step:nth-child(3).active .step-content,
.samelan-modern-registration .step:nth-child(4).active .step-content {
    color: #fff;
    background: linear-gradient(135deg,#172554,#243b78);
    box-shadow: 0 8px 20px rgba(23,37,84,.24);
}
.samelan-modern-registration .step.active .step-number { color: #fbbf24; opacity: 1; }
.samelan-modern-registration .step.is-complete .step-content { color: #047857; background: #ecfdf5; }
.samelan-modern-registration .form-header { background: linear-gradient(100deg,#fffaf1,#fff3d9); border-bottom-color: #f0dbb6; }
.samelan-modern-registration .participant-form.child-form { border-left-color: #f59e0b; }
.samelan-modern-registration .participant-form.child-form .form-header { background: linear-gradient(100deg,#fffaf1,#ffedc7); }
.samelan-modern-registration .modern-form-intro { background: linear-gradient(105deg,#eef3ff,#fafcff); border-color: #d7def1; }
.samelan-modern-registration .modern-form-intro .modern-intro-icon { background: linear-gradient(135deg,#172554,#2563eb); }
.samelan-modern-registration .modern-section-heading { background: linear-gradient(90deg,#fff8e8,#fffdf8); border-left-color: #f59e0b; }
.samelan-modern-registration .form-control:focus,
.samelan-modern-registration .custom-select:focus,
.samelan-modern-registration input[type="date"]:focus { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,.13); }
.samelan-modern-registration input[name="applicationType[]"] { color: #172554; background: #eef3ff; }
.samelan-modern-registration #addParticipant { color: #172554; background: #fff8e8; border-color: #f59e0b; }
.samelan-modern-registration .modern-review-edit { color: #1d4ed8; background: #eff6ff; border-color: #93c5fd; }
.samelan-modern-registration .modern-review-edit:hover { background: #dbeafe; }
.samelan-modern-registration #step2 h2::before { background: linear-gradient(135deg,#1d4ed8,#2563eb); }
.samelan-modern-registration #step2 .table tbody tr:not(:last-child):hover { background: #f5f8ff; }
.samelan-modern-registration #step2 .table tbody tr:last-child { background: linear-gradient(100deg,#172554,#263d78); }
.samelan-modern-registration #step2 .form-check { background: #fff8e8; border-color: #f3d28f; }
.samelan-modern-registration #step2 .text-primary { color: #1d4ed8 !important; }
.samelan-modern-registration #step3 .sponsorship-form h2::before { color: #92400e; background: #fef3c7; }
.samelan-modern-registration #step3 .table tbody tr:hover { background: #fffbeb; }
.samelan-modern-registration #step3 .table tbody tr:last-child { background: linear-gradient(100deg,#172554,#263d78); box-shadow: 0 -5px 16px rgba(23,37,84,.16); }
.samelan-modern-registration #step3 .table tbody tr:last-child input { color: #172554; }
.samelan-modern-registration #step4 .payment-section h3 { background: linear-gradient(110deg,#172554,#263d78); box-shadow: 0 10px 25px rgba(23,37,84,.2); }
.samelan-modern-registration #step4 .payment-option label:hover { border-color: #f59e0b !important; }
.samelan-modern-registration #step4 .payment-option input[type="radio"]:checked + label { color: #172554 !important; background: #fff8e8 !important; border-color: #f59e0b !important; box-shadow: 0 7px 18px rgba(245,158,11,.14); }
.samelan-modern-registration #step4 .payment-option input[type="radio"]:checked + label::before { border-color: #f59e0b; }
.samelan-modern-registration #nextBtn,
.samelan-modern-registration #submitPayment,
.samelan-modern-registration[data-active-step="2"] #nextBtn,
.samelan-modern-registration[data-active-step="3"] #nextBtn {
    color: #fff !important;
    background: linear-gradient(105deg,#1d4ed8,#2563eb) !important;
    border-color: #1d4ed8 !important;
    box-shadow: 0 8px 18px rgba(37,99,235,.22) !important;
}
.samelan-modern-registration #nextBtn:hover,
.samelan-modern-registration #submitPayment:hover { background: #1e40af !important; }
.samelan-modern-registration[data-active-step="4"] #submitPayment { background: linear-gradient(105deg,#047857,#059669) !important; border-color: #047857 !important; box-shadow: 0 8px 18px rgba(5,150,105,.21) !important; }
.samelan-modern-registration #prevBtn { color: #334155 !important; background: #fff !important; border-color: #cbd5e1 !important; }

/* Site-matched palette: retain the modern UX with Samelan green and amber. */
.samelan-modern-registration {
    background:
        radial-gradient(circle at 94% 3%, rgba(235,166,58,.18), transparent 27%),
        radial-gradient(circle at 3% 96%, rgba(76,175,80,.10), transparent 29%),
        linear-gradient(145deg,#fffdf8 0%,#f5f7f3 54%,#fffaf1 100%);
    border-color: #e5dccd;
    box-shadow: 0 24px 70px rgba(39,74,43,.12);
}
.samelan-modern-registration .mysale-container {
    --samelan-primary: #2f8f46;
    --samelan-primary-dark: #236d35;
    --samelan-accent: #eba63a;
    --samelan-ink: #1f2937;
    --samelan-muted: #667085;
    --samelan-border: #dfe5df;
}
.samelan-modern-registration .step .step-content { color: #52625a; background: #eef7ef; }
.samelan-modern-registration .step:nth-child(1).active .step-content,
.samelan-modern-registration .step:nth-child(2).active .step-content,
.samelan-modern-registration .step:nth-child(3).active .step-content,
.samelan-modern-registration .step:nth-child(4).active .step-content {
    color: #fff;
    background: linear-gradient(135deg,#dc9224,#eba63a);
    box-shadow: 0 8px 20px rgba(235,166,58,.27);
}
.samelan-modern-registration .step.active .step-number { color: #fff; opacity: .88; }
.samelan-modern-registration .step.is-complete .step-content { color: #fff; background: linear-gradient(135deg,#348f42,#4caf50); }
.samelan-modern-registration .form-header { background: linear-gradient(100deg,#edb04d,#d9c09a); border-bottom-color: #d5af72; }
.samelan-modern-registration .participant-form.child-form { border-left-color: #4caf50; }
.samelan-modern-registration .participant-form.child-form .form-header { background: linear-gradient(100deg,#f2bd65,#dec7a3); }
.samelan-modern-registration .btn-toggle { color: #fff; background: #df3444; border-color: #df3444; }
.samelan-modern-registration .btn-toggle:hover { color: #fff; background: #c82636; border-color: #c82636; }
.samelan-modern-registration .modern-form-intro { background: linear-gradient(105deg,#eff8f0,#fbfdfb); border-color: #cfe6d2; }
.samelan-modern-registration .modern-form-intro .modern-intro-icon { background: linear-gradient(135deg,#2f8f46,#4caf50); }
.samelan-modern-registration .modern-section-heading { background: linear-gradient(90deg,#fff7e8,#fffdf9); border-left-color: #eba63a; }
.samelan-modern-registration .form-control:focus,
.samelan-modern-registration .custom-select:focus,
.samelan-modern-registration input[type="date"]:focus { border-color: #4caf50; box-shadow: 0 0 0 3px rgba(76,175,80,.14); }
.samelan-modern-registration input[name="applicationType[]"] { color: #236d35; background: #eef8ef; }
.samelan-modern-registration #addParticipant { color: #70470c; background: #fff7e8; border-color: #eba63a; }
.samelan-modern-registration .modern-review-edit { color: #236d35; background: #eef8ef; border-color: #8dcc96; }
.samelan-modern-registration .modern-review-edit:hover { background: #ddf1e0; }
.samelan-modern-registration #step2 h2::before { background: linear-gradient(135deg,#2f8f46,#4caf50); }
.samelan-modern-registration #step2 .table tbody tr:not(:last-child):hover { background: #f2faf3; }
.samelan-modern-registration #step2 .table tbody tr:last-child { background: linear-gradient(100deg,#236d35,#3d9a4d); }
.samelan-modern-registration #step2 .form-check { background: #fff7e8; border-color: #edce95; }
.samelan-modern-registration #step2 .text-primary { color: #2f8f46 !important; }
.samelan-modern-registration #step3 .sponsorship-form h2::before { color: #81510a; background: #fff0d3; }
.samelan-modern-registration #step3 .table tbody tr:hover { background: #fff9ed; }
.samelan-modern-registration #step3 .table tbody tr:last-child { background: linear-gradient(100deg,#236d35,#3d9a4d); box-shadow: 0 -5px 16px rgba(47,143,70,.16); }
.samelan-modern-registration #step3 .table tbody tr:last-child input { color: #236d35; }
.samelan-modern-registration #step4 .payment-section h3 { background: linear-gradient(110deg,#236d35,#3d9a4d); box-shadow: 0 10px 25px rgba(47,143,70,.2); }
.samelan-modern-registration #step4 .payment-option label:hover { border-color: #eba63a !important; }
.samelan-modern-registration #step4 .payment-option input[type="radio"]:checked + label { color: #236d35 !important; background: #eef8ef !important; border-color: #4caf50 !important; box-shadow: 0 7px 18px rgba(76,175,80,.14); }
.samelan-modern-registration #step4 .payment-option input[type="radio"]:checked + label::before { border-color: #4caf50; }
.samelan-modern-registration #nextBtn,
.samelan-modern-registration #submitPayment,
.samelan-modern-registration[data-active-step="2"] #nextBtn,
.samelan-modern-registration[data-active-step="3"] #nextBtn,
.samelan-modern-registration[data-active-step="4"] #submitPayment {
    color: #fff !important;
    background: linear-gradient(105deg,#2f8f46,#4caf50) !important;
    border-color: #2f8f46 !important;
    box-shadow: 0 8px 18px rgba(76,175,80,.22) !important;
}
.samelan-modern-registration #nextBtn:hover,
.samelan-modern-registration #submitPayment:hover { background: #236d35 !important; }
.samelan-modern-registration #prevBtn { color: #69450e !important; background: #fff8eb !important; border-color: #e3b769 !important; }
.samelan-modern-registration #prevBtn:hover { color: #523406 !important; background: #ffefcf !important; }
.samelan-registration-fees.samelan-fees-hidden,
#samelan-registration-fees.samelan-fees-hidden {
    display: none !important;
}
