body {
    background-color: #f8f9fa;
}
.btn-0{
    padding: 0.4rem 1rem;
    border-radius: 8px;
    text-decoration: none;
}
a.btn-0{
    display: inline-block;
}
.btn-0 i{
    margin-right: 4px;
}
.btn-1{
    color: #fff;
    background: linear-gradient(135deg, #68deed, #007bff);
    border: none;
    transition: transform 0.2s;
    min-height: 40px;
}
.btn-1.outlined{
    color: #212529;
    border: 1px solid #087ffe;
    background: #fff;
}
.btn-1:hover{
    background: linear-gradient(135deg, #5fd1e0, #0075f2);
    color: #fff;
}
.bg-sabbia{
    background-color: #F3EDE7;
}

.breadcrumb-item a{
    color: #212529;
}

/* CHATBOT GENERICO */
#gl-chatbot-outmessage-box{
    bottom: 100px !important;
}
#gl-chatbot-activator{
    background: linear-gradient(135deg, #8ef2ff, #007bff);
}
#gl-chatbot{
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1) !important;
}
#gl-chatbot,
#gl-chatbot-outmessage-box{
    font-family: Arial, Helvetica, sans-serif !important;
}
#gl-chatbot-dimensions,
#gl-chatbot-colormode{
    display: none;
}
#gl-chatbot:not(.gl-chatbot-xl) .gl-message.gl-bot{
    background-color: #ebf5ff !important;
    color: #212529;
}
#gl-chatbot:not(.gl-chatbot-xl) .gl-message.gl-client>div:last-of-type{
    background-color: whitesmoke;
}
#gl-chatbot .gl-message.gl-bot+.gl-avatar-bot {
    margin-top: 15px;
}
#gl-chatbot-body>div:not(.gl-loading-content){
    height: 100% !important;
}


/* HOMEPAGE */
#homePage #section-boxes{
    min-height: calc(100dvh - 100px);
}
#homePage .feature-box {
    border-radius: 12px;
    padding: 40px 20px;
    color: #ccc;
    font-weight: 800;
    font-size: 2.52rem; /* 1.8rem * 1.4 = 2.52rem */
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
    min-height: 235px;
    transition: transform 0.2s;
    position: relative;
	text-decoration: none;
}

#homePage .feature-box:hover {
    transform: scale(1.02);
	color: #fff;
}
#homePage .feature-box.locked:hover{
	color: #ccc;
}

#homePage .feature-box span {
    display: block;
    line-height: 1.2;
}

#homePage .locked::after {
    content: '🔒';
    position: absolute;
    top: 12px;
    right: 18px;
    font-size: 1.6rem;
}

#homePage .quiz {
    background: linear-gradient(135deg, #ff00cc, #3333ff);
    color: white;
}

#homePage .lezioni-live {
    background: linear-gradient(135deg, #2c2c7c, #462162);
}

#homePage .manuale {
    background: linear-gradient(135deg, #5e165e, #2e2e4e);
}

#homePage .video-lezioni {
    background: linear-gradient(135deg, #2c2c7c, #4c126c);
}

@media (max-width: 767.98px) {
    #homePage #section-boxes{
        min-height: calc(100dvh - 160px);
    }
    #homePage .feature-box {
        font-size: 2.2rem;
        min-height: 160px;
    }
}

/* */


#mainNavbar .d-grid {
    grid-template-columns: 35% 30% 35%;
}
#mainNavbar .navbar-brand img{
    height: 40px;
}
#mainNavbar .btn-premium {
    background: linear-gradient(135deg, #8ef2ff, #007bff);
    border: none;
    padding: 0.4rem 1rem;
    border-radius: 0.375rem;
    font-size: 17px;
    transition: transform 0.2s;
}
#mainNavbar .btn-premium:hover {
    transform: scale(1.05);
    color: white;
}
#mainNavbar .nav-link{
    font-size: 17px;
}
#loginModal .nav-tabs.custom-tabs {
    border: none;
    gap: 0.5rem;
}
#loginModal .nav-tabs.custom-tabs .nav-link {
    border: none;
    background-color: #f1f3f5;
    color: #495057;
    border-radius: 8px;
    padding: 0.4rem 1.2rem;
    transition: background-color 0.3s;
}

#loginModal .nav-tabs.custom-tabs .nav-link.active {
    background-color: #0d6efd;
    color: white;
    font-weight: 500;
}

#loginModal .nav-tabs.custom-tabs .nav-link:hover {
    background-color: #d0dce9;
}

#loginModal .modal-header .btn-close {
    position: absolute;
    top: -20px;
    right: -20px;
    z-index: 10;
}

