/**
 * Popup Block — Styles front-end
 * Préfixe BEM : .dfz-pb__ — isolé du module popup d'accueil (.dfz-popup)
 *
 * Le bouton hérite des styles WP core (wp-block-button__link / wp-element-button).
 * Ce fichier ne redéfinit PAS les styles du bouton.
 */

/* ── Overlay (fond hors popup) ────────────────────────────────── */

.dfz-pb__overlay {
    position: fixed;
    inset: 0;
    z-index: 99990;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;

    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.3s ease,
        visibility 0.3s ease;
}

.dfz-pb__overlay.is-open {
    opacity: 1;
    visibility: visible;
}

/* ── Boîte popup ──────────────────────────────────────────────── */

.dfz-pb__inner {
    position: relative;
    width: 100%;
    max-height: 90vh;
    /* Scroll natif interne (Lenis ignoré via data-lenis-prevent) */
    overflow-y: auto;
    overflow-x: hidden;
    background: #ffffff;
    border-radius: 8px;
    padding: 48px 36px 36px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.22);
    -webkit-overflow-scrolling: touch;
}

/* ── Bouton fermer ────────────────────────────────────────────── */

.dfz-pb__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: inherit;
    cursor: pointer;
    transition: transform 0.15s ease;
    z-index: 1;
}

.dfz-pb__close:hover,
.dfz-pb__close:focus-visible {
    opacity: 1;
    transform: scale(1.1);
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* ── Ciblage JS uniquement ─────────── */
.dfz-pb__btn {
    min-height: 0px !important;
}

/* ── Animations ───────────────────────────────────────────────── */

/* Zoom */
.dfz-pb__overlay.dfz-pb--anim-zoom .dfz-pb__inner {
    transform: scale(0.82);
    transition: transform 0.35s cubic-bezier(0.34, 1.45, 0.64, 1);
}
.dfz-pb__overlay.dfz-pb--anim-zoom.is-open .dfz-pb__inner {
    transform: scale(1);
}

/* Fondu */
.dfz-pb__overlay.dfz-pb--anim-fade .dfz-pb__inner {
    transition: none;
}

/* Slide haut */
.dfz-pb__overlay.dfz-pb--anim-slide-up .dfz-pb__inner {
    transform: translateY(48px);
    transition: transform 0.38s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.dfz-pb__overlay.dfz-pb--anim-slide-up.is-open .dfz-pb__inner {
    transform: translateY(0);
}

/* ── Responsive ───────────────────────────────────────────────── */

@media (max-width: 600px) {
    .dfz-pb__inner {
        padding: 48px 18px 24px;
        border-radius: 6px;
        max-height: 92vh;
    }
    .dfz-pb__overlay {
        padding: 12px;
        align-items: flex-end;
    }
}

/* ── prefers-reduced-motion (RGAA 10.14) ─────────────────────── */

@media (prefers-reduced-motion: reduce) {
    .dfz-pb__overlay,
    .dfz-pb__overlay .dfz-pb__inner {
        transition: none !important;
        animation: none !important;
        transform: none !important;
    }
}
