:root{
    --jdnco-planning-color : #00A6A6;
}

.lesson-restricted {
    pointer-events: none;
    cursor: not-allowed;
    color: #929292 !important;
    text-decoration: none !important;

}

.learndash-wrapper .ld-item-list .ld-item-list-item.lesson-restricted .ld-item-details,
.learndash-wrapper .ld-focus .ld-course-navigation .ld-lesson-item.lesson-restricted .ld-lesson-item-preview .ld-expand-button {
    display: none;
}

/* TOPIC DURATION */
.learndash-wrapper .ld-topic-list.ld-table-list .ld-table-list-item .ld-table-list-item-preview {
    text-decoration: none !important;
}

.learndash-wrapper .ld-topic-list.ld-table-list .ld-table-list-item .ld-table-list-item-preview .ld-topic-title {
    flex: 1;
}

.learndash-wrapper .ld-topic-list.ld-table-list .ld-table-list-item .ld-table-list-item-preview .ld-topic-duration {
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none !important;
}

/* BLOCAGE LESSON */
.learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-name {
    flex: 1;
}
/*[] For modules */
.learndash-wrapper .ld-item-list .ld-item-list-item span.lesson-tooltip {
    font-size: 10px;
    margin-right: 20px;
    color: lightgray;
    pointer-events: visible;
    display: flex;
    align-items: center;
    justify-content: end;
    flex-direction: row-reverse;
    flex: 0.5;
}
.learndash-wrapper .ld-item-list .ld-item-list-item .ld-item-name.ld-primary-color-hover + .lesson-tooltip {
    padding: 1em 1.25em;
}
.learndash-wrapper .ld-item-list .ld-item-list-item span.lesson-tooltip span.dashicons {
    width: 30px;
    height: 30px;
    font-size: 30px;
    align-self: flex-start;
}

.learndash-wrapper .ld-item-list .ld-item-list-item span.lesson-tooltip span.lesson-tooltip-content {
    visibility: hidden;
    width: 100%;
    color: #929292;
    margin-right: 0.5em;
    border-radius: 6px;
    font-size: 12px;
    text-align: right;
    display: none;
    line-height: 1.25;
}

.learndash-wrapper .ld-item-list .ld-item-list-item span.lesson-tooltip:hover span.lesson-tooltip-content {
    visibility: visible;
    display: block;
}

/*[] For topics */
.learndash-wrapper .ld-topic-list.ld-table-list .ld-table-list-item
.ld-table-list-item-preview.lesson-restricted:hover {
    color: #929292 !important;
}

.learndash-wrapper .ld-table-list
.ld-table-list-items .ld-table-list-item
span.lesson-tooltip{
    font-size: 10px;
    margin-right: 20px;
    color: lightgray;
    pointer-events: visible;
    display: flex;
    align-items: center;
    justify-content: end;
    flex-direction: row-reverse;
    flex: 0.5;
}

.learndash-wrapper
.ld-table-list
.ld-table-list-items .ld-table-list-item
span.lesson-tooltip span.dashicons {
    width: 30px;
    height: 30px;
    font-size: 30px;
    align-self: flex-start;
}

.learndash-wrapper
.ld-table-list
.ld-table-list-items .ld-table-list-item
span.lesson-tooltip span.lesson-tooltip-content {
    visibility: hidden;
    width: 100%;
    color: #929292;
    margin-right: 0.5em;
    text-align: right;
    border-radius: 6px;
    font-size: 12px;
    display: none;
    line-height: 1.25;
}
.learndash-wrapper
.ld-table-list
.ld-table-list-items .ld-table-list-item
span.lesson-tooltip:hover
span.lesson-tooltip-content {
    visibility: visible;
    display: block;
}
/*[] End for topics */
.jdnco_ld-progress ~ .ld-progress {
    display: none!important;
}
.jdnco_ld-progress-course .ld-progress-bar{
    width: 100%;
    max-width: 90%;
    height: var(--ldx-progress-bar-height)!important;
    max-height: var(--ldx-progress-bar-height)!important;
}
.jdnco_ld-progress-course .ld-progress-percentage.ld-secondary-color{
    font-size: 0.75em!important;
}

.jdnco-info {
    padding: 20px;
    border-radius: 5px !important;
    box-shadow: 0px 3px 4px -3px grey;
    background: white;
    width: calc(100% + 30px) !important;
}
.jdnco-info p{
    margin: 0;
}

.jdnco-details summary {
    list-style-position: outside;
    padding: 20px;
    border-radius: 5px !important;
    box-shadow: 0px 3px 4px -3px grey;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.jdnco-details summary::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-top: 10px solid #15171b;
    border-inline: 7px solid transparent;
    transition: 0.2s;
}

