/* Couleur de l'arrière-plan de la pop-in */
.ui-widget-overlay {
    background-color: rgb(0, 0, 0);
    opacity: 0.3;
}

/* Couleur de l'arrière-plan de la pop-in legacy (quand l'overlay succède à la div de classe .tst-pop-legacy dans le DOM) */
.tst-popin-legacy + .ui-widget-overlay {
    background-color: rgb(170, 170, 170);
    opacity: 0.8;
}

/* Conteneur de la pop-in affichée devant l'overlay */
.tst-popin {
    position: fixed;
    z-index: 2000 !important; /* Le z-index doit être supérieur à celui de .footer-top */
    box-sizing: border-box;
    padding: 1.6rem;
    /* Drop Shadow Billetique */
    box-shadow: 0 4px 10px 0 rgba(37, 48, 59, 0.30);
    border-radius: var(--radius-regular);
    background-color: var(--theme-neutral-background-color);
    color: var(--theme-neutral-text-color);

    /* Le sélecteur nécessite d'être plus précis afin de surcharger la bordure par rapport à jQuery */
    &.ui-widget.ui-widget-content {
        border: none;
    }

    /* Conteneur contenant le bouton de fermeture de la pop-in */
    .ui-dialog-titlebar {
        border: none;
        background-color: var(--theme-neutral-background-color);
        background-image: none;
        color: var(--theme-neutral-text-color);
        padding: 0;
        margin-top: 10px; /* Fix permettant de pallier au margin-top négatif sur .ui-dialog .ui-dialog-titlebar-close (dans le CSS de jQuery) */

        /* Titre aligné avec le bouton de fermeture de la pop-in */
        .ui-dialog-title {
            margin: 0;
            padding: 0;
        }

        /* Image du bouton de fermeture de la pop-in */
        .ui-dialog-titlebar-close,
        .ui-dialog-titlebar-close:hover,
        .ui-dialog-titlebar-close.ui-state-hover,
        .ui-dialog-titlebar-close:focus,
        .ui-dialog-titlebar-close.ui-state-focus {
            border: none;
            background-color: var(--theme-neutral-background-color);
            box-shadow: none;
            outline: none;
            padding: 0;
            width: 2rem;
            height: 2rem;
            top: 0;
            right: 0;

            .ui-icon-closethick {
                background: url('../img/ico-blue-cross.svg') no-repeat center center;
                background-size: contain;
                aspect-ratio: 1/1;
                width: 2rem;
                height: 2rem;
            }
        }
    }

    /* Contenu de la pop-in (titre + description + sous-titre + contenu ; pas les boutons du bas) */
    .ui-dialog-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2rem;
        padding: 1.2rem 0.4rem 0.4rem;

        /* Conteneur contenant le titre et le sous-titre */
        .tst-popin-header {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 1.2rem;
            width: 100%;

            /* Titre de la pop-in */
            .popin-title {
                text-align: center;
                font-family: var(--stackb), sans-serif;
                font-size: var(--font-size-h4);
                line-height: var(--line-height-h4);
                color: var(--theme-neutral-text-color);
            }

            /* Description de la pop-in */
            .popin-intro {
                font-family: var(--stackr), sans-serif;
                font-size: var(--font-size-s);
                line-height: var(--line-height-s);
                text-align: center;
                color: var(--theme-neutral-text-color);
            }
        }

        /* Contenu fonctionnel de la pop-in (contient le sous-titre et le contenu dynamique) */
        .tst-popin-content {
            width: 100%;

            /* Sous-titre de la pop-in */
            .popin-subtitle {
                font-size: 16px;
                font-weight: bold;
                font-family: var(--stackr), sans-serif;
            }
        }
    }

    /* Boutons d'actions en bas de la pop-in */
    .ui-dialog-buttonpane {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        margin: 0;
        border: none;
        background-color: var(--theme-neutral-background-color);
        color: var(--theme-neutral-text-color);

        .ui-dialog-buttonset {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1em;
            width: 100%;
            font-size: 14px;
            font-weight: bold;

            button.ui-button:disabled {
                cursor: not-allowed;
            }

            .ui-button {
                flex: 1 1 0;
                min-width: 0;
                max-width: 27rem;

                &.small-btn-size {
                    padding-left: 0;
                    padding-right: 0;
                }

                &.secondary-btn {
                    text-align: center;
                    text-decoration: none;
                    max-width: none;
                }
            }
        }
    }

    /* Surcharge pour la pop-in de confirmation d'adresse (geoportal address form) */
    .geoportal-list {
        font-weight: bold;
        font-size: 16px;
        overflow-y: auto;
        padding: 0;
        margin: 8px 0 0 0;
        max-height: 24.4rem;

        /* Wrapper de la liste des résultats */
        #geoportalResultsList {
            overflow-y: auto;
            display: block;
            padding: 0;
            width: 100%;

            /* Chaque bloc de résultat (radio + adresse) */
            .geoportalResultItem {
                display: flex;
                align-items: center;
                padding: 14px 18px;
                min-height: 120px;
                font-size: 16px;
                gap: 26px;
                width: 100%;
                box-sizing: border-box;
                cursor: pointer;
                background-color: var(--theme-geoportal-popin-background-color);
                color: var(--theme-geoportal-popin-item-label-color);

                &:nth-child(even) {
                    background-color: var(--theme-geoportal-popin-even-background-color);
                    color: var(--theme-geoportal-popin-even-item-label-color);
                }

                label {
                    font-size: 1.6rem;
                    line-height: 21px;
                    color: var(--theme-geoportal-popin-item-label-color);
                    cursor: pointer;
                }
            }
        }
    }
}