#loginModal .modal-content {
    border-radius: 1rem;
}

#loginModal .btn {
    border-radius: 0.5rem;
}
#loginModal button[type="submit"]{
    height: 48px;
}





#patentiPage .card-patente {
    border: none;
    border-radius: 12px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s;
    height: 100%;
    text-decoration: none;
    min-height: 140px;
}

#patentiPage .card-patente:hover {
    transform: translateY(-2px);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
}

#patentiPage .card-patente img {
    width: 100px;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}
#patentiPage .card-patente h4{
    color: #212529
}

#patentiPage .card-title-custom {
    font-size: 1.1rem;
}


#argomentiPage .topic-card-item {
    transition: transform 0.2s;
    min-height: 140px;
}

#argomentiPage .topic-card-item:hover {
    transform: translateY(-2px);
}

#argomentiPage .topic-image {
    width: 100px;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

#argomentiPage .card-title-custom {
    font-size: 1.2rem;
    line-height: 24px;
}

#argomentiPage .search-bar {
    max-width: 450px;
    height: 42px;
}
#argomenti-search-box .btn-1{
    height: 42px;
}

#argomentiPage .badge-completato {
    font-size: 0.7rem;
    padding: 0.35rem 0.6rem;
    border-radius: 5px;
}



#risultatoPage .card{
    border: 1px solid #dee2e6;
    /* box-shadow: 0 4px 6px rgba(0,0,0,0.1); */
}
#sezione-risultati{
    min-height: calc(100vh - 100px);
}
#risultatoPage #risultati-dettaglio .list-group-item {
    background-color: white;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
    padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
    border: 1px solid #dee2e6;
}
#risultatoPage #risultati-dettaglio .list-group-item.danger {
    /* border: 1px solid rgba(128, 0, 0, 0.2); */
}
#risultatoPage #risultati-dettaglio .list-group-item:last-of-type{
    margin-bottom: 0;
}
#risultatoPage .question-title{
    font-size: 18px;
}
/*
#risultatoPage #risultati-dettaglio .list-group-item.danger:before{
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23cd5c5c' viewBox='0 0 16 16'%3E%3Cpath d='M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z'/%3E%3C/svg%3E");
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: calc();

}*/
#risultatoPage #risultati-dettaglio .list-group-item .question-number{
    font-size: 13px;
}
#risultatoPage #badge-risultato{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
}
#risultatoPage #filtra-tab button{
    font-size: 18px;
    border: 0;
    border-bottom: 2px solid rgb(194, 194, 194);
    border-radius: 0;
}
#risultatoPage #filtra-tab button.active{
    border-color: #2590FF;
}
@media (min-width: 576px){
    #risultatoPage #risultati-dettaglio .list-group-item .small{
        display: inline;
    }
    #risultatoPage #risultati-dettaglio .list-group-item .small+.small{
        margin-left: 10px;
    }
}
@media (min-width: 768px){
    .w-md-auto {
        width: auto !important;
    }
}
@media (min-width: 992px){
    #risultatoPage #badge-risultato{
        height: 90px;
    }
    #risultatoPage #esiti-risultati-box{
        grid-template-columns: calc(33.33% - 12px) calc(66.66% - 12px);
        column-gap: 24px;
    }
    #risultatoPage #risultati-dettaglio .list-group-item {
        justify-content: space-between;
        align-items: center;
    }
    #risultatoPage #gl-chatbot-content,
    #risultatoPage #gl-chatbot{
        height: 490px;
        width: 430px;
    }
    #risultatoPage #gl-chatbot{
        
        /*right: 60px !important;
        bottom: 0px !important;*/
        box-shadow: 0 0 0 0 !important;
        /* background-color: transparent;*/
        border: 1px solid #efefef; 
        border-bottom-right-radius: 15px !important;
        /*  transform: translateY(110%); */
    }
    #risultatoPage #gl-chatbot-header{
        border-color: #efefef;
    }
    /*
    #gl-chatbot.animation{
        animation: chatbotUp;
        animation-duration: 0.5s;
        animation-fill-mode: forwards;
    }
    @keyframes chatbotUp{
        0%{ transform: translateY(100%);}
        100%{ transform: translateY(0%);}
    }*/
}
@media (min-width: 1200px){
    #risultatoPage #risultati-dettaglio .list-group-item {
        display: flex;
    }
    #sezione-risultati>.row>div:first-of-type{
        background-color: #fff;
        border: 1px solid rgb(239, 239, 239);
    }
    #risultatoPage #risultati-dettaglio .list-group-item .box-btn-spiegazioni {
        min-width: 150px;
    }
    #risultatoPage #gl-chatbot-close,
    #risultatoPage #gl-chatbot-outmessage-box{
        display: none !important;
    }
    #risultatoPage #gl-chatbot-activator{
        opacity: 0;
    }
}
@media (max-width: 1198.98px){
    #risultatoPage #risultati-dettaglio .list-group-item .box-btn-spiegazioni{
        margin-left: 104px;
    }
}
@media (max-width: 991.98px){
    #risultatoPage #risultati-dettaglio .list-group-item>div:first-of-type{
        margin-top: 5px;
    }
}
@media (max-width: 767.98px){
    #risultatoPage .question-title{
        font-size: 17px;
        line-height: 22px;
    }
    #risultatoPage .card-title{
        font-size: 14px;
    }
    #risultatoPage #filtra-tab button{
        font-size: 16px;
        line-height: 20px;
    }
    /* .box-btn-spiegazioni{
        width: 100% !important;
        text-align: left !important;
        align-items: stretch !important;
        margin-top: 1rem;
    } */
}
@media (max-width: 575.98px){
    #risultatoPage #risultati-dettaglio .list-group-item .box-btn-spiegazioni {
        margin-left: 0px;
    }
}