.jdnco-details[open] > summary {border-bottom: 2px solid #fff9f1;}

.jdnco-details[open] > summary::after {
    transform: rotate(-180deg);
}

.jdnco-details summary::-webkit-details-marker, .jdnco-details summary::marker {
    display: none!important;
    content: '';
}

.jdnco-details {
    background: white;
    border-radius: 5px;
    width: calc(100% + 30px) !important;
}

/* Container for the planning */
.jdnco-planning-container {
    position: relative!important;
    margin: 20px;
    padding: 20px 40px;
    background: white;
    width: auto !important;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Each planning item */
.jdnco-planning-item {
    position: relative;
    padding-left: 30px;
}
/* Items intermédiaires : p et span sur la même ligne */
.jdnco-planning-item:not(:first-child):not(:last-child):not(.late):not(.expand):not(:has(.banalised)) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.jdnco-planning-item:not(:first-child):not(:last-child):not(.late):not(.expand):not(:has(.banalised)) > p {
    flex: 1;
}
.jdnco-planning-item:not(:first-child):not(:last-child):not(.late):not(.expand):not(:has(.banalised)) > span:not(.jdnco-planning-bullet) {
    margin-left: auto;
    text-align: right;
}
.jdnco-planning-item.late {
    display: grid;
    align-items: center;
    grid-template:
        'title late'
        'date late';
    margin-block: 5px;
    column-gap: 20px;
}
.jdnco-planning-item.hidden {
    display: none;
}
/* Dot on the planning */
.jdnco-planning-item:not(.expand)::before {
    content: '';
    position: absolute;
    left: -7px;
    top: 50%;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #00A6A6;
    transform: translateY(-50%);
    z-index: 2;
}
.jdnco-planning-item > span.jdnco-planning-bullet {
    position: absolute;
    display: block;
    width: 4px;
    background: var(--jdnco-planning-color);
    height: calc(100% + 30px);
    left: -1px;
    top: 50%;
}
.jdnco-planning-item:last-child > span.jdnco-planning-bullet{
    height: 220%;
    z-index: 1;
    transform: translateY(-100%);
}
.jdnco-planning-item.toExpand:last-child > span.jdnco-planning-bullet::before{
    content: '';
    z-index: 1;
    position: absolute;
    width: 4px;
    height: 100%;
    background: linear-gradient(to bottom, #ffffff00, #ffffff00 50%, #ffffff 50%, #ffffff);
    background-size: 100% 8px;

}
.jdnco-planning-item:not(.expand):nth-last-of-type(2) span.jdnco-planning-bullet {
    display: none;
}
.jdnco-planning-item .jdnco-planning-expand{
    background: var(--jdnco-planning-color);
    padding: 10px 20px;
}
/* Date and title styling */
.jdnco-planning-item h3, .jdnco-planning-item h4 {
    margin: 5px 0;
    color: #333;
}

/* Date style */
.jdnco-planning-item h3 {
    font-size: 16px;
    font-weight: bold;
    color: #333;
}
.jdnco-planning-item.late h3{
    grid-area: title;
}
/* p style */
.jdnco-planning-item p {
    font-size: 14px;
    font-weight: bold;
    margin: 0;
}
.jdnco-planning-item.late .jdnco-planning-item-date {
    grid-area: date;
}
.jdnco-planning-item .jdnco-planning-date {
    color: #00A6A6;
    font-size: 13px;
}

.jdnco-planning-item p.late-info {
    padding: 2px 10px;
    width: fit-content;
    border-radius: 5px;
    grid-area: late;
    justify-self: flex-end;
}
.jdnco-details p.late-info.warning {
    background: rgba(255, 165, 0, 0.3);
}
.jdnco-details p.late-info.danger {
    background: rgba(255, 83, 83, 0.3);
}
.jdnco-details p.late-info.xtrm {
    background: hsl(300deg 100% 25% / 30%);
}
.jdnco-details .banalised {
    color: black;
    font-size: 13px;

}
.jdnco-details .color-red{
    color: red;
}
.jdnco-details .color-orange{
    color: orange;
}
.jdnco-details .color-purple{
    color: purple;
}
@media (max-width: 976px) {
    .jdnco-details {
        width: 100% !important;
    }
    .jdnco-info {
        width: 100% !important;
    }
}

@media (max-width: 760px) {
    .jdnco-planning-container {
        padding: 20px 10px;
    }
    .jdnco-planning-item .jdnco-planning-title, .jdnco-planning-item .jdnco-planning-date {
        width: 100%;
    }
    .jdnco-planning-item.late {
        grid-template:
        'title'
        'date'
        'late';
    }
    .jdnco-planning-item p.late-info {
        justify-self: flex-start;
    }
    .jdnco-planning-item:not(:last-child) > span.jdnco-planning-bullet{
        top: 30px;
    }

    .jdnco-planning-item:first-child span.jdnco-planning-bullet{
        top: 50%;
    }
}

/* Modale de blocage enquête */
.jdnco-enquete-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.7);
    display: grid;
    place-items: center;
}
.jdnco-enquete-modal {
    background: white;
    padding: 40px;
    border-radius: 10px;
    text-align: center;
    max-width: 500px;
    width: 90%;
}
.jdnco-enquete-modal h2 {
    margin-top: 0;
    color: #333;
}
.jdnco-enquete-modal p {
    color: #555;
    margin-bottom: 25px;
}
.jdnco-enquete-modal-btn {
    display: inline-block;
    background: var(--jdnco-planning-color);
    color: white !important;
    padding: 12px 30px;
    border-radius: 5px;
    text-decoration: none !important;
    font-weight: bold;
    transition: opacity 0.2s;
}
.jdnco-enquete-modal-btn:hover {
    opacity: 0.85;
}

/* Bouton "Suivant" désactivé pour les cours/topics non accessibles */
.learndash-wrapper .ld-content-action a.ld-button-disabled,
.learndash-wrapper .ld-content-action a.ld-button-disabled:hover,
.learndash-wrapper .ld-content-action a.ld-button-disabled:focus {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    background-color: #929292 !important;
    color: #ffffff !important;
    border-color: #929292 !important;
}