/* Ajout d'une bordure sur le contenu de la liste des adresses afin d'indiquer la présence du scroll */
.tst-popin.geoportal-popin-dialog {
    .ui-dialog-content {
        border-bottom: 1px solid var(--theme-geoportal-popin-items-border);
    }
}

.tst-popin.tst-popin-username-login-info {
    .ui-dialog-content {
        .tst-popin-content {
            .tst-popin-info {
                display: flex;
                align-items: center;
                justify-content: center;

                font-family: var(--stackr), sans-serif;
                font-size: var(--font-size-s);
                line-height: var(--line-height-s);

                img {
                    max-height: 241px;
                    max-width: 355px;
                    width: 100%;
                    border-radius: var(--radius-regular);
                    background-color: var(--neutral-white); /* We want fixed white color (not theme) */
                }

                p {
                    width: 100%;
                    color: var(--theme-neutral-text-color);
                    padding: 1.6rem 2rem 1.6rem 2rem;
                    font-size: var(--font-size-s);
                    line-height: var(--line-height-s);
                }
            }
        }
    }
}

/* Ancien design pour la pop-in "Confirmation d'adresse" */
.tst-popin-legacy {
    z-index: 2000 !important;
    padding: 10px 10px 20px 20px;

    /* TST-2204 */
    .geoportal-list {
        background: var(--theme-geoportal-popin-background-color);
        font-weight: bold;
        font-size: 16px;
        max-height: 300px;
        overflow-y: auto;
        padding: 0;
        margin: 8px 0 0 0;
    }

    .popin-title {
        font-size: 22px;
        text-align: center;
        font-weight: bold;
        padding-top: 1.2rem;
        padding-bottom: 2.2rem;
        font-family: var(--stackr), sans-serif;
    }

    .popin-intro {
        font-size: 16px;
        font-family: var(--stackr), sans-serif;
        padding-top: 1.2rem;
        padding-bottom: 1.2rem;
    }

    .popin-subtitle {
        font-size: 16px;
        font-weight: bold;
        font-family: var(--stackr), sans-serif;
        padding-top: 1.2rem;
    }

    .ui-widget-header {
        border: 0;
        background: var(--neutral-white);
        background-image: none;
        border-color: var(--neutral-medium);
        color: #333;
    }

    .ui-dialog-title {
        font-size: 22px;
        font-weight: bold;
        display: inline-block;
        margin: 0;
        padding: 0 1em;
    }

    .ui-dialog-buttonpane {
        padding: .3em 0 .5em 0 !important;
    }

    .ui-dialog-buttonpane .ui-dialog-buttonset {
        display: flex;
        gap: 1em;
        padding: 2em 0 1em 1em !important;
        width: 100%
    }

    .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button {
        flex: 1 1 0;
        min-width: 0;
    }

    /* Wrapper de la liste des résultats */
    #geoportalResultsList {
        overflow-y: auto;
        display: block;
        padding: 0;
        width: 100%;
        max-height: 244px;
    }

    /* Chaque bloc de résultat (radio + adresse) */
    .geoportalResultItem {
        display: flex;
        align-items: center;
        padding: 14px 18px;
        min-height: 120px;
        font-size: 16px;
        gap: 26px;
        width: 100%;
        box-sizing: border-box;
        cursor: pointer;
    }

    .geoportalResultItem label {
        font-size: 1.6rem;
        line-height: 21px;
        color: var(--theme-geoportal-popin-item-label-color);
        cursor: pointer;
    }

    .geoportalResultItem:nth-child(even) {
        background: var(--neutral-white);
    }

    .ui-dialog-titlebar-close,
    .ui-dialog-titlebar-close:hover,
    .ui-dialog-titlebar-close.ui-state-hover,
    .ui-dialog-titlebar-close:focus,
    .ui-dialog-titlebar-close.ui-state-focus {
        right: 2em !important;
        top: 50% !important;
        border: none !important;
        background-color: var(--neutral-white);
        box-shadow: none !important;
        outline: none !important;

        .ui-icon-closethick {
            background: url('../img/ico-blue-cross.png') no-repeat center center;
            background-size: contain;
            width: 25px;
            height: 25px;
        }
    }

    .ui-widget-content {
        border: none;
    }

    .geoportal-popin-dialog.ui-dialog {
        border-left: 20px solid var(--neutral-white) !important;
        border-bottom: 20px solid var(--neutral-white) !important;
        border-top: 10px solid var(--neutral-white) !important;
        border-right: 10px solid var(--neutral-white) !important;
        box-sizing: border-box;
        padding: 0;
        box-shadow: none !important;
    }

    .secondary-btn {
        text-align: center;
        color: var(--interaction-blue);
        background-color: var(--neutral-white);
        border: solid 0.1rem var(--interaction-blue);
        text-decoration: none;
        max-width: none;
    }

    .secondary-btn:hover {
        color: var(--focus-blue);
        background-color: var(--neutral-light);
        border: solid 0.1rem var(--focus-blue);
    }

    .ui-dialog-content {
        padding-top: 0 !important;
    }

    .ui-dialog-buttonset {
        font-size: 14px !important;
        font-weight: bold !important;
    }
}

/* For windows with width higher than 48rem (tablet breakpoint) */
@media (min-width: 48rem) {
    .tst-popin {
        padding: 2.4rem;

        .ui-dialog-content {
            gap: 2.4rem;
            padding-top: 1rem;

            .tst-popin-header {
                gap: 0.8rem;

                /* Titre de la pop-in */

                .popin-title {
                    font-size: var(--font-size-h3);
                    line-height: var(--line-height-h3);
                }
            }
        }

        .ui-dialog-buttonpane {
            margin-top: 2rem;
            padding: 1.6rem 0;
        }
    }
}
