:root {
    --fifa-bg-modal: #112030;
    --fifa-bg-header: #0f1e30;
    --fifa-bg-footer: #0a1622;
    --fifa-teal: #00e8b5;
    --fifa-teal-dark: #00c49a;
    --fifa-text: #d4e8f0;
    --fifa-text-muted: #6a8899;
    --fifa-border: rgba(255,255,255,0.07);
    --fifa-border-teal: rgba(0,232,181,0.22);
    --fifa-radius: 12px;
    --fifa-pad-h: 24px; 
    --fifa-pad-v: 18px; 
    --fifa-body-max-h: 360px;
}


.fifa-modal-dialog {
    max-width: 760px;
    width: 100%;
    margin-inline: auto;
}


.fifa-modal {
    background: var(--fifa-bg-modal);
    border: 1px solid var(--fifa-border-teal);
    border-radius: var(--fifa-radius) !important;
    overflow: hidden;
    box-shadow: 0 24px 80px rgba(0,0,0,.7), 0 0 0 1px rgba(0,232,181,.06) inset;
}

.fifa-modal__header {
    background: var(--fifa-bg-header);
    border-block-end: 1px solid var(--fifa-border-teal);
    padding-block: var(--fifa-pad-v) !important;
    padding-inline: var(--fifa-pad-h) !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}
    .fifa-modal__header::after {
        content: '';
        position: absolute;
        inset-block-end: 0;
        inset-inline: 0;
        block-size: 2px;
        background: linear-gradient(to right, transparent, var(--fifa-teal), transparent);
    }

.fifa-modal__title-group {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0; /* allow shrinking */
}

.fifa-modal__icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: rgba(0,232,181,.10);
    border: 1px solid var(--fifa-border-teal);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.fifa-modal__title {
    font-family: 'Cairo', 'Arial Narrow', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--fifa-text) !important;
    letter-spacing: .5px;
    text-transform: uppercase;
    margin: 0 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fifa-modal__subtitle {
    display: block;
    font-size: 11px;
    color: rgba(0,232,181,.65);
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-block-start: 3px;
}

.fifa-modal__close {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    border-radius: 6px;
    border: 1px solid rgba(255,255,255,.1) !important;
    background: rgba(255,255,255,.04) !important;
    color: var(--fifa-text-muted) !important;
    font-size: 20px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s, border-color .2s, color .2s;
    padding: 0 !important;
    opacity: 1 !important;
}

    .fifa-modal__close:hover {
        background: rgba(220,60,60,.18) !important;
        border-color: rgba(220,60,60,.4) !important;
        color: #ff8080 !important;
    }


.fifa-modal__body {
    max-height: var(--fifa-body-max-h);
    overflow-y: auto;
    padding: 0 !important;
 
    direction: inherit;
}

    .fifa-modal__body::-webkit-scrollbar {
        width: 5px;
    }

    .fifa-modal__body::-webkit-scrollbar-track {
        background: transparent;
    }

    .fifa-modal__body::-webkit-scrollbar-thumb {
        background: rgba(0,232,181,.3);
        border-radius: 3px;
    }

        .fifa-modal__body::-webkit-scrollbar-thumb:hover {
            background: rgba(0,232,181,.5);
        }

.fifa-section {
    padding-block: 16px;
    padding-inline: var(--fifa-pad-h);
    border-block-end: 1px solid var(--fifa-border);
    transition: background .2s;
}

    .fifa-section:last-child {
        border-block-end: none;
    }

    .fifa-section:hover {
        background: rgba(0,232,181,.025);
    }

.fifa-section__hd {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-block-end: 8px;
}

.fifa-section__num {
    font-size: 11px;
    font-weight: 700;
    color: var(--fifa-teal);
    background: rgba(0,232,181,.10);
    border: 1px solid rgba(0,232,181,.25);
    border-radius: 4px;
    padding-block: 2px;
    padding-inline: 8px;
    letter-spacing: 1.5px;
    font-family: 'Cairo', sans-serif;
    flex-shrink: 0;

    direction: ltr;
    unicode-bidi: embed;
}

.fifa-section__title {
    font-family: 'Cairo', 'Arial Narrow', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: #c8dde8;
    text-transform: uppercase;
    letter-spacing: .4px;
}

.fifa-section__text {
    font-size: 13.5px;
    line-height: 1.7;
    color: var(--fifa-text-muted);
}


.fifa-list {
    list-style: none;
    margin-block-start: 8px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

    .fifa-list li {
        font-size: 13px;
        color: var(--fifa-text-muted);
   
        padding-inline-start: 18px;
        position: relative;
        line-height: 1.65;
    }

        .fifa-list li::before {
            content: '';
            position: absolute;
          
            inset-inline-start: 4px;
            top: 8px;
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: rgba(0,232,181,.5);
        }


.fifa-modal__check-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-block: 14px;
    padding-inline: var(--fifa-pad-h);
    background: rgba(0,232,181,.04);
    border-block-start: 1px solid rgba(0,232,181,.12);
    cursor: pointer;
    transition: background .2s;
    user-select: none;
}

    .fifa-modal__check-row:hover {
        background: rgba(0,232,181,.08);
    }