#quizPage .quiz-header {
    padding-top: 1rem;
    gap: 1rem;
    background-color: transparent;
}
.quiz-header small {
    font-size: 13px;
    max-width: 200px;
    line-height: 14px;
}   
#quizPage .quiz-box {
    background: #fff;
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    height: 290px;
}

@media (min-width: 992px) {
    #quizPage .quiz-box {
        padding: 4rem 5rem;
    }
}

#quizPage .question-image-box{
    width: 220px;
}
#quizPage .question-image {
    width: 100%;
    height: 100%;
    max-height: 170px;
    object-fit: contain;
}

@media (min-width: 768px) {
    #quizPage .question-image-box {
        margin-right: 2rem;
    }
}
#quizPage .question-text {
    font-size: 1.25rem;
    margin-bottom: 2rem;
}
#quizPage .answer-btn {
    width: 200px;
    height: 60px;
    font-size: 1.2rem;
    font-weight: 500;
    border-radius: 8px;
    border: 1px solid #333;
    background-color: white;
}
#quizPage .answer-btn.selected {
    background-color: #0d6efd;
    color: white;
    border-color: #0d6efd;
}
#quizPage .pagination-bubble {
    width: 37.2px !important;
    height: 37.2px !important;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 500;
    background-color: #e9ecef;
    /* margin: 0 4px; */
    cursor: pointer;
    flex-shrink: 0;
    font-size: 1rem;
}
#quizPage .pagination-bubble.active {
    background-color: #0d6efd;
    color: white;
}
#quizPage .pagination-bubble.answered {
    background-color: #ffc107;
    color: black;
}
/*
.quiz-header button#play-audio {
    font-size: 14px;
    padding: 6px 12px;
    border-radius: 1rem;
}*/
.quiz-header button#play-audio{
    font-weight: 600;
    font-size: 15px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.quiz-header #language-toggle{
    height: 36.5px;
    margin-left: -5px;
    z-index: 3;
}
.quiz-header #language-toggle label{
    background-color: #F8F9FA;
    color: #6C757D;
}
.quiz-header #language-toggle input:checked+label{
    background-color: #6C757D;
    color: #fff;
}
#quizPage .timer,
#quizPage .progress-counter {
    font-weight: bold;
    padding: 0.4rem 1rem;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
#quizPage .timer {
    background-color: #f8d7da;
    color: #721c24;
}
#quizPage .progress-counter {
    background-color: #cfe2ff;
    color: #084298;
}
#quizPage #sezione-quiz-esame{
    min-height: 500px;
}
#quizPage .swiper {
    width: 100%;
}
#quizPage .swiper-slide.quiz-box {
    width: auto;
}
#quizPage .bubble-swiper .swiper-slide {
    width: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}


@media (max-width: 768px) {
    #quizPage nav[aria-label="breadcrumb"]{
        display: none;
    }
    #quizPage .quiz-header{
        flex-direction: column;
    }
}


@media (max-width: 575px){
    #mainNavbar .navbar-brand img{
        height: 37px;
    }
    #quizPage .timer,
    #quizPage .progress-counter,
    nav .breadcrumb-item a{
        font-size: 15px;
    }
    #quizPage .answer-btn{
        width: 50%;
        height: 52px;
    }
    #quizPage .question-text{
        font-size: 16.5px;
    }
    #quizPage .quiz-box {
        padding: 20px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        min-height: 400px;
        height: auto;
    }
    #quizPage .question-image-box{
        max-width: unset;
        max-height: unset;
    }
    #quizPage .question-image {
        max-height: 145px;
        max-width: unset;
    }
}

