/*!
 * Evalam ADS — Popups (frontend)
 * Chargé uniquement quand au moins un popup actif cible la page courante.
 * Apparence pilotée par variables CSS injectées inline par PopupRenderer
 * (--evalam-popup-width, --evalam-popup-overlay-color, --evalam-popup-overlay-opacity)
 * plutôt que du CSS généré dynamiquement en PHP — une seule feuille pour tous les popups.
 */

body.evalam-popup-open {
    overflow: hidden;
}

.evalam-popup {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease, visibility .3s ease;
}

/* [hidden] (0,0,2,0) doit gagner sur .evalam-popup (0,0,1,0) : unmount complet
   avant que le JS n'enlève l'attribut au déclenchement. */
.evalam-popup[hidden] {
    display: none;
}

.evalam-popup.is-visible {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.evalam-popup__overlay {
    position: absolute;
    inset: 0;
    background: var(--evalam-popup-overlay-color, #000);
    opacity: var(--evalam-popup-overlay-opacity, 60%);
}

.evalam-popup--no-overlay .evalam-popup__overlay {
    display: none;
}

.evalam-popup__box {
    position: relative;
    width: 100%;
    max-width: var(--evalam-popup-width, 500px);
    margin: 20px;
    max-height: calc(100vh - 40px);
    overflow: auto;
    background: #fff;
    color: #23282d;
    border-radius: 8px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, .25);
    padding: 32px;
    transition: transform .3s ease;
}

.evalam-popup--anim-slide .evalam-popup__box {
    transform: translateY(24px);
}
.evalam-popup--anim-zoom .evalam-popup__box {
    transform: scale(.92);
}
.evalam-popup.is-visible .evalam-popup__box {
    transform: none;
}

.evalam-popup__close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 32px;
    height: 32px;
    line-height: 1;
    font-size: 22px;
    border: none;
    background: transparent;
    color: #555;
    cursor: pointer;
}
.evalam-popup__close:hover {
    color: #000;
}

.evalam-popup__content {
    margin-top: 4px;
}

/* Positions "bandeau" — pleine largeur, pas de boîte flottante */
.evalam-popup--position-top {
    align-items: flex-start;
}
.evalam-popup--position-bottom {
    align-items: flex-end;
}
.evalam-popup--position-top .evalam-popup__box,
.evalam-popup--position-bottom .evalam-popup__box {
    max-width: none;
    width: 100%;
    margin: 0;
    border-radius: 0;
}

/* Coin bas-droit — petite carte, pas plein écran */
.evalam-popup--position-corner {
    align-items: flex-end;
    justify-content: flex-end;
    padding: 20px;
}
.evalam-popup--position-corner .evalam-popup__box {
    margin: 0;
}

@media (max-width: 768px) {
    .evalam-popup--hide-mobile {
        display: none !important;
    }
}