.fifa-checkbox {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    border: 1.5px solid rgba(0,232,181,.4);
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background .2s, border-color .2s;
}

    .fifa-checkbox.is-checked {
        background: rgba(0,232,181,.18);
        border-color: var(--fifa-teal);
    }

.fifa-checkbox-label {
    font-size: 13px;
    color: var(--fifa-text-muted);
    line-height: 1.5;
}

    .fifa-checkbox-label a {
        color: var(--fifa-teal);
        text-decoration: none;
    }

        .fifa-checkbox-label a:hover {
            text-decoration: underline;
        }


.fifa-modal__footer {
    background: var(--fifa-bg-footer) !important;
    border-block-start: 1px solid var(--fifa-border) !important;
    padding-block: 14px !important;
    padding-inline: var(--fifa-pad-h) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap;
    gap: 10px;
}

.fifa-modal__footer-note {
    font-size: 12px;
    color: rgba(255,255,255,.28);
    flex: 1 1 180px;
    min-width: 0;
}

    .fifa-modal__footer-note span {
        color: rgba(0,232,181,.5);
    }

.fifa-modal__footer-btns {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}


.fifa-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s, transform .15s, box-shadow .2s, border-color .2s, color .2s;
    white-space: nowrap;
    padding-block: 10px;
    padding-inline: 20px;
}

.fifa-btn--ghost {
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.05);
    color: #8fa3b8;
    font-size: 13px;
}

    .fifa-btn--ghost:hover {
        background: rgba(255,255,255,.10);
        border-color: rgba(255,255,255,.22);
        color: #c8dbe8;
    }

.fifa-btn--primary {
    border: 1px solid rgba(0,232,181,.5);
    background: linear-gradient(135deg, #00c49a, #00e8b5);
    color: #081820;
    font-family: 'Cairo', 'Arial Narrow', sans-serif;
    font-size: 15px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

    .fifa-btn--primary:hover {
        background: linear-gradient(135deg, #00d4aa, #00ffd0);
        transform: translateY(-1px);
        box-shadow: 0 6px 20px rgba(0,232,181,.28);
    }

    .fifa-btn--primary:active {
        transform: translateY(0);
    }


@keyframes fifa-shake {
    0%,100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-6px);
    }

    75% {
        transform: translateX(6px);
    }
}

.fifa-modal__check-row.shake {
    animation: fifa-shake .35s ease;
    border-block-start-color: rgba(220,60,60,.5) !important;
}
.terms-link-wrap {
    margin-top: 14px;
    padding: 12px 14px;
    background: rgba(0, 245, 196, 0.05);
    border: 1px solid rgba(0, 245, 196, 0.15);
    border-radius: 8px;
    font-size: 0.8rem;
    color: #8a9aaa;
    line-height: 1.5;
    text-align: center;
}

.terms-link {
    color: #00f5c4;
    cursor: pointer;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.2s;
    background: none;
    border: none;
    font-size: 0.8rem;
    font-family: inherit;
    padding: 0;
}

@media (max-width: 768px) {
    :root {
        --fifa-pad-h: 18px;
        --fifa-pad-v: 14px;
        --fifa-body-max-h: 45vh;
    }

    .fifa-modal__icon {
        width: 34px;
        height: 34px;
        font-size: 15px;
    }

    .fifa-modal__title {
        font-size: 17px !important;
    }

    .fifa-section__title {
        font-size: 14px;
    }

    .fifa-section__text {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    :root {
        --fifa-pad-h: 14px;
        --fifa-pad-v: 12px;
        --fifa-body-max-h: 38vh;
    }

    .fifa-modal {
        border-radius: 10px !important;
    }

    .fifa-modal__icon {
        width: 30px;
        height: 30px;
        font-size: 14px;
    }

    .fifa-modal__title {
        font-size: 15px !important;
    }

    .fifa-modal__subtitle {
        display: none;
    }

    .fifa-section__title {
        font-size: 13px;
    }

    .fifa-section__text {
        font-size: 12.5px;
    }

    .fifa-list li {
        font-size: 12px;
    }

    .fifa-checkbox-label {
        font-size: 12px;
    }
    .fifa-modal__footer-note {
        flex: 1 1 100%;
        text-align: center;
        order: 2;
    }

    .fifa-modal__footer-btns {
        width: 100%;
        order: 1;
    }

    .fifa-btn {
        flex: 1;
    }

    .fifa-btn--primary {
        font-size: 14px;
    }
}

@media (max-width: 360px) {
    .fifa-modal__title {
        font-size: 13px !important;
    }

    .fifa-modal__title-group {
        gap: 8px;
    }

    .fifa-btn {
        padding-inline: 12px;
        font-size: 12px;
    }
}


[dir="rtl"] .fifa-modal__header::after {
    background: linear-gradient(to left, transparent, var(--fifa-teal), transparent);
}

[dir="rtl"] .fifa-modal__footer-note {
    text-align: start;
}

@media (max-width: 480px) {
    [dir="rtl"] .fifa-modal__footer-note {
        text-align: center;
    }
}