#verificaModal .modal-body,
#exitModal .modal-body{
    font-size: 18px;
}
#verificaModal .modal-footer button,
#exitModal .modal-footer button{
    width: 200px;
}

footer{
    background-color: #027FFF;
    color: #fff;
}
footer small a{
    color: #fff;
    text-decoration: underline;
}
footer small a:hover{
    color: #fff;
    opacity: 0.8;
}





/* Stili per i box risposta di GoPatente */
.gopatente-answer-box {
    background: linear-gradient(135deg, #e8f5e8, #f0f8ff);
    border: 2px solid #4caf50;
    border-radius: 12px;
    padding: 16px;
    margin: 12px 0;
    box-shadow: 0 4px 12px rgba(76, 175, 80, 0.15);
    position: relative;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f8fdf8 !important; /* Forza lo sfondo in caso di conflitti */
}

.gopatente-answer-box::before {
    content: "💡 Risposta";
    display: block;
    font-weight: bold;
    color: #2e7d32;
    font-size: 14px;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: rgba(46, 125, 50, 0.1);
    padding: 4px 8px;
    border-radius: 6px;
    display: inline-block;
}

.gopatente-answer-box .answer-content {
    color: #2c5e2c;
    line-height: 1.6;
    font-size: 15px;
    font-weight: 500;
}

/* Stili per i messaggi di domanda dell'utente - NEUTRI */
.gopatente-user-question {
    background: linear-gradient(135deg, #f5f5f5, #fafafa);
    border: 2px solid #757575;
    border-radius: 12px;
    padding: 16px;
    margin: 12px 0;
    box-shadow: 0 4px 12px rgba(117, 117, 117, 0.15);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    position: relative;
}

.gopatente-user-question .question-prefix {
    font-weight: bold;
    color: #424242;
    font-size: 14px;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: rgba(66, 66, 66, 0.1);
    padding: 4px 8px;
    border-radius: 6px;
    display: inline-block;
}

.gopatente-user-question .question-answer-neutral {
    margin: 10px 0;
    padding: 8px 12px;
    border-radius: 8px;
    font-weight: 600;
    background: rgba(117, 117, 117, 0.1);
    color: #424242;
    border-left: 4px solid #757575;
}

.gopatente-user-question .question-text {
    color: #424242;
    line-height: 1.6;
    font-size: 15px;
    margin: 12px 0 8px 0;
}

.gopatente-user-question .question-id {
    font-size: 12px;
    color: #666;
    background: rgba(0,0,0,0.05);
    padding: 2px 6px;
    border-radius: 4px;
    display: inline-block;
    margin-top: 8px;
}

.gopatente-user-question img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 10px 0;
    border: 2px solid #757575;
}

/* Animazioni */
.gopatente-answer-box {
    animation: slideInAnswer 0.4s ease-out;
    border-left: 4px solid #4caf50;
}

.gopatente-user-question {
    animation: slideInQuestion 0.4s ease-out;
    border-left: 4px solid #ff9800;
}

@keyframes slideInAnswer {
    from {
        opacity: 0;
        transform: translateY(10px);
        background-color: #fff;
    }
    to {
        opacity: 1;
        transform: translateY(0);
        background-color: #f8fdf8;
    }
}

@keyframes slideInQuestion {
    from {
        opacity: 0;
        transform: translateX(-10px);
        background-color: #fff;
    }
    to {
        opacity: 1;
        transform: translateX(0);
        background-color: #fff3e0;
    }
}

/* Versione alternativa con sfondo blu */
.gopatente-answer-box.blue-theme {
    background: linear-gradient(135deg, #e3f2fd, #f3e5f5);
    border: 2px solid #2196f3;
    background-color: #f0f8ff !important;
    border-left: 4px solid #2196f3;
}

.gopatente-answer-box.blue-theme::before {
    color: #1976d2;
    background: rgba(25, 118, 210, 0.1);
}

.gopatente-answer-box.blue-theme .answer-content {
    color: #1565c0;
}

/* Assicurati che sia sempre visibile */
.gopatente-answer-box {
    z-index: 10;
    position: relative;
}

/* Per debug - bordo rosso temporaneo */
.gopatente-answer-box.debug {
    border: 3px solid red !important;
    background: yellow !important;
}