/* CSS pour les animations */
.transition {
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.hidden {
    opacity: 0;
    visibility: hidden;
}

.visible {
    opacity: 1;
    visibility: visible;
}

/* CSS pour les boutons */
.test {
    background: #fff;
    border: 2px solid #dbdbdb;
    color: #1a334a;
    font: inherit;
    padding: 0 38px;
    vertical-align: middle;
    font-size: 16px;
    line-height: 46px;
    text-align: center;
    border-radius: 500px;
}

.test:hover {
    border-color: #0058a4;
    box-shadow: inset 0 0 10px rgba(0,118,189,.2),0 0 10px rgba(0,118,189,.2);
}

.sq_pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#question-number-container {
    flex-grow: 1;
    text-align: center;
}

.right-buttons {
    display: flex;
    gap: 10px; /* Adjust the gap as needed */
}

.progress-container {
    width: 100%;
    background-color: white;
    border: 1px solid #30a0e7;
    margin: 20px 0;
    height: 20px; /* Adjust the height as needed */
}

.progress-bar {
    width: 0%;
    height: 100%;
    background-color: #30a0e7;
    text-align: center;
    line-height: 20px; /* Adjust to match the height of the container */
    color: white;
}

.flex-container {
    display: flex;
    justify-content: space-between;
    align-items: center; /* Ensure vertical alignment */
    margin-bottom: 10px; /* Adjust as needed */
}

.flex-container span:first-child {
    flex: 1; /* Take up remaining space */
}

.left-align {
    text-align: left;
    flex: 0 0 60%; /* Fixed width for the scores */
}

.logout-btn {
    border: 2px solid #30a0e7;
    color: #30a0e7;
    padding: 10px 20px;
    /* font-weight: bold; */
    font-size: 16px;
}

.select_language {
    color: #30a0e7;
    padding: 10px 20px;
    border: none;
    font-size: 16px;
}

a.buttons_in_table {
    background: #30a0e7;
    border: 2px solid transparent;
    color: #fff;
    font: inherit;
    padding: 5px;
    vertical-align: middle;
    font-size: 14px;
    line-height: 30px;
    text-align: center;
    border-radius: 500px;
}

a.buttons_in_table:hover {
    background-color: #0058a4; 
    box-shadow: 0 0 15px 0 rgba(24,165,255,.5);
    /* changer le cursor */
    cursor: pointer;
}

button.buttons_in_table {
    background: #30a0e7;
    border: 2px solid transparent;
    color: #fff;
    font: inherit;
    padding: 0 10px;
    vertical-align: middle;
    font-size: 14px;
    line-height: 30px;
    text-align: center;
    border-radius: 500px;
}

button.buttons_in_table:hover {
    background-color: #0058a4; 
    box-shadow: 0 0 15px 0 rgba(24,165,255,.5);
    /* changer le cursor */
    cursor: pointer;
}

/* Zebra striping for DataTables and normal tables */
.uk-table tbody tr:nth-child(odd),
table.dataTable tbody tr:nth-child(odd),
.droptablestable table tbody tr:nth-child(odd),
.dataTables_wrapper .dataTable tbody tr.odd {
    background-color: #f8f8f8 !important;
}
.uk-table tbody tr:nth-child(even),
table.dataTable tbody tr:nth-child(even),
.droptablestable table tbody tr:nth-child(even),
.dataTables_wrapper .dataTable tbody tr.even {
    background-color: #fff !important;
}

/* Ensure cell backgrounds are transparent so row color shows */
.uk-table tbody tr td,
table.dataTable tbody tr td,
.droptablestable table tbody tr td {
    background-color: transparent !important;
}

/* Selected row: always override zebra striping */
.uk-table tbody tr.selected-row,
table.dataTable tbody tr.selected-row,
.droptablestable table tbody tr.selected-row,
.dataTables_wrapper .dataTable tbody tr.odd.selected-row,
.dataTables_wrapper .dataTable tbody tr.even.selected-row {
    background-color: #d1e6ff !important;
}
.uk-table tbody tr.selected-row td,
table.dataTable tbody tr.selected-row td,
.droptablestable table tbody tr.selected-row td {
    background-color: inherit !important;
}

.selectable-row {
    cursor: pointer;
}

.selection-controls {
    margin: 10px 0;
    display: flex;
    gap: 10px;
}

.pdf-loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.pdf-loading-content {
    background-color: white;
    padding: 20px;
    border-radius: 5px;
    text-align: center;
}

.pdf-progress {
    margin-top: 10px;
    width: 100%;
}

.sq_pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    gap: 10px;
}

#question-number-container {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
}

.right-buttons {
    display: flex;
    gap: 10px;
    margin-left: auto;
}

/* Mobile header styles */
.tm-header-mobile {
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

.tm-header-mobile .uk-navbar-container {
    background: #fff;
}

.tm-header-mobile .uk-navbar-toggle {
    min-height: 60px;
    color: #333;
}

.tm-header-mobile .uk-logo img {
    max-height: 50px;
    width: auto;
}

#mobile-offcanvas .uk-offcanvas-bar {
    background: #fff;
    color: #333;
    padding: 30px 20px;
}

#mobile-offcanvas .uk-nav-primary > li > a {
    color: #333;
    font-size: 16px;
    padding: 8px 0;
}

/* Dashboard advertising banner: full-bleed on mobile */
.dashboard-banner-bleed {
    margin: 2rem 0;
}

.dashboard-banner-bleed a {
    display: block;
}

.dashboard-banner-bleed img {
    width: 100%;
    height: auto;
    display: block;
    max-height: 200px;
    object-fit: contain;
}

@media (max-width: 639px) {
    .dashboard-banner-bleed {
        position: relative;
        left: 50%;
        width: 100vw;
        transform: translateX(-50%);
        margin-left: 0;
        margin-right: 0;
        max-width: none;
    }

    .dashboard-banner-bleed a {
        display: block;
    }

    .dashboard-banner-bleed img {
        width: 100%;
        height: auto;
        display: block;
        max-height: 180px;
    }
}

#mobile-offcanvas .uk-nav-primary > li > a:hover {
    color: #1e87f0;
}

#mobile-offcanvas .uk-select {
    height: 40px;
    border-radius: 4px;
    background-color: #f8f8f8;
}

#mobile-offcanvas .uk-offcanvas-close {
    color: #333;
}

/* Désactiver le scroll sur les inputs number */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type="number"] {
    -moz-appearance: textfield;
}

/* Optionnel : désactiver aussi le scroll de la molette */
input[type="number"]:focus {
    outline: none;
}