


/* Styles pour les icônes de rôle dans les messages */
.role-icon {
    height: auto;
    margin-left: 5px;
    margin-right: 5px;
    width: clamp(30px, 1.5vw, 40px);
    vertical-align: middle;
    transition: transform 0.3s ease;
}

.role-icon:hover,
.private-role-icon:hover {
    transform: scale(3);
}

/* NOTIFICATIONS*/

.notification {
    position: fixed;
    top: 20px;
    right: 20px;
    padding: 15px 25px;
    border-radius: 5px;
    color: white;
    font-weight: bold;
    z-index: 1000;
    animation: slideIn 0.3s ease-out;
}

.notification.success {
    background-color: #4CAF50;
}

.notification.error {
    background-color: #f44336;
}

@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* BOUTONS*/
.buttons-container {
    display: flex;
    justify-content: space-evenly;
}

.pushable {
    background: hsl(0, 0%, 0%);
    border-radius: 12px;
    border: none;
    padding: 0;
    cursor: pointer;
    outline-offset: 4px;
    align-self: center;
    margin: 10px 0;
    text-decoration: none;
    font-family: 'Libre Baskerville', serif;
}

.front {
    display: flex;
    padding: 16px 32px;
    border-radius: 12px;
    font-size: clamp(12px, 1vw, 18px);
    font-weight: bold;
    background: hsl(40, 4%, 28%);
    color: white;
    transform: translateY(-6px);
    justify-content: center;
    pointer-events: none;
}

.pushable:active .front,
.pushableback:active .frontback {
    transform: translateY(-2px);
}

/* CHAT*/


.chat-error-message {
    background-color: #f79a9a;
    color: #ff0000;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
    display: flex;
    flex-direction: column;
    border: 1px solid #ea7979;
    border-radius: 10px;
    padding: 10px;
}

.moderation-notification-badge {
    background-color: rgb(236, 214, 15);
    color: black;
    font-size: 16px;
    font-weight: bold;
    width: 24px; /* Assure une forme ronde */
    height: 24px; /* Doit être égal à width */
    border-radius: 50%; /* Rend le badge parfaitement circulaire */
    
    display: flex; /* Centre le texte */
    align-items: center; /* Centre verticalement */
    justify-content: center; /* Centre horizontalement */
    
    position: absolute;
    right: -15px; /* Ajuste la position selon le besoin */
    top: -15px;
    
    z-index: 1000;
}

.seen-status {
    display: flex;
    font-size: 0.8em;
    color: #44eb11;
    margin-left: 8px;
    font-style: italic;
    justify-content: flex-end;
}





.status-indicator {
    position: absolute;
    bottom: 2px;
    right: 2px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid #fff;
    transition: background-color 0.3s ease;
}

.status-indicator.online {
    background-color: #2d9e0a;
}

.status-indicator.offline {
    background-color: #808080;
}









.joker-container {
    position: relative;
    display: inline-block;
}

.info-btn {
    position: absolute;
    top: -8px;
    right: -8px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: none;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    transition: all 0.3s;
    z-index: 2;
}

.info-btn:hover {
    scale: 1.3;
}

.joker-info-image {
    display: none;
    position: absolute;
    top: 100%;
    right: -10px;
    width: clamp(150px, 12vw, 200px);
    height: auto;
    z-index: 1002;
    pointer-events: auto;
}

.info-btn:hover + .joker-info-image {
    display: flex;
}

.chat-close-button {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 50px;
    background-color: rgba(255, 0, 0, 0.8);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 1002;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.chat-close-button:hover {
    background-color: rgba(255, 0, 0, 1);
    transform: translateX(-50%) scale(1.1);
}

.chat-close-button .close-icon {
    width: 30px;
    height: 30px;
    filter: brightness(0) invert(1);
}

@media only screen and (min-width: 600px) and (max-width: 800px) {
    .joker-info-image {
        display: none;
        position: fixed;
        top: 20px;
        left: 50%;
        transform: translateX(-50%);
        width: clamp(200px, 26vw, 250px);
        height: auto;
        z-index: 1002;
        pointer-events: auto;
    }
}

@media only screen and (min-width: 801px) and (max-width: 1024px) {

}

@media only screen and (max-width: 768px) {
    body {
        flex-direction: column;
    }

    .joker-info-image {
        display: none;
        position: fixed;
        top: 20px;
        left: 50%;
        transform: translateX(-50%);
        width: clamp(200px, 26vw, 250px);
        height: auto;
        z-index: 1002;
        pointer-events: auto;
    }
}


.next-question-container {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 20px;
}

#btn-next-experience {
    background: hsl(138.46deg 89.39% 21.22%);
    border-radius: 0.75rem;
    border: none;
    padding: 0;
    cursor: pointer;
    outline-offset: 4px;
    align-self: center;
    margin: 1.25rem 0;
}

#btn-next-experience .frontnext {
    display: flex;
    padding: 1rem 2rem;
    border-radius: 0.75rem;
    font-size: clamp(16px, 1.5vw, 32px);
    background: hsl(113.54deg 87.1% 29.46%);
    color: white;
    transform: translateY(-6px);
    justify-content: center;
    pointer-events: none;
}

#btn-next-experience:active .frontnext {
    transform: translateY(-2px);
}

/* From Uiverse.io by Galahhad */ 
.switch {
    /* switch */
    --switch-width: 46px;
    --switch-height: 24px;
    --switch-bg: rgb(131, 131, 131);
    --switch-checked-bg: rgb(0, 218, 80);
    --switch-offset: calc((var(--switch-height) - var(--switch-circle-diameter)) / 2);
    --switch-transition: all .2s cubic-bezier(0.27, 0.2, 0.25, 1.51);
    /* switch-circle */
    --switch-circle-diameter: 18px;
    --switch-circle-bg: #fff;
    --switch-circle-shadow: 1px 1px 2px rgba(146, 146, 146, 0.45);
    --switch-circle-checked-shadow: -1px 1px 2px rgba(163, 163, 163, 0.45);
    --switch-circle-transition: var(--switch-transition);
    /* icon */
    --icon-transition: all .2s cubic-bezier(0.27, 0.2, 0.25, 1.51);
    --icon-cross-color: var(--switch-bg);
    --icon-cross-size: 6px;
    --icon-checkmark-color: var(--switch-checked-bg);
    --icon-checkmark-size: 10px;
    /* effect line */
    --effect-width: calc(var(--switch-circle-diameter) / 2);
    --effect-height: calc(var(--effect-width) / 2 - 1px);
    --effect-bg: var(--switch-circle-bg);
    --effect-border-radius: 1px;
    --effect-transition: all .2s ease-in-out;
}

.switch input {
display: none;
}

.switch {
display: inline-block;
}

.switch svg {
-webkit-transition: var(--icon-transition);
-o-transition: var(--icon-transition);
transition: var(--icon-transition);
position: absolute;
height: auto;
}

.switch .checkmark {
width: var(--icon-checkmark-size);
color: var(--icon-checkmark-color);
-webkit-transform: scale(0);
-ms-transform: scale(0);
transform: scale(0);
}

.switch .cross {
width: var(--icon-cross-size);
color: var(--icon-cross-color);
}

.slider {
-webkit-box-sizing: border-box;
box-sizing: border-box;
width: var(--switch-width);
height: var(--switch-height);
background: var(--switch-bg);
border-radius: 999px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
position: relative;
-webkit-transition: var(--switch-transition);
-o-transition: var(--switch-transition);
transition: var(--switch-transition);
cursor: pointer;
}

.switch-circle {
width: var(--switch-circle-diameter);
height: var(--switch-circle-diameter);
background: var(--switch-circle-bg);
border-radius: inherit;
-webkit-box-shadow: var(--switch-circle-shadow);
box-shadow: var(--switch-circle-shadow);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-transition: var(--switch-circle-transition);
-o-transition: var(--switch-circle-transition);
transition: var(--switch-circle-transition);
z-index: 1;
position: absolute;
left: var(--switch-offset);
}

.slider::before {
content: "";
position: absolute;
width: var(--effect-width);
height: var(--effect-height);
left: calc(var(--switch-offset) + (var(--effect-width) / 2));
background: var(--effect-bg);
border-radius: var(--effect-border-radius);
-webkit-transition: var(--effect-transition);
-o-transition: var(--effect-transition);
transition: var(--effect-transition);
}

/* actions */

.switch input:checked+.slider {
background: var(--switch-checked-bg);
}

.switch input:checked+.slider .checkmark {
-webkit-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
}

.switch input:checked+.slider .cross {
-webkit-transform: scale(0);
-ms-transform: scale(0);
transform: scale(0);
}

.switch input:checked+.slider::before {
left: calc(100% - var(--effect-width) - (var(--effect-width) / 2) - var(--switch-offset));
}

.switch input:checked+.slider .switch-circle {
left: calc(100% - var(--switch-circle-diameter) - var(--switch-offset));
-webkit-box-shadow: var(--switch-circle-checked-shadow);
box-shadow: var(--switch-circle-checked-shadow);
}

@media only screen and (max-width: 768px) {
    .next-question-container {
        margin-top: 10px;
    }
    
    #btn-next-experience .frontnext {
        font-size: clamp(14px, 1.2vw, 24px);
        padding: 0.75rem 1.5rem;
    }
}
