/* Conteneur global */
.ric-popin {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;

    /* 👇 centrage */
    align-items: center;
    justify-content: center;
    padding: 1rem; /* sécurité petits écrans */
}

.ric-popin.is-open {
    display: flex;
}

/* Overlay */
.ric-popin__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(4px);
}

.ric-popin.is-open .ric-popin__overlay {
    opacity: 1;
}

/* Dialog */
.ric-popin__dialog {
    position: relative;
    width: min(720px, 100%);
    max-height: 90vh;
    overflow-y: auto;

    background: #fff;
    border-radius: 18px;
    padding: 2rem;
    box-shadow: 0 20px 60px rgba(0,0,0,.25);

    /* animation */
    transform: translateY(20px);
    opacity: 0;
    transition: all 0.3s ease;
}

.ric-popin.is-open .ric-popin__dialog {
    transform: translateY(0);
    opacity: 1;
}

/* Close button */
.ric-popin__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    border: 0;
    line-height: 1;
    cursor: pointer;
    opacity: 1;
    transition: opacity .2s ease;
    color: #000;
    font-size: 60px;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    background-color: #E3DFCF;
}

.ric-popin__close:hover {
    opacity: 1;
    background-color: #fff;
}

/* Contenu Gutenberg */
.ric-popin__content > *:first-child {
    margin-top: 0;
}

.ric-popin__content > *:last-child {
    margin-bottom: 0;
}

.ric-popin {
    backdrop-filter: blur(0px);
    transition: backdrop-filter .4s ease;
}

.ric-popin.is-open {
    backdrop-filter: blur(3px);
}

@media (max-width: 600px) {
    .ric-popin__dialog {
        margin: 5vh auto;
        padding: 1.5rem;
        border-radius: 14px;
    }
}