/* Pertuade Pop-ups — Frontend styles */
.ppup-overlay { position:fixed; inset:0; background:rgba(10,10,10,0.55); z-index:99998; opacity:0; transition:opacity .25s ease; }
.ppup-overlay.is-visible { opacity:1; }

.ppup-popup { position:fixed; z-index:99999; opacity:0; pointer-events:none; transition:opacity .3s ease, transform .3s ease; }
.ppup-popup.is-visible { opacity:1; pointer-events:auto; }

/* Modale centrale */
.ppup-popup.ppup-pos-modal { top:50%; left:50%; transform:translate(-50%, -45%); width:min(92vw, 520px); max-height:90vh; }
.ppup-popup.ppup-pos-modal.is-visible { transform:translate(-50%, -50%); }

/* Bannière haut */
.ppup-popup.ppup-pos-top_banner { top:0; left:0; right:0; transform:translateY(-10px); }
.ppup-popup.ppup-pos-top_banner.is-visible { transform:translateY(0); }

/* Bulle bas droite */
.ppup-popup.ppup-pos-bottom_right { bottom:1.5rem; right:1.5rem; transform:translateY(10px); width:min(90vw, 340px); }
.ppup-popup.ppup-pos-bottom_right.is-visible { transform:translateY(0); }

.ppup-body { background:#fff; border-radius:8px; box-shadow:0 8px 32px rgba(0,0,0,0.18); padding:1.5rem; position:relative; overflow:auto; max-height:90vh; box-sizing:border-box; }
.ppup-pos-top_banner .ppup-body { border-radius:0 0 8px 8px; padding:1rem 1.25rem; display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }

.ppup-close { position:absolute; top:.5rem; right:.5rem; width:44px; height:44px; min-width:44px; min-height:44px; background:rgba(0,0,0,0.05); border:none; font-size:1.5rem; line-height:1; cursor:pointer; border-radius:50%; padding:0; color:#0a0a0a; transition:background .15s; }
.ppup-close:hover, .ppup-close:focus-visible { background:rgba(0,0,0,0.12); outline:2px solid #BFFF00; outline-offset:2px; }

.ppup-image { width:100%; height:auto; border-radius:6px; margin-bottom:1rem; display:block; }
.ppup-title { font-family:"Cormorant Garamond", Georgia, serif; font-size:1.5rem; font-weight:500; color:#0a0a0a; margin:0 2rem 0.5rem 0; line-height:1.2; }
.ppup-text { font-size:1rem; color:#3C3528; margin:0 0 1rem; line-height:1.5; }
.ppup-pdf { width:100%; height:min(60vh, 480px); border:1px solid #e0e0e0; border-radius:4px; margin-bottom:0.75rem; }
.ppup-html :first-child { margin-top:0; }
.ppup-html :last-child  { margin-bottom:0; }

.ppup-cta {
    display:inline-block; background:#0a0a0a; color:#fff; padding:.75rem 1.5rem; border-radius:4px;
    text-decoration:none; font-weight:500; font-size:.95rem; transition:background .15s;
    min-height:44px; box-sizing:border-box;
}
.ppup-cta:hover, .ppup-cta:focus-visible { background:#BFFF00; color:#0a0a0a; outline:2px solid #0a0a0a; outline-offset:2px; }

/* Mobile : modale plein écran si < 480px */
@media (max-width: 480px) {
    .ppup-popup.ppup-pos-modal { width:calc(100vw - 1rem); }
    .ppup-popup.ppup-pos-bottom_right { left:.5rem; right:.5rem; bottom:.5rem; width:auto; }
    .ppup-pos-top_banner .ppup-body { flex-direction:column; align-items:flex-start; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .ppup-overlay, .ppup-popup { transition:none !important; }
}
