.register-page{background:#f7fafc;min-height:100vh}
.register-hero{padding:70px 6.4% 35px;text-align:center}
.register-hero h1{font-size:52px;line-height:1.05;margin:10px 0 16px;letter-spacing:-2px}
.register-hero p{max-width:720px;margin:0 auto;color:#38536f;font-size:18px;line-height:1.7}
.register-shell{display:grid;grid-template-columns:280px 1fr;gap:30px;padding:30px 6.4% 90px;max-width:1250px;margin:0 auto}
.register-steps{background:#062b52;color:#fff;border-radius:24px;padding:26px;display:grid;gap:14px;align-content:start}
.register-steps div{padding:16px;border-radius:14px;font-weight:800;color:#d9e7f7}
.register-steps span{display:inline-flex;width:28px;height:28px;border-radius:50%;align-items:center;justify-content:center;background:rgba(255,255,255,.12);margin-right:10px}
.register-steps .step-active{background:#159653;color:#fff}
.register-card{background:#fff;border:1px solid #dce6f2;border-radius:24px;padding:38px;box-shadow:0 24px 60px rgba(6,27,58,.07)}
.register-card h2{margin:0 0 26px;font-size:30px}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.form-grid label{font-weight:800;color:#061b3a}

.form-grid input,
.form-grid select{
    width:100%;
    margin-top:8px;
    border:1px solid #cfd9e6;
    border-radius:12px;
    padding:15px;
    font-size:16px;
    font-family:Inter,Arial,sans-serif;
    background:#fff;
}

.form-actions{display:flex;justify-content:space-between;margin-top:30px}
.form-actions button{border:0;cursor:pointer}
@media(max-width:900px){
.register-hero{padding:45px 24px 20px}
.register-hero h1{font-size:38px}
.register-shell{grid-template-columns:1fr;padding:24px}
.form-grid{grid-template-columns:1fr}
}

.cr-language-field{
    position:relative;
    margin-top:8px;
}

.cr-language-trigger{
    width:100%;
    border:1px solid #cfd9e6;
    border-radius:12px;
    padding:15px;
    background:#fff;
    font-family:Inter,Arial,sans-serif;
    font-size:16px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
}

.cr-language-menu{
    display:none;
    position:absolute;
    top:58px;
    left:0;
    right:0;
    background:#fff;
    border:1px solid #dce6f2;
    border-radius:16px;
    box-shadow:0 24px 60px rgba(6,27,58,.18);
    padding:12px;
    z-index:99999;
}

.cr-language-field.open .cr-language-menu{
    display:block;
}

.cr-language-search{
    display:flex;
    align-items:center;
    gap:10px;
    background:#f1f5f9;
    border-radius:12px;
    padding:10px 12px;
    margin-bottom:10px;
}

.cr-language-search input{
    border:0;
    outline:none;
    background:transparent;
    width:100%;
    font-family:Inter,Arial,sans-serif;
}

.cr-language-options{
    max-height:300px;
    overflow-y:auto;
}

.cr-language-options button{
    width:100%;
    border:0;
    background:#fff;
    padding:10px 12px;
    text-align:left;
    border-radius:10px;
    font-weight:700;
    cursor:pointer;
}

.cr-language-options button:hover{
    background:#f1f5f9;
}

.cr-country-field{position:relative;margin-top:8px}
.cr-country-trigger{width:100%;border:1px solid #cfd9e6;border-radius:12px;padding:15px;background:#fff;font-family:Inter,Arial,sans-serif;font-size:16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.cr-country-menu{display:none;position:absolute;top:58px;left:0;right:0;background:#fff;border:1px solid #dce6f2;border-radius:16px;box-shadow:0 24px 60px rgba(6,27,58,.18);padding:12px;z-index:99999}
.cr-country-field.open .cr-country-menu{display:block}
.cr-country-search{display:flex;align-items:center;gap:10px;background:#f1f5f9;border-radius:12px;padding:10px 12px;margin-bottom:10px}
.cr-country-search input{border:0;outline:none;background:transparent;width:100%;font-family:Inter,Arial,sans-serif}
.cr-country-options{max-height:300px;overflow-y:auto}
.cr-country-options button{width:100%;border:0;background:#fff;padding:10px 12px;text-align:left;border-radius:10px;font-weight:700;cursor:pointer}
.cr-country-options button:hover{background:#f1f5f9
}

.form-step{display:none}
.form-step.active{display:block}
.form-help{color:#38536f;line-height:1.7;margin:0 0 22px}

.upload-box{
    border:2px dashed #cfd9e6;
    border-radius:18px;
    padding:42px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    cursor:pointer;
    text-align:center;
    background:#f7fafc;
}
.upload-box i{font-size:42px;color:#159653}
.upload-box input{display:none}

.payment-box{
    border:1px solid #dce6f2;
    border-radius:18px;
    padding:28px;
    background:#f7fafc;
}
.payment-box strong{font-size:42px}
.payment-box p{color:#38536f;line-height:1.6}
.payment-methods{display:grid;gap:12px;margin-top:18px}
.payment-methods label{background:#fff;border:1px solid #dce6f2;border-radius:12px;padding:16px;font-weight:800
}

.cr-breed-field{position:relative;margin-top:8px}
.cr-breed-trigger{width:100%;border:1px solid #cfd9e6;border-radius:12px;padding:15px;background:#fff;font-family:Inter,Arial,sans-serif;font-size:16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.cr-breed-menu{display:none;position:absolute;top:58px;left:0;right:0;background:#fff;border:1px solid #dce6f2;border-radius:16px;box-shadow:0 24px 60px rgba(6,27,58,.18);padding:12px;z-index:99999}
.cr-breed-field.open .cr-breed-menu{display:block}
.cr-breed-search{display:flex;align-items:center;gap:10px;background:#f1f5f9;border-radius:12px;padding:10px 12px;margin-bottom:10px}
.cr-breed-search input{border:0;outline:none;background:transparent;width:100%;font-family:Inter,Arial,sans-serif}
.cr-breed-options{max-height:300px;overflow-y:auto}
.cr-breed-options button{width:100%;border:0;background:#fff;padding:10px 12px;text-align:left;border-radius:10px;font-weight:700;cursor:pointer}
.cr-breed-options button:hover{background:#f1f5f9
}

textarea{

    width:100%;
    margin-top:8px;
    border:1px solid #cfd9e6;
    border-radius:14px;
    padding:16px;
    font-family:Inter,Arial,sans-serif;
    font-size:15px;
    resize:vertical;
    line-height:1.6;

}

.checkbox-line{

    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-top:10px;
    font-weight:600;

}

.checkbox-line input{

    margin-top:4px;

}

.field-help{

    display:block;
    margin-top:10px;
    color:#6b7280;
    font-size:14px;
    line-height:1.6;

}


.required-mark{
    color:#d92d20;
    font-weight:900;
}

.required-note{
    margin:22px 0 0;
    color:#64748b;
    font-size:13px;
}

.form-grid input:invalid:focus,
.form-grid select:invalid:focus{
    border-color:#d92d20;
    box-shadow:0 0 0 3px rgba(217,45,32,.10);
}

.step-validation-message{
    display:none;
    margin:0 0 20px;
    padding:13px 15px;
    border:1px solid #f4b4ae;
    border-radius:12px;
    background:#fff5f4;
    color:#9f1c13;
    font-size:14px;
    font-weight:700;
    line-height:1.5;
}

.step-validation-message.visible{
    display:block;
}

.step-heading{
    margin-bottom:30px;
}

.step-eyebrow{
    display:inline-block;
    margin-bottom:8px;
    color:#159653;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.form-section{
    margin-top:28px;
    padding-top:26px;
    border-top:1px solid #e2e8f0;
}

.form-section:first-of-type{
    margin-top:0;
    padding-top:0;
    border-top:0;
}

.form-section h3{
    margin:0 0 20px;
    color:#061b3a;
    font-size:18px;
    font-weight:800;
}

.form-section > label{
    display:block;
    margin-top:20px;
}

.input-with-suffix{
    position:relative;
    margin-top:8px;
}

.input-with-suffix input{
    width:100%;
    padding-right:55px;
}

.input-with-suffix span{
    position:absolute;
    top:50%;
    right:17px;
    transform:translateY(-50%);
    color:#64748b;
    font-size:14px;
    font-weight:800;
    pointer-events:none;
}

.field-help-highlight{
    padding:11px 13px;
    border-radius:10px;
    background:#ecfdf3;
    color:#12643a;
}

.additional-information-section textarea{
    min-height:190px;
}

@media (max-width:700px){
    .form-section{
        margin-top:24px;
        padding-top:22px;
    }

    .additional-information-section textarea{
        min-height:170px;
    }
}

.photo-guidance{
    margin-bottom:22px;
    padding:16px 18px;
    border:1px solid #d9e7df;
    border-radius:14px;
    background:#f3fbf6;
    color:#204b35;
}

.photo-guidance strong{
    display:block;
    margin-bottom:5px;
    color:#0f5132;
}

.photo-guidance p{
    margin:0;
    line-height:1.6;
}

.multi-photo-dropzone{
    position:relative;
    min-height:250px;
    padding:38px 24px;
    border:2px dashed #b8c9da;
    border-radius:20px;
    background:#f8fbfd;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    text-align:center;
    cursor:pointer;
    transition:border-color .2s ease, background .2s ease, transform .2s ease;
}

.multi-photo-dropzone:hover,
.multi-photo-dropzone:focus{
    border-color:#159653;
    background:#f1fbf5;
    outline:none;
}

.multi-photo-dropzone.is-dragging{
    border-color:#159653;
    background:#eaf9f0;
    transform:scale(1.01);
}

.multi-photo-dropzone input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none;
}

.dropzone-icon{
    width:66px;
    height:66px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#e5f6ec;
    color:#159653;
    font-size:30px;
}

.multi-photo-dropzone strong{
    font-size:19px;
    color:#061b3a;
}

.multi-photo-dropzone span{
    color:#38536f;
    font-weight:700;
}

.multi-photo-dropzone small{
    color:#64748b;
}

.selected-photo-summary{
    margin-top:18px;
    padding:12px 14px;
    border-radius:12px;
    background:#f1f5f9;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
}

.selected-photo-summary button{
    border:0;
    background:transparent;
    color:#b42318;
    font-weight:800;
    cursor:pointer;
}

.photo-preview-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin-top:20px;
}

.photo-preview-card{
    position:relative;
    overflow:hidden;
    border:1px solid #dce6f2;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 24px rgba(6,27,58,.08);
}

.photo-preview-card img{
    display:block;
    width:100%;
    height:180px;
    object-fit:cover;
}

.photo-preview-meta{
    padding:11px 12px;
    color:#38536f;
    font-size:12px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.photo-remove-button{
    position:absolute;
    top:9px;
    right:9px;
    width:32px;
    height:32px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.94);
    color:#b42318;
    cursor:pointer;
    box-shadow:0 4px 12px rgba(6,27,58,.15);
}

.photo-primary-badge{
    position:absolute;
    left:9px;
    top:9px;
    padding:6px 9px;
    border-radius:999px;
    background:#159653;
    color:#fff;
    font-size:11px;
    font-weight:800;
}

.photo-reassurance{
    display:flex;
    gap:13px;
    align-items:flex-start;
    margin-top:22px;
    padding:16px 18px;
    border-radius:14px;
    background:#ecfdf3;
    color:#155c36;
}

.photo-reassurance i{
    margin-top:3px;
}

.photo-reassurance p{
    margin:5px 0 0;
    line-height:1.55;
}

@media (max-width:850px){
    .photo-preview-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width:560px){
    .multi-photo-dropzone{
        min-height:220px;
        padding:30px 18px;
    }

    .photo-preview-grid{
        grid-template-columns:1fr;
    }
}

.review-notice{
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin-bottom:24px;
    padding:17px 18px;
    border:1px solid #b9e3c9;
    border-radius:15px;
    background:#effbf4;
    color:#155c36;
}

.review-notice > i{
    margin-top:3px;
    color:#159653;
    font-size:21px;
}

.review-notice strong{
    display:block;
    margin-bottom:4px;
}

.review-notice p{
    margin:0;
    line-height:1.55;
}

.review-card{
    margin-top:20px;
    overflow:hidden;
    border:1px solid #dce6f2;
    border-radius:17px;
    background:#fff;
    box-shadow:0 8px 26px rgba(6,27,58,.055);
}

.review-card-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:17px 19px;
    border-bottom:1px solid #e5edf5;
    background:#f8fbfd;
}

.review-card-header > div{
    display:flex;
    align-items:center;
    gap:11px;
}

.review-card-header h3{
    margin:0;
    color:#061b3a;
    font-size:17px;
}

.review-icon{
    width:36px;
    height:36px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#e7f7ee;
    color:#159653;
}

.review-edit-button{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 12px;
    border:1px solid #cddae7;
    border-radius:10px;
    background:#fff;
    color:#23415f;
    font-weight:800;
    cursor:pointer;
}

.review-edit-button:hover{
    border-color:#159653;
    color:#11733f;
}

.review-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    margin:0;
    padding:5px 19px 15px;
}

.review-grid > div{
    min-width:0;
    padding:14px 10px;
    border-bottom:1px solid #edf2f7;
}

.review-grid > div:nth-last-child(-n+2){
    border-bottom:0;
}

.review-grid .review-wide{
    grid-column:1 / -1;
}

.review-grid dt{
    margin-bottom:5px;
    color:#64748b;
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.review-grid dd{
    margin:0;
    color:#102b50;
    font-size:14px;
    font-weight:700;
    line-height:1.55;
    overflow-wrap:anywhere;
    white-space:pre-line;
}

.review-photo-summary{
    display:flex;
    align-items:center;
    gap:14px;
    padding:19px;
}

.review-photo-summary > i{
    width:45px;
    height:45px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#edf4fa;
    color:#38536f;
    font-size:21px;
}

.review-photo-summary strong{
    display:block;
    margin-bottom:4px;
    color:#061b3a;
}

.review-photo-summary p{
    margin:0;
    color:#64748b;
    font-size:13px;
}

.review-photo-thumbnails{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    padding:0 19px 19px;
}

.review-photo-thumbnails img{
    width:78px;
    height:78px;
    border:1px solid #dce6f2;
    border-radius:11px;
    object-fit:cover;
}

.payment-price-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:20px;
}

.payment-price-row strong{
    color:#061b3a;
}

.payment-price-row p{
    margin:5px 0 0;
    color:#64748b;
    font-size:13px;
}

.payment-total{
    font-size:22px;
    white-space:nowrap;
}

.review-payment-methods{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px;
    padding:0 20px 20px;
}

.review-payment-methods label{
    margin:0;
    cursor:pointer;
}

.review-payment-methods input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.review-payment-methods span{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:55px;
    padding:12px;
    border:2px solid #dce6f2;
    border-radius:13px;
    background:#fff;
    color:#38536f;
    font-weight:800;
}

.review-payment-methods input:checked + span{
    border-color:#159653;
    background:#effbf4;
    color:#11733f;
}

.registration-confirmation{
    display:flex;
    align-items:flex-start;
    gap:13px;
    margin-top:24px;
    padding:18px;
    border:2px solid #dce6f2;
    border-radius:15px;
    background:#fff;
    cursor:pointer;
}

.registration-confirmation:has(input:checked){
    border-color:#159653;
    background:#f1fbf5;
}

.registration-confirmation input{
    flex:0 0 auto;
    width:20px;
    height:20px;
    margin-top:2px;
    accent-color:#159653;
}

.registration-confirmation strong{
    display:block;
    color:#061b3a;
    line-height:1.5;
}

.registration-confirmation small{
    display:block;
    margin-top:6px;
    color:#64748b;
    line-height:1.5;
}

#submitForm:disabled{
    opacity:.5;
    cursor:not-allowed;
    filter:grayscale(.25);
}

@media (max-width:700px){
    .review-card-header{
        align-items:flex-start;
    }

    .review-grid{
        grid-template-columns:1fr;
    }

    .review-grid .review-wide{
        grid-column:auto;
    }

    .review-grid > div:nth-last-child(-n+2){
        border-bottom:1px solid #edf2f7;
    }

    .review-grid > div:last-child{
        border-bottom:0;
    }

    .review-payment-methods{
        grid-template-columns:1fr;
    }

    .payment-price-row{
        align-items:flex-start;
    }
}

.registration-modal{
    position:fixed;
    inset:0;
    z-index:5000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
}

.registration-modal.is-open{
    display:flex;
}

.registration-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(3,18,38,.68);
    backdrop-filter:blur(5px);
}

.registration-modal-dialog{
    position:relative;
    z-index:1;
    width:min(100%,580px);
    max-height:calc(100vh - 40px);
    overflow-y:auto;
    padding:34px;
    border:1px solid rgba(255,255,255,.5);
    border-radius:22px;
    background:#fff;
    box-shadow:0 30px 80px rgba(3,18,38,.28);
    text-align:center;
}

.registration-modal-close{
    position:absolute;
    top:15px;
    right:15px;
    width:38px;
    height:38px;
    border:0;
    border-radius:50%;
    background:#f1f5f9;
    color:#38536f;
    font-size:18px;
    cursor:pointer;
}

.registration-modal-icon{
    width:72px;
    height:72px;
    margin:0 auto 18px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#e8f8ef;
    color:#159653;
    font-size:34px;
}

.registration-modal-icon-draft{
    background:#eef4ff;
    color:#245da8;
}

.registration-modal-dialog h2{
    margin:0;
    color:#061b3a;
    font-size:26px;
}

.registration-modal-dialog > p{
    margin:14px auto 0;
    color:#536b84;
    line-height:1.65;
}

.registration-modal-list{
    margin:24px 0 0;
    padding:0;
    list-style:none;
    text-align:left;
}

.registration-modal-list li{
    display:flex;
    align-items:flex-start;
    gap:11px;
    padding:11px 0;
    border-bottom:1px solid #edf2f7;
    color:#294660;
    line-height:1.5;
}

.registration-modal-list li:last-child{
    border-bottom:0;
}

.registration-modal-list i{
    margin-top:4px;
    color:#159653;
}

.registration-modal-actions{
    display:flex;
    justify-content:center;
    gap:12px;
    margin-top:27px;
}

.draft-saved-information{
    display:flex;
    align-items:flex-start;
    gap:13px;
    margin-top:23px;
    padding:16px;
    border-radius:14px;
    background:#f5f8fc;
    text-align:left;
}

.draft-saved-information > i{
    margin-top:3px;
    color:#245da8;
    font-size:20px;
}

.draft-saved-information strong,
.draft-saved-information span{
    display:block;
}

.draft-saved-information strong{
    color:#102b50;
}

.draft-saved-information span{
    margin-top:4px;
    color:#64748b;
    font-size:13px;
}

.draft-photo-warning{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:13px 15px;
    border-radius:12px;
    background:#fff8e8;
    color:#79520b !important;
    text-align:left;
    font-size:13px;
}

.draft-photo-warning i{
    margin-top:3px;
}

body.registration-modal-open{
    overflow:hidden;
}

.wizard-save-status{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:4500;
    display:flex;
    align-items:center;
    gap:9px;
    padding:11px 15px;
    border:1px solid #cce7d7;
    border-radius:999px;
    background:#f1fbf5;
    color:#12643a;
    font-size:13px;
    font-weight:800;
    box-shadow:0 12px 30px rgba(6,27,58,.13);
    opacity:0;
    transform:translateY(12px);
    pointer-events:none;
    transition:opacity .2s ease, transform .2s ease;
}

.wizard-save-status.is-visible{
    opacity:1;
    transform:translateY(0);
}

@media (max-width:620px){
    .registration-modal-dialog{
        padding:29px 20px 22px;
        border-radius:18px;
    }

    .registration-modal-dialog h2{
        font-size:22px;
    }

    .registration-modal-actions{
        flex-direction:column-reverse;
    }

    .registration-modal-actions .btn{
        width:100%;
        justify-content:center;
    }

    .wizard-save-status{
        right:12px;
        bottom:12px;
    }
}

.registration-server-error{
    display:flex;
    align-items:flex-start;
    gap:13px;
    margin-bottom:24px;
    padding:16px 18px;
    border:1px solid #f0b7b2;
    border-radius:14px;
    background:#fff4f3;
    color:#922018;
}

.registration-server-error > i{
    margin-top:3px;
    font-size:20px;
}

.registration-server-error strong{
    display:block;
    margin-bottom:5px;
}

.registration-server-error p{
    margin:0;
    line-height:1.55;
}

.password-input-wrapper{
    position:relative;
    margin-top:8px;
}

.password-input-wrapper input{
    width:100%;
    padding-right:50px;
}

.password-visibility-button{
    position:absolute;
    top:50%;
    right:10px;
    width:36px;
    height:36px;
    transform:translateY(-50%);
    border:0;
    border-radius:9px;
    background:transparent;
    color:#536b84;
    cursor:pointer;
}

.password-visibility-button:hover,
.password-visibility-button:focus{
    background:#edf4fa;
    color:#159653;
    outline:none;
}

.password-match-message{
    min-height:20px;
}

.password-match-message.is-valid{
    color:#11834a;
    font-weight:700;
}

.password-match-message.is-invalid{
    color:#b42318;
    font-weight:700;
}

.microchip-check-message{
    display:block;
    min-height:20px;
    margin-top:7px;
    color:#64748b;
    font-size:13px;
    line-height:1.45;
}

.microchip-check-message.is-checking{
    color:#536b84;
    font-weight:700;
}

.microchip-check-message.is-available{
    color:#11834a;
    font-weight:800;
}

.microchip-check-message.is-unavailable,
.microchip-check-message.is-error{
    color:#b42318;
    font-weight:800;
}

#microchipNumber.microchip-available{
    border-color:#159653;
    box-shadow:0 0 0 3px rgba(21,150,83,.10);
}

#microchipNumber.microchip-unavailable{
    border-color:#d92d20;
    box-shadow:0 0 0 3px rgba(217,45,32,.10);
}

.email-check-message{
    display:block;
    min-height:20px;
    margin-top:7px;
    color:#64748b;
    font-size:13px;
    line-height:1.45;
}

.email-check-message.is-checking{
    color:#536b84;
    font-weight:700;
}

.email-check-message.is-available{
    color:#11834a;
    font-weight:800;
}

.email-check-message.is-incomplete{
    color:#946200;
    font-weight:800;
}

.email-check-message.is-unavailable,
.email-check-message.is-error{
    color:#b42318;
    font-weight:800;
}

#registrationEmail.email-available{
    border-color:#159653;
    box-shadow:0 0 0 3px rgba(21,150,83,.10);
}

#registrationEmail.email-incomplete{
    border-color:#d99b16;
    box-shadow:0 0 0 3px rgba(217,155,22,.10);
}

#registrationEmail.email-unavailable{
    border-color:#d92d20;
    box-shadow:0 0 0 3px rgba(217,45,32,.10);
}

.registration-declarations{
    display:grid;
    gap:14px;
    margin-top:24px;
}

.registration-declarations .registration-confirmation{
    margin-top:0;
}


/* Register dashboard navigation */
.register-dashboard-navigation {
    width: min(1180px, calc(100% - 40px));
    margin: 22px auto 0;
}

.register-dashboard-back {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #2563eb;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.register-dashboard-back i {
    font-size: 0.9rem;
    transition: transform 0.2s ease;
}

.register-dashboard-back:hover {
    color: #1d4ed8;
}

.register-dashboard-back:hover i {
    transform: translateX(-3px);
}

.register-dashboard-back:focus-visible,
.register-cancel-registration:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.25);
    outline-offset: 4px;
    border-radius: 6px;
}

.register-cancel-area {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid #e5e7eb;
}

.register-cancel-registration {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #667085;
    font-size: 0.92rem;
    font-weight: 650;
    text-decoration: none;
    transition:
        color 0.2s ease,
        background-color 0.2s ease;
}

.register-cancel-registration:hover {
    color: #b42318;
}

@media (max-width: 640px) {
    .register-dashboard-navigation {
        width: min(100% - 28px, 1180px);
        margin-top: 16px;
    }

    .register-dashboard-back {
        font-size: 0.9rem;
    }

    .register-cancel-area {
        margin-top: 22px;
        padding-top: 18px;
    }
}

/* PASSWORD LIVE VALIDATION START */

.password-feedback {
    margin-top: 10px;
    padding: 12px 14px;
    border: 1px solid #d9e2e8;
    border-radius: 10px;
    background: #f8fafb;
}

.password-requirements-title {
    margin-bottom: 7px;
    color: #273640;
    font-size: 0.88rem;
    font-weight: 700;
}

.password-requirements {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.password-requirement {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #687780;
    font-size: 0.84rem;
    line-height: 1.4;
    transition:
        color 0.18s ease,
        opacity 0.18s ease;
}

.password-requirement-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 17px;
    width: 17px;
    height: 17px;
    font-size: 0.78rem;
    font-weight: 800;
}

.password-requirement.is-valid {
    color: #16804b;
}

.password-requirement.is-invalid {
    color: #c23b36;
}

.password-strength {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid #e2e8ec;
}

.password-strength-heading {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 6px;
    color: #687780;
    font-size: 0.8rem;
}

.password-strength-label {
    font-weight: 700;
}

.password-strength-track {
    position: relative;
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: #dfe6ea;
}

.password-strength-bar {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: #aab6bd;
    transition:
        width 0.25s ease,
        background-color 0.25s ease;
}

.password-feedback[data-strength="weak"]
.password-strength-bar {
    background: #c9433d;
}

.password-feedback[data-strength="fair"]
.password-strength-bar {
    background: #d38a21;
}

.password-feedback[data-strength="good"]
.password-strength-bar {
    background: #4e8c67;
}

.password-feedback[data-strength="strong"]
.password-strength-bar {
    background: #16804b;
}

.password-feedback[data-strength="weak"]
.password-strength-label {
    color: #c9433d;
}

.password-feedback[data-strength="fair"]
.password-strength-label {
    color: #b66d0c;
}

.password-feedback[data-strength="good"]
.password-strength-label,
.password-feedback[data-strength="strong"]
.password-strength-label {
    color: #16804b;
}

#registrationPassword.password-is-valid {
    border-color: #16804b;
    box-shadow: 0 0 0 3px rgba(22, 128, 75, 0.11);
}

#registrationPassword.password-is-invalid {
    border-color: #c9433d;
    box-shadow: 0 0 0 3px rgba(201, 67, 61, 0.09);
}

@media (max-width: 560px) {
    .password-requirements {
        grid-template-columns: 1fr;
    }
}

/* PASSWORD LIVE VALIDATION END */

/* PASSWORD FEEDBACK FULL WIDTH START */

.password-feedback-full-width {
    grid-column: 1 / -1;
    width: 100%;
    box-sizing: border-box;
}

.password-feedback-full-width .password-requirements {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.password-feedback-full-width .password-requirement {
    align-items: flex-start;
}

@media (max-width: 760px) {
    .password-feedback-full-width
    .password-requirements {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .password-feedback-full-width
    .password-requirements {
        grid-template-columns: 1fr;
    }
}

/* PASSWORD FEEDBACK FULL WIDTH END */

/* GUEST CANCEL REGISTRATION START */

.form-actions .register-guest-cancel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-left: auto;
    padding: 12px 18px;
    border: 1px solid #d14343;
    border-radius: 8px;
    background: #ffffff;
    color: #b42318;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition:
        background-color 0.18s ease,
        border-color 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease;
}

.form-actions .register-guest-cancel:hover {
    border-color: #b42318;
    background: #fff3f2;
    color: #912018;
    text-decoration: none;
}

.form-actions .register-guest-cancel:active {
    transform: translateY(1px);
}

.form-actions .register-guest-cancel:focus-visible {
    outline: 3px solid rgba(180, 35, 24, 0.18);
    outline-offset: 3px;
}

@media (max-width: 600px) {
    .form-actions {
        flex-wrap: wrap;
        gap: 12px;
    }

    .form-actions .register-guest-cancel {
        width: 100%;
        margin-left: 0;
    }
}

/* GUEST CANCEL REGISTRATION END */

