.capexp-popup { position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center; font-family: 'Open Sans', sans-serif; }
.capexp-popup[hidden] { display: none; }
.capexp-popup__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .55); opacity: 0; transition: opacity .25s; }
.capexp-popup__box { position: relative; box-sizing: border-box; width: 460px; max-width: calc(100% - 32px); max-height: calc(100% - 32px); overflow-y: auto; background: #fff; border-radius: 16px; border-top: 10px solid #7D0401; padding: 40px 32px 28px; text-align: center; color: #2A2D30; opacity: 0; transform: translateY(16px); transition: opacity .25s, transform .25s; }
.capexp-popup.is-open .capexp-popup__backdrop, .capexp-popup.is-open .capexp-popup__box { opacity: 1; transform: none; }

.capexp-popup__x { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #F4F2F1; color: #1C1E21; font-size: 22px; line-height: 1; cursor: pointer; padding: 0; }
.capexp-popup__tag { display: inline-block; margin: 0 0 14px; padding: 4px 14px; border-radius: 999px; background: #FBEDEC; color: #7D0401; font: 800 12px/1.4 'Montserrat', sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.capexp-popup__title { margin: 0 0 12px; color: #1C1E21; font: 800 28px/1.15 'Montserrat', sans-serif; }
.capexp-popup__title span { color: #7D0401; }
.capexp-popup__text { margin: 0 0 18px; font-size: 15px; line-height: 1.5; }
.capexp-popup__price { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 0 0 18px; font: 800 15px/1.2 'Montserrat', sans-serif; }
.capexp-popup__price s { color: #6b6e72; }
.capexp-popup__price span { padding: 6px 14px; border-radius: 6px; background: #7D0401; color: #fff; }
.capexp-popup__team { display: flex; align-items: center; gap: 14px; margin: 0 0 18px; padding: 12px 16px; border-radius: 12px; background: #F4F2F1; font-size: 13px; line-height: 1.4; text-align: left; }
.capexp-popup__faces { display: flex; flex-shrink: 0; }
.capexp-popup__faces img { width: 40px; height: 40px; border-radius: 50%; border: 2px solid #fff; object-fit: cover; }
.capexp-popup__faces img + img { margin-left: -10px; }
.capexp-popup__cta { display: block; padding: 15px 20px; border-radius: 10px; background: #7D0401; color: #fff !important; font: 800 17px/1.2 'Montserrat', sans-serif; text-decoration: none !important; }
.capexp-popup__cta:hover, .capexp-popup__cta:focus-visible { background: #5e0301; }
.capexp-popup__no { margin-top: 14px; border: 0; background: none; color: #6b6e72; font: 13px 'Open Sans', sans-serif; text-decoration: underline; cursor: pointer; padding: 4px; }
.capexp-popup button:focus-visible, .capexp-popup a:focus-visible { outline: 2px solid #7D0401; outline-offset: 2px; }

/* Mobile : panneau qui monte du bas, pleine largeur, 70 % max */
@media (max-width: 600px) {
    .capexp-popup { align-items: flex-end; }
    .capexp-popup__box { width: 100%; max-width: 100%; max-height: 70vh; border-radius: 16px 16px 0 0; padding: 32px 20px 20px; transform: translateY(100%); }
    .capexp-popup__title { font-size: 24px; }
    .capexp-popup__text { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
    .capexp-popup__backdrop, .capexp-popup__box { transition: none; }
}
