/* ================================================================
   PRIÈRE SÉNÉGAL — Design System
   Palette logo : Or #E8820C · Bleu #1B4FA8 · Rouge #D32F2F
   Typographie   : Cinzel (titres sacrés) + Nunito (corps lisible)
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Nunito:wght@300;400;500;600;700;800&display=swap');

/* ---- Variables ---- */
:root {
  --ps-or:        #E8820C;
  --ps-or-light:  #F5A843;
  --ps-or-dark:   #B5620A;
  --ps-bleu:      #1B4FA8;
  --ps-bleu-light:#2563D4;
  --ps-bleu-dark: #0F2F6A;
  --ps-rouge:     #D32F2F;
  --ps-rouge-dark:#9B1C1C;
  --ps-ivoire:    #FFFBF4;
  --ps-creme:     #FEF3E2;
  --ps-border:    #F0DDB8;
  --ps-dark:      #0F172A;
  --ps-text:      #1E293B;
  --ps-muted:     #64748B;
  --ps-white:     #FFFFFF;
  --ps-shadow-sm: 0 1px 3px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.04);
  --ps-shadow:    0 4px 16px rgba(15,23,42,.08), 0 2px 6px rgba(15,23,42,.05);
  --ps-shadow-lg: 0 12px 40px rgba(15,23,42,.12), 0 4px 12px rgba(15,23,42,.06);
  --ps-shadow-xl: 0 24px 64px rgba(15,23,42,.15);
  --ps-radius-sm: 8px;
  --ps-radius:    14px;
  --ps-radius-lg: 20px;
  --ps-radius-xl: 28px;
}

/* ================================================================
   LISTE DES GROUPES — Shortcode [prsngl_groupes]
   ================================================================ */
.psg-hero__badge--zone {
    background: rgba(27, 79, 168, 0.9);
    border-color: rgba(255,255,255,0.4);
    font-size: 0.8rem;
}
.prsngl-wrapper {
  font-family: 'Nunito', sans-serif !important;
  color: var(--ps-text) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  box-sizing: border-box;
}

/* ---- Compteur groupes ---- */
.prsngl-wrapper .prsngl-grp-count {
  font-size: .85rem !important;
  color: var(--ps-muted) !important;
  font-weight: 600 !important;
  margin: 0 0 20px !important;
  text-align: right !important;
}
.prsngl-wrapper .prsngl-grp-count-num {
  font-weight: 800 !important;
  color: var(--ps-bleu) !important;
  font-size: 1rem !important;
}

/* ---- Filtres région ---- */
.prsngl-wrapper .prsngl-filtres {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 24px !important;
  justify-content: center !important;
  padding: 0 !important;
  list-style: none !important;
}
.prsngl-wrapper .prsngl-filtre-btn {
  background: var(--ps-white) !important;
  border: 1.5px solid var(--ps-border) !important;
  color: var(--ps-text) !important;
  padding: 8px 20px !important;
  border-radius: 50px !important;
  cursor: pointer !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  transition: all .22s cubic-bezier(.4,0,.2,1) !important;
  line-height: 1.4 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  box-shadow: var(--ps-shadow-sm) !important;
}
.prsngl-wrapper .prsngl-filtre-btn:hover {
  border-color: var(--ps-or) !important;
  color: var(--ps-or-dark) !important;
  background: var(--ps-creme) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(232,130,12,.2) !important;
}
.prsngl-wrapper .prsngl-filtre-btn.active {
  background: var(--ps-or) !important;
  border-color: var(--ps-or) !important;
  color: var(--ps-white) !important;
  box-shadow: 0 4px 16px rgba(232,130,12,.4) !important;
  transform: translateY(-1px) !important;
}

/* ---- Barre de recherche ---- */
.prsngl-wrapper .prsngl-search-bar {
  margin-bottom: 36px !important;
  position: relative !important;
}
.prsngl-wrapper .prsngl-search-bar input {
  width: 100% !important;
  padding: 15px 24px 15px 52px !important;
  border: 1.5px solid var(--ps-border) !important;
  border-radius: 50px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  background: var(--ps-white) !important;
  color: var(--ps-text) !important;
  box-sizing: border-box !important;
  outline: none !important;
  box-shadow: var(--ps-shadow-sm) !important;
  transition: border-color .2s, box-shadow .2s !important;
}
.prsngl-wrapper .prsngl-search-bar input:focus {
  border-color: var(--ps-or) !important;
  box-shadow: 0 0 0 4px rgba(232,130,12,.12) !important;
}
.prsngl-wrapper .prsngl-search-bar::before {
  content: 'ðÂÂÂ' !important;
  position: absolute !important;
  left: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 1rem !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* ---- Grille groupes ---- */
@keyframes ps-fade-up {
  from { opacity:0; transform: translateY(18px); }
  to   { opacity:1; transform: translateY(0); }
}
.prsngl-wrapper .prsngl-groupes-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)) !important;
  gap: 28px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ---- Carte groupe ---- */
.prsngl-wrapper .prsngl-groupe-card {
  background: var(--ps-white) !important;
  border-radius: var(--ps-radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--ps-shadow) !important;
  border: 1px solid var(--ps-border) !important;
  transition: transform .3s cubic-bezier(.4,0,.2,1), box-shadow .3s ease !important;
  animation: ps-fade-up .5s ease both;
  margin: 0 !important;
  padding: 0 !important;
}
.prsngl-wrapper .prsngl-groupe-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--ps-shadow-xl) !important;
  border-color: rgba(232,130,12,.25) !important;
}
.prsngl-wrapper .prsngl-groupe-card.prsngl-hidden {
  display: none !important;
}

/* Photo cover */
.prsngl-wrapper .prsngl-card__photo-link {
  display: block !important;
  text-decoration: none !important;
}
.prsngl-wrapper .prsngl-card__photo {
  position: relative !important;
  height: 210px !important;
  background: linear-gradient(135deg, var(--ps-creme), var(--ps-border)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}
.prsngl-wrapper .prsngl-card__img-cover {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
  transition: transform .5s cubic-bezier(.4,0,.2,1) !important;
}
.prsngl-wrapper .prsngl-groupe-card:hover .prsngl-card__img-cover {
  transform: scale(1.07) !important;
}
.prsngl-wrapper .prsngl-card__photo::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(15,23,42,.35) 0%, transparent 60%) !important;
  pointer-events: none !important;
}
.prsngl-wrapper .prsngl-card__placeholder {
  font-size: 60px !important;
  opacity: .25 !important;
  color: var(--ps-or) !important;
  z-index: 1 !important;
}
.prsngl-wrapper .prsngl-card__region-badge {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  background: var(--ps-or) !important;
  color: var(--ps-white) !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
  padding: 3px 10px !important;
  border-radius: 50px !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  z-index: 2 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.2) !important;
}

/* Corps de la carte */
.prsngl-wrapper .prsngl-card__body {
  padding: 22px 24px 24px !important;
}
.prsngl-wrapper .prsngl-card__title {
  font-family: 'Cinzel', serif !important;
  font-size: 1rem !important;
  color: var(--ps-bleu-dark) !important;
  margin: 0 0 10px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}
.prsngl-wrapper .prsngl-card__title a {
  color: inherit !important;
  text-decoration: none !important;
}
.prsngl-wrapper .prsngl-card__title a:hover {
  color: var(--ps-or-dark) !important;
}
.prsngl-wrapper .prsngl-card__location,
.prsngl-wrapper .prsngl-card__responsable {
  font-size: .84rem !important;
  color: var(--ps-muted) !important;
  margin: 0 0 5px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}
.prsngl-wrapper .prsngl-card__horaire {
  font-size: .84rem !important;
  color: var(--ps-bleu) !important;
  margin: 0 0 16px !important;
  font-weight: 700 !important;
}
.prsngl-wrapper .prsngl-card__contacts {
  display: flex !important;
  gap: 7px !important;
  flex-wrap: wrap !important;
  padding: 0 !important;
}

/* Bouton voir détails — groupes */
.prsngl-wrapper .prsngl-card__detail-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin-top: 16px !important;
  padding: 11px !important;
  background: var(--ps-creme) !important;
  color: var(--ps-bleu-dark) !important;
  border-radius: var(--ps-radius-sm) !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: .87rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  transition: all .2s ease !important;
  border: 1.5px solid var(--ps-border) !important;
  letter-spacing: .01em !important;
  box-sizing: border-box !important;
}
.prsngl-wrapper .prsngl-card__detail-btn:hover {
  background: var(--ps-bleu) !important;
  color: #fff !important;
  border-color: var(--ps-bleu) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 14px rgba(27,79,168,.3) !important;
}
/* compat ancien nom de classe */
.prsngl-wrapper .prsngl-card-detail-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin-top: 16px !important;
  padding: 11px !important;
  background: var(--ps-creme) !important;
  color: var(--ps-bleu-dark) !important;
  border-radius: var(--ps-radius-sm) !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: .87rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  transition: all .2s ease !important;
  border: 1.5px solid var(--ps-border) !important;
  box-sizing: border-box !important;
}
.prsngl-wrapper .prsngl-card-detail-btn:hover {
  background: var(--ps-bleu) !important;
  color: #fff !important;
  border-color: var(--ps-bleu) !important;
  transform: translateY(-2px) !important;
}

/* ---- Boutons contact (liste) ---- */
.prsngl-wrapper .prsngl-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 6px 12px !important;
  border-radius: var(--ps-radius-sm) !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  transition: all .18s ease !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}
.prsngl-wrapper .prsngl-btn--whatsapp { background: #25D366 !important; color: #fff !important; }
.prsngl-wrapper .prsngl-btn--whatsapp:hover { background: #1DA855 !important; color: #fff !important; transform: translateY(-1px) !important; box-shadow: 0 3px 10px rgba(37,211,102,.35) !important; }
.prsngl-wrapper .prsngl-btn--tel { background: var(--ps-bleu) !important; color: #fff !important; }
.prsngl-wrapper .prsngl-btn--tel:hover { background: var(--ps-bleu-dark) !important; color: #fff !important; transform: translateY(-1px) !important; }
.prsngl-wrapper .prsngl-btn--email { background: var(--ps-or) !important; color: #fff !important; }
.prsngl-wrapper .prsngl-btn--email:hover { background: var(--ps-or-dark) !important; color: #fff !important; transform: translateY(-1px) !important; }
.prsngl-wrapper .prsngl-btn--inscription {
  background: var(--ps-rouge) !important;
  color: #fff !important;
  margin-top: 10px !important;
  font-size: .85rem !important;
  padding: 9px 18px !important;
}
.prsngl-wrapper .prsngl-btn--inscription:hover { background: var(--ps-rouge-dark) !important; color: #fff !important; transform: translateY(-1px) !important; }

/* ---- Badge inscrits événement ---- */
.prsngl-wrapper .prsngl-insc-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 3px 10px !important;
  border-radius: 50px !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
}
.prsngl-wrapper .prsngl-insc-badge em { font-style: normal !important; opacity: .8 !important; }
.prsngl-wrapper .prsngl-insc-badge--open  { background: #DCFCE7 !important; color: #166534 !important; border: 1px solid #86EFAC !important; }
.prsngl-wrapper .prsngl-insc-badge--closed { background: #F1F5F9 !important; color: var(--ps-muted) !important; border: 1px solid #CBD5E1 !important; }

/* ---- Liste événements ---- */
.prsngl-wrapper .prsngl-events-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.prsngl-wrapper .prsngl-event-card {
  display: flex !important;
  gap: 20px !important;
  background: var(--ps-white) !important;
  border-radius: var(--ps-radius) !important;
  padding: 22px 26px !important;
  box-shadow: var(--ps-shadow) !important;
  border: 1px solid var(--ps-border) !important;
  border-left: 5px solid var(--ps-or) !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
  animation: ps-fade-up .5s ease both;
  margin: 0 !important;
}
.prsngl-wrapper .prsngl-event-card:hover {
  transform: translateX(6px) !important;
  box-shadow: var(--ps-shadow-lg) !important;
  border-left-color: var(--ps-bleu) !important;
}
.prsngl-wrapper .prsngl-event-date-box {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--ps-bleu) !important;
  color: #fff !important;
  border-radius: var(--ps-radius-sm) !important;
  min-width: 64px !important;
  height: 64px !important;
  padding: 8px !important;
  flex-shrink: 0 !important;
  box-shadow: 0 4px 12px rgba(27,79,168,.3) !important;
}
.prsngl-wrapper .prsngl-event-mois {
  font-size: .6rem !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  opacity: .85 !important;
  color: #fff !important;
  display: block !important;
  text-transform: uppercase !important;
}
.prsngl-wrapper .prsngl-event-jour {
  font-family: 'Cinzel', serif !important;
  font-size: 1.7rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: #fff !important;
  display: block !important;
}
.prsngl-wrapper .prsngl-event-body { flex: 1 !important; }
.prsngl-wrapper .prsngl-event-title {
  font-family: 'Cinzel', serif !important;
  font-size: 1rem !important;
  color: var(--ps-dark) !important;
  margin: 0 0 5px !important;
  font-weight: 700 !important;
}
.prsngl-wrapper .prsngl-event-title a { color: inherit !important; text-decoration: none !important; }
.prsngl-wrapper .prsngl-event-title a:hover { color: var(--ps-bleu) !important; }
.prsngl-wrapper .prsngl-event-theme {
  color: var(--ps-or-dark) !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  margin: 0 0 8px !important;
}
.prsngl-wrapper .prsngl-event-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  font-size: .82rem !important;
  color: var(--ps-muted) !important;
  font-weight: 500 !important;
  align-items: center !important;
}

/* ---- Modal inscription ---- */
.prsngl-modal-overlay {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(15,23,42,.7) !important;
  z-index: 99999 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  backdrop-filter: blur(6px) !important;
  display: none !important;
}
.prsngl-modal-overlay.prsngl-modal-open {
  display: flex !important;
}
@keyframes ps-modal-in {
  from { opacity:0; transform: scale(.94) translateY(12px); }
  to   { opacity:1; transform: scale(1) translateY(0); }
}
.prsngl-modal-box {
  background: var(--ps-white) !important;
  border-radius: var(--ps-radius-xl) !important;
  padding: 36px !important;
  max-width: 480px !important;
  width: 100% !important;
  position: relative !important;
  box-shadow: var(--ps-shadow-xl) !important;
  animation: ps-modal-in .28s cubic-bezier(.4,0,.2,1);
}
.prsngl-modal-box h3 {
  font-family: 'Cinzel', serif !important;
  color: var(--ps-bleu-dark) !important;
  margin: 0 0 4px !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
}
.prsngl-modal-box .prsngl-modal-subtitle {
  color: var(--ps-muted) !important;
  font-size: .9rem !important;
  margin: 0 0 22px !important;
}
.prsngl-modal-box .prsngl-modal-close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  background: var(--ps-ivoire) !important;
  border: 1px solid var(--ps-border) !important;
  font-size: 1rem !important;
  cursor: pointer !important;
  color: var(--ps-muted) !important;
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  transition: all .18s ease !important;
  box-shadow: none !important;
}
.prsngl-modal-box .prsngl-modal-close:hover { background: var(--ps-border) !important; color: var(--ps-dark) !important; }
.prsngl-modal-box .prsngl-form-group { margin-bottom: 14px !important; }
.prsngl-modal-box .prsngl-form-group label {
  display: block !important;
  font-weight: 700 !important;
  font-size: .82rem !important;
  margin-bottom: 5px !important;
  color: var(--ps-text) !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}
.prsngl-modal-box .prsngl-form-group input {
  width: 100% !important;
  padding: 11px 15px !important;
  border: 1.5px solid var(--ps-border) !important;
  border-radius: var(--ps-radius-sm) !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: .95rem !important;
  box-sizing: border-box !important;
  background: var(--ps-ivoire) !important;
  color: var(--ps-text) !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color .18s, box-shadow .18s !important;
}
.prsngl-modal-box .prsngl-form-group input:focus {
  border-color: var(--ps-or) !important;
  box-shadow: 0 0 0 3px rgba(232,130,12,.14) !important;
  background: var(--ps-white) !important;
}
.prsngl-modal-box .prsngl-btn--submit {
  width: 100% !important;
  background: linear-gradient(135deg, var(--ps-bleu), var(--ps-bleu-dark)) !important;
  color: #fff !important;
  padding: 14px !important;
  font-size: .95rem !important;
  border-radius: var(--ps-radius-sm) !important;
  margin-top: 6px !important;
  justify-content: center !important;
  font-weight: 800 !important;
  letter-spacing: .03em !important;
  border: none !important;
  cursor: pointer !important;
  font-family: 'Nunito', sans-serif !important;
  box-shadow: 0 4px 16px rgba(27,79,168,.35) !important;
  transition: all .2s ease !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.prsngl-modal-box .prsngl-btn--submit:hover {
  background: linear-gradient(135deg, var(--ps-bleu-light), var(--ps-bleu)) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(27,79,168,.45) !important;
}
#prsngl-insc-message { margin-top: 12px !important; padding: 12px 15px !important; border-radius: var(--ps-radius-sm) !important; font-weight: 600 !important; font-size: .88rem !important; display: none; }
#prsngl-insc-message.success { background: #DCFCE7 !important; color: #166534 !important; display: block !important; border: 1px solid #86EFAC !important; }
#prsngl-insc-message.error   { background: #FEE2E2 !important; color: #991B1B !important; display: block !important; border: 1px solid #FCA5A5 !important; }

/* ---- Empty state ---- */
.prsngl-wrapper .prsngl-empty {
  text-align: center !important;
  padding: 60px 24px !important;
  color: var(--ps-muted) !important;
  font-size: .95rem !important;
  background: var(--ps-ivoire) !important;
  border-radius: var(--ps-radius-lg) !important;
  border: 2px dashed var(--ps-border) !important;
}

/* ---- Responsive liste ---- */
@media (max-width: 600px) {
  .prsngl-wrapper .prsngl-groupes-grid { grid-template-columns: 1fr !important; }
  .prsngl-wrapper .prsngl-event-card { flex-direction: column !important; gap: 12px !important; }
  .prsngl-wrapper .prsngl-event-date-box { flex-direction: row !important; height: auto !important; width: auto !important; padding: 8px 14px !important; gap: 6px !important; align-self: flex-start !important; }
}
.psg-hero__logo {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    overflow: hidden;
    background: var(--ps-white);
    padding: 8px;
    box-shadow: var(--ps-shadow-lg);
    flex-shrink: 0;
    animation: pulse-icon 2s infinite;
    display: flex;
    align-items: center;
    justify-content: center;
}

.psg-hero__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 50%;
}

@media (max-width: 768px) {
    .psg-hero__logo {
        width: 80px;
        height: 80px;
    }
}

/* ================================================================
   PAGES SINGLE — Groupe & Événement
   ================================================================ */

.prsngl-single-wrap {
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 28px 24px 72px !important;
  font-family: 'Nunito', sans-serif !important;
  color: var(--ps-text) !important;
  box-sizing: border-box;
}

/* ---- Breadcrumb ---- */
.prsngl-single-wrap .prsngl-breadcrumb {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  font-size: .8rem !important;
  color: var(--ps-muted) !important;
  margin-bottom: 28px !important;
  font-weight: 500 !important;
}
.prsngl-single-wrap .prsngl-breadcrumb a {
  color: var(--ps-bleu) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
.prsngl-single-wrap .prsngl-breadcrumb a:hover { text-decoration: underline !important; }
.prsngl-single-wrap .prsngl-bc-sep { color: var(--ps-border) !important; font-weight: 700 !important; }
.prsngl-single-wrap .prsngl-bc-current { color: var(--ps-text) !important; font-weight: 700 !important; }

/* ---- Cover photo pleine largeur ---- */
.prsngl-single-wrap .prsngl-single-cover {
  position: relative !important;
  width: 100% !important;
  height: 340px !important;
  border-radius: var(--ps-radius-xl) !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, var(--ps-creme) 0%, var(--ps-border) 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: var(--ps-shadow-lg) !important;
}
.prsngl-single-wrap .prsngl-single-cover__img {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  width: 100% !important;
  height: 100% !important;
  transition: transform .6s ease !important;
}
.prsngl-single-wrap .prsngl-single-cover:hover .prsngl-single-cover__img {
  transform: scale(1.03) !important;
}
.prsngl-single-wrap .prsngl-single-cover::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(15,23,42,.55) 0%, rgba(15,23,42,.1) 50%, transparent 100%) !important;
  pointer-events: none !important;
}
.prsngl-single-wrap .prsngl-single-cover__placeholder {
  font-size: 80px !important;
  opacity: .2 !important;
}
.prsngl-single-wrap .prsngl-single-cover__badge {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  background: var(--ps-or) !important;
  color: #fff !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  padding: 5px 14px !important;
  border-radius: 50px !important;
  text-transform: uppercase !important;
  letter-spacing: .09em !important;
  z-index: 2 !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.25) !important;
}

/* ---- Header titre + contacts ---- */
.prsngl-single-wrap .prsngl-single-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 28px !important;
  background: var(--ps-white) !important;
  border-radius: 0 0 var(--ps-radius-xl) var(--ps-radius-xl) !important;
  padding: 30px 36px !important;
  margin-bottom: 32px !important;
  box-shadow: var(--ps-shadow) !important;
  border: 1px solid var(--ps-border) !important;
  border-top: none !important;
}
.prsngl-single-wrap .prsngl-single-header__main { flex: 1 !important; }
.prsngl-single-wrap .prsngl-single-title {
  font-family: 'Cinzel', serif !important;
  font-size: clamp(1.5rem, 3vw, 2.1rem) !important;
  font-weight: 700 !important;
  color: var(--ps-bleu-dark) !important;
  margin: 0 0 14px !important;
  line-height: 1.2 !important;
}
.prsngl-single-wrap .prsngl-single-meta-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.prsngl-single-wrap .prsngl-single-meta-chip {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--ps-ivoire) !important;
  color: var(--ps-muted) !important;
  padding: 5px 13px !important;
  border-radius: 50px !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  border: 1px solid var(--ps-border) !important;
}
.prsngl-single-wrap .prsngl-single-meta-chip--vert {
  background: #EFF6FF !important;
  color: var(--ps-bleu) !important;
  border-color: #BFDBFE !important;
  font-weight: 700 !important;
}
.prsngl-single-wrap .prsngl-single-contacts {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
}

/* ---- Boutons single ---- */
.prsngl-single-wrap .prsngl-single-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  padding: 11px 22px !important;
  border-radius: var(--ps-radius-sm) !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: .88rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  transition: all .2s ease !important;
  white-space: nowrap !important;
  letter-spacing: .02em !important;
  box-shadow: none !important;
  text-transform: none !important;
}
.prsngl-single-wrap .prsngl-single-btn--whatsapp { background: #25D366 !important; color: #fff !important; box-shadow: 0 3px 10px rgba(37,211,102,.3) !important; }
.prsngl-single-wrap .prsngl-single-btn--whatsapp:hover { background: #1DA855 !important; color: #fff !important; transform: translateY(-2px) !important; box-shadow: 0 6px 18px rgba(37,211,102,.4) !important; }
.prsngl-single-wrap .prsngl-single-btn--tel { background: var(--ps-bleu) !important; color: #fff !important; box-shadow: 0 3px 10px rgba(27,79,168,.25) !important; }
.prsngl-single-wrap .prsngl-single-btn--tel:hover { background: var(--ps-bleu-dark) !important; color: #fff !important; transform: translateY(-2px) !important; }
.prsngl-single-wrap .prsngl-single-btn--email { background: var(--ps-or) !important; color: #fff !important; box-shadow: 0 3px 10px rgba(232,130,12,.28) !important; }
.prsngl-single-wrap .prsngl-single-btn--email:hover { background: var(--ps-or-dark) !important; color: #fff !important; transform: translateY(-2px) !important; }
.prsngl-single-wrap .prsngl-single-btn--inscription {
  background: linear-gradient(135deg, var(--ps-rouge), var(--ps-rouge-dark)) !important;
  color: #fff !important;
  padding: 13px 28px !important;
  font-size: .95rem !important;
  box-shadow: 0 4px 16px rgba(211,47,47,.35) !important;
}
.prsngl-single-wrap .prsngl-single-btn--inscription:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 24px rgba(211,47,47,.45) !important; }
.prsngl-single-wrap .prsngl-single-btn--back {
  background: transparent !important;
  color: var(--ps-bleu) !important;
  border: 1.5px solid var(--ps-bleu) !important;
  padding: 10px 22px !important;
}
.prsngl-single-wrap .prsngl-single-btn--back:hover {
  background: var(--ps-bleu) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(27,79,168,.3) !important;
}

/* ---- Corps 2 colonnes ---- */
.prsngl-single-wrap .prsngl-single-body {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  margin-bottom: 36px !important;
}

/* ---- Cartes info / contenu ---- */
.prsngl-single-wrap .prsngl-single-card {
  background: var(--ps-white) !important;
  border-radius: var(--ps-radius-lg) !important;
  padding: 30px !important;
  box-shadow: var(--ps-shadow) !important;
  border: 1px solid var(--ps-border) !important;
}
.prsngl-single-wrap .prsngl-content-card,
.prsngl-single-wrap .prsngl-insc-card {
  grid-column: 1 / -1 !important;
}
.prsngl-single-wrap .prsngl-single-card__title {
  font-family: 'Cinzel', serif !important;
  font-size: 1rem !important;
  color: var(--ps-bleu-dark) !important;
  margin: 0 0 20px !important;
  padding-bottom: 14px !important;
  border-bottom: 2px solid var(--ps-creme) !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}

/* ---- Liste info (dl) ---- */
.prsngl-single-wrap .prsngl-info-list { margin: 0 !important; padding: 0 !important; }
.prsngl-single-wrap .prsngl-info-row {
  display: flex !important;
  gap: 14px !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid #F8F1E6 !important;
  align-items: flex-start !important;
}
.prsngl-single-wrap .prsngl-info-row:last-child { border-bottom: none !important; }
.prsngl-single-wrap .prsngl-info-row dt {
  flex-shrink: 0 !important;
  width: 150px !important;
  font-weight: 700 !important;
  font-size: .82rem !important;
  color: var(--ps-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  padding-top: 1px !important;
}
.prsngl-single-wrap .prsngl-info-row dd {
  flex: 1 !important;
  margin: 0 !important;
  font-size: .92rem !important;
  color: var(--ps-text) !important;
  font-weight: 600 !important;
}
.prsngl-single-wrap .prsngl-info-row dd a { color: var(--ps-bleu) !important; text-decoration: none !important; }
.prsngl-single-wrap .prsngl-info-row dd a:hover { text-decoration: underline !important; }
.prsngl-single-wrap .prsngl-insc-open { color: #166534 !important; font-weight: 700 !important; }

/* ---- Contenu éditeur ---- */
.prsngl-single-wrap .prsngl-single-content {
  font-size: .95rem !important;
  line-height: 1.8 !important;
  color: var(--ps-text) !important;
}
.prsngl-single-wrap .prsngl-single-content p { margin: 0 0 16px !important; }
.prsngl-single-wrap .prsngl-single-content h2,
.prsngl-single-wrap .prsngl-single-content h3 {
  font-family: 'Cinzel', serif !important;
  color: var(--ps-bleu-dark) !important;
  margin: 24px 0 12px !important;
}

/* ---- Formulaire inscription inline ---- */
.prsngl-single-wrap .prsngl-insc-intro {
  color: var(--ps-muted) !important;
  font-size: .9rem !important;
  margin: 0 0 22px !important;
}
.prsngl-single-wrap .prsngl-form-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px !important;
  margin-bottom: 16px !important;
}
.prsngl-single-wrap .prsngl-form-group { margin-bottom: 0 !important; }
.prsngl-single-wrap .prsngl-form-group label {
  display: block !important;
  font-weight: 700 !important;
  font-size: .78rem !important;
  margin-bottom: 6px !important;
  color: var(--ps-text) !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
}
.prsngl-single-wrap .prsngl-form-group input {
  width: 100% !important;
  padding: 12px 15px !important;
  border: 1.5px solid var(--ps-border) !important;
  border-radius: var(--ps-radius-sm) !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: .93rem !important;
  box-sizing: border-box !important;
  background: var(--ps-ivoire) !important;
  color: var(--ps-text) !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color .18s, box-shadow .18s !important;
}
.prsngl-single-wrap .prsngl-form-group input:focus {
  border-color: var(--ps-or) !important;
  box-shadow: 0 0 0 3px rgba(232,130,12,.13) !important;
  background: var(--ps-white) !important;
}

/* ---- Featured photo ---- */
.prsngl-single-wrap .prsngl-single-featured {
  height: 300px !important;
  border-radius: var(--ps-radius-lg) !important;
  overflow: hidden !important;
  margin-bottom: 32px !important;
  box-shadow: var(--ps-shadow-lg) !important;
}
.prsngl-single-wrap .prsngl-single-featured__cover {
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
  transition: transform .6s ease !important;
}
.prsngl-single-wrap .prsngl-single-featured:hover .prsngl-single-featured__cover {
  transform: scale(1.03) !important;
}

/* ---- Héro événement ---- */
.prsngl-single-wrap .prsngl-single-hero {
  display: flex !important;
  gap: 32px !important;
  align-items: center !important;
  background: linear-gradient(135deg, var(--ps-bleu-dark) 0%, var(--ps-bleu) 60%, #2563D4 100%) !important;
  border-radius: var(--ps-radius-xl) !important;
  padding: 40px !important;
  margin-bottom: 10px !important;
  box-shadow: 0 12px 40px rgba(27,79,168,.35) !important;
  position: relative !important;
  overflow: hidden !important;
}
.prsngl-single-wrap .prsngl-single-hero::before {
  content: '' !important;
  position: absolute !important;
  top: -60px !important;
  right: -60px !important;
  width: 240px !important;
  height: 240px !important;
  background: rgba(255,255,255,.05) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}
.prsngl-single-wrap .prsngl-single-hero--event .prsngl-single-title { color: #fff !important; }
.prsngl-single-wrap .prsngl-single-hero__date-box {
  flex-shrink: 0 !important;
  width: 110px !important;
  height: 110px !important;
  background: rgba(255,255,255,.15) !important;
  border-radius: var(--ps-radius-lg) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid rgba(255,255,255,.25) !important;
  backdrop-filter: blur(6px) !important;
}
.prsngl-single-wrap .prsngl-single-mois {
  font-size: .68rem !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  color: rgba(255,255,255,.75) !important;
  text-transform: uppercase !important;
  display: block !important;
}
.prsngl-single-wrap .prsngl-single-jour {
  font-family: 'Cinzel', serif !important;
  font-size: 2.8rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1 !important;
  display: block !important;
}
.prsngl-single-wrap .prsngl-single-hero__info { flex: 1 !important; }
.prsngl-single-wrap .prsngl-single-badge {
  display: inline-block !important;
  background: var(--ps-or) !important;
  color: #fff !important;
  font-size: .7rem !important;
  font-weight: 800 !important;
  padding: 4px 14px !important;
  border-radius: 50px !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  margin-bottom: 10px !important;
}
.prsngl-single-wrap .prsngl-event-theme-hero {
  color: rgba(255,255,255,.85) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  margin: 0 0 16px !important;
}
.prsngl-single-wrap .prsngl-event-meta-hero {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 22px !important;
}
.prsngl-single-wrap .prsngl-meta-chip {
  display: inline-flex !important;
  align-items: center !important;
  background: rgba(255,255,255,.15) !important;
  color: #fff !important;
  padding: 5px 14px !important;
  border-radius: 50px !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  backdrop-filter: blur(4px) !important;
}
.prsngl-single-wrap .prsngl-meta-chip--inscrits {
  background: rgba(255,255,255,.25) !important;
  font-weight: 800 !important;
  border-color: rgba(255,255,255,.4) !important;
}
.prsngl-single-wrap .prsngl-insc-fermee {
  display: inline-block !important;
  color: rgba(255,255,255,.6) !important;
  font-size: .9rem !important;
  font-style: italic !important;
  margin-top: 10px !important;
}
.prsngl-single-wrap .prsngl-insc-count {
  background: rgba(255,255,255,.2) !important;
  padding: 2px 8px !important;
  border-radius: 50px !important;
  font-size: .72rem !important;
  margin-left: 6px !important;
}

/* ---- Related groupes ---- */
.prsngl-single-wrap .prsngl-single-related { margin-bottom: 40px !important; }
.prsngl-single-wrap .prsngl-related-title {
  font-family: 'Cinzel', serif !important;
  font-size: 1.25rem !important;
  color: var(--ps-bleu-dark) !important;
  margin: 0 0 22px !important;
  font-weight: 700 !important;
}
.prsngl-single-wrap .prsngl-related-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(265px, 1fr)) !important;
  gap: 20px !important;
}
.prsngl-single-wrap .prsngl-related-card {
  background: var(--ps-white) !important;
  border-radius: var(--ps-radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--ps-shadow) !important;
  border: 1px solid var(--ps-border) !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
}
.prsngl-single-wrap .prsngl-related-card:hover { transform: translateY(-5px) !important; box-shadow: var(--ps-shadow-lg) !important; }
.prsngl-single-wrap .prsngl-related-card__photo {
  position: relative !important;
  height: 130px !important;
  background: linear-gradient(135deg, var(--ps-creme), var(--ps-border)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}
.prsngl-single-wrap .prsngl-related-card__cover {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  width: 100% !important;
  height: 100% !important;
  transition: transform .4s ease !important;
}
.prsngl-single-wrap .prsngl-related-card:hover .prsngl-related-card__cover { transform: scale(1.06) !important; }
.prsngl-single-wrap .prsngl-related-card__placeholder { font-size: 36px !important; opacity: .2 !important; }
.prsngl-single-wrap .prsngl-related-card__body { padding: 16px 18px !important; }
.prsngl-single-wrap .prsngl-related-card__body h3 {
  font-family: 'Cinzel', serif !important;
  font-size: .9rem !important;
  color: var(--ps-bleu-dark) !important;
  margin: 0 0 6px !important;
  font-weight: 700 !important;
}
.prsngl-single-wrap .prsngl-related-card__body p {
  font-size: .8rem !important;
  color: var(--ps-muted) !important;
  margin: 0 0 4px !important;
}
.prsngl-single-wrap .prsngl-related-horaire { color: var(--ps-bleu) !important; font-weight: 700 !important; }

/* ---- Bouton "Voir les détails" related ---- */
.prsngl-single-wrap .prsngl-related-detail-btn,
.prsngl-wrapper .prsngl-card-detail-btn {
  display: inline-block !important;
  margin-top: 10px !important;
  padding: 7px 16px !important;
  background: var(--ps-creme) !important;
  color: var(--ps-bleu-dark) !important;
  border-radius: 6px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  transition: all .18s ease !important;
  border: 1px solid var(--ps-border) !important;
  letter-spacing: .01em !important;
}
.prsngl-single-wrap .prsngl-related-detail-btn:hover,
.prsngl-wrapper .prsngl-card-detail-btn:hover {
  background: var(--ps-bleu) !important;
  color: #fff !important;
  border-color: var(--ps-bleu) !important;
  transform: translateY(-1px) !important;
}

/* ---- Related events ---- */
.prsngl-single-wrap .prsngl-related-grid--events { grid-template-columns: repeat(auto-fill, minmax(285px, 1fr)) !important; }
.prsngl-single-wrap .prsngl-related-event-card-wrap {
  background: var(--ps-white) !important;
  border-radius: var(--ps-radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--ps-shadow) !important;
  border: 1px solid var(--ps-border) !important;
  border-left: 4px solid var(--ps-or) !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform .25s ease !important;
}
.prsngl-single-wrap .prsngl-related-event-card-wrap:hover { transform: translateX(4px) !important; }
.prsngl-single-wrap .prsngl-related-event-card {
  display: flex !important;
  gap: 14px !important;
  padding: 18px 20px !important;
  text-decoration: none !important;
  color: var(--ps-text) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: none !important;
  align-items: flex-start !important;
}
.prsngl-single-wrap .prsngl-related-date-box {
  flex-shrink: 0 !important;
  background: var(--ps-bleu) !important;
  color: #fff !important;
  border-radius: var(--ps-radius-sm) !important;
  min-width: 52px !important;
  height: 52px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 3px 10px rgba(27,79,168,.25) !important;
}
.prsngl-single-wrap .prsngl-related-event-body h3 {
  font-family: 'Cinzel', serif !important;
  font-size: .9rem !important;
  color: var(--ps-dark) !important;
  margin: 0 0 4px !important;
  font-weight: 700 !important;
}
.prsngl-single-wrap .prsngl-related-event-body p {
  font-size: .8rem !important;
  color: var(--ps-muted) !important;
  margin: 0 0 3px !important;
}
.prsngl-single-wrap .prsngl-ev-inscrits-small { color: #166534 !important; font-weight: 700 !important; }
.prsngl-single-wrap .prsngl-related-event-card-wrap .prsngl-related-detail-btn {
  margin: 0 18px 14px !important;
  align-self: flex-start !important;
}

/* ---- Retour ---- */
.prsngl-single-wrap .prsngl-single-back { margin-top: 8px !important; }

/* ---- Messages formulaire inline ---- */
#prsngl-insc-message-inline {
  margin-top: 14px !important;
  padding: 12px 16px !important;
  border-radius: var(--ps-radius-sm) !important;
  font-weight: 600 !important;
  font-size: .88rem !important;
  display: none;
}
#prsngl-insc-message-inline.success { background: #DCFCE7 !important; color: #166534 !important; display: block !important; border: 1px solid #86EFAC !important; }
#prsngl-insc-message-inline.error   { background: #FEE2E2 !important; color: #991B1B !important; display: block !important; border: 1px solid #FCA5A5 !important; }

/* ---- Responsive single ---- */
@media (max-width: 768px) {
  .prsngl-single-wrap .prsngl-single-cover { height: 230px !important; }
  .prsngl-single-wrap .prsngl-single-header { flex-direction: column !important; padding: 22px 20px !important; }
  .prsngl-single-wrap .prsngl-single-contacts { flex-direction: row !important; flex-wrap: wrap !important; }
  .prsngl-single-wrap .prsngl-single-body { grid-template-columns: 1fr !important; }
  .prsngl-single-wrap .prsngl-form-row { grid-template-columns: 1fr !important; }
  .prsngl-single-wrap .prsngl-info-row dt { width: 120px !important; }
  .prsngl-single-wrap .prsngl-single-hero { flex-direction: column !important; padding: 28px 22px !important; gap: 20px !important; }
  .prsngl-single-wrap .prsngl-single-featured { height: 200px !important; }
}

/* ================================================================
   PAGE VÉRIFICATION QR CODE
   ================================================================ */

.prsngl-verify-wrap {
  max-width: 540px !important;
  margin: 56px auto !important;
  padding: 20px !important;
  text-align: center !important;
  font-family: 'Nunito', sans-serif !important;
  box-sizing: border-box;
}
@keyframes ps-pop {
  0%   { transform: scale(.4); opacity: 0; }
  70%  { transform: scale(1.1); }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes ps-slide-up {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Carte centrale */
.prsngl-verify-wrap .prsngl-verify-card {
  border-radius: var(--ps-radius-xl) !important;
  padding: 48px 40px !important;
  margin-bottom: 20px !important;
  box-shadow: var(--ps-shadow-xl) !important;
  animation: ps-slide-up .4s ease both;
}
.prsngl-verify-wrap .prsngl-verify-success {
  background: linear-gradient(145deg, #F0FDF4, #DCFCE7) !important;
  border: 2px solid #86EFAC !important;
}
.prsngl-verify-wrap .prsngl-verify-warning {
  background: linear-gradient(145deg, #FFFBEB, #FEF3C7) !important;
  border: 2px solid #FCD34D !important;
}
.prsngl-verify-wrap .prsngl-verify-invalid {
  background: linear-gradient(145deg, #FFF1F2, #FFE4E6) !important;
  border: 2px solid #FCA5A5 !important;
}

/* Icône animée */
.prsngl-verify-wrap .prsngl-verify-icon {
  font-size: 68px !important;
  line-height: 1 !important;
  margin-bottom: 18px !important;
  display: block !important;
  animation: ps-pop .5s cubic-bezier(.175,.885,.32,1.275) .1s both !important;
}

/* Titres */
.prsngl-verify-wrap .prsngl-verify-success h1 {
  font-family: 'Cinzel', serif !important;
  font-size: 1.7rem !important;
  font-weight: 700 !important;
  color: #166534 !important;
  margin: 0 0 6px !important;
}
.prsngl-verify-wrap .prsngl-verify-warning h1 {
  font-family: 'Cinzel', serif !important;
  font-size: 1.7rem !important;
  font-weight: 700 !important;
  color: #92400E !important;
  margin: 0 0 6px !important;
}
.prsngl-verify-wrap .prsngl-verify-invalid h1 {
  font-family: 'Cinzel', serif !important;
  font-size: 1.7rem !important;
  font-weight: 700 !important;
  color: #991B1B !important;
  margin: 0 0 6px !important;
}

/* Sous-titre */
.prsngl-verify-wrap .prsngl-verify-subtitle {
  font-size: 1rem !important;
  color: #374151 !important;
  margin: 0 0 26px !important;
  font-weight: 500 !important;
}
.prsngl-verify-wrap .prsngl-verify-subtitle strong {
  font-weight: 800 !important;
  color: var(--ps-dark) !important;
}

/* Détails */
.prsngl-verify-wrap .prsngl-verify-details {
  background: #fff !important;
  border-radius: var(--ps-radius) !important;
  padding: 6px 22px !important;
  text-align: left !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.07) !important;
  margin: 0 0 22px !important;
  border: 1px solid rgba(0,0,0,.05) !important;
}
.prsngl-verify-wrap .prsngl-verify-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 11px 0 !important;
  border-bottom: 1px solid #F3F4F6 !important;
}
.prsngl-verify-wrap .prsngl-verify-row:last-child { border-bottom: none !important; }
.prsngl-verify-wrap .prsngl-verify-label {
  flex-shrink: 0 !important;
  width: 118px !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  color: var(--ps-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  padding-top: 1px !important;
}
.prsngl-verify-wrap .prsngl-verify-value {
  flex: 1 !important;
  font-size: .9rem !important;
  color: var(--ps-text) !important;
  font-weight: 600 !important;
  word-break: break-word !important;
}
.prsngl-verify-wrap .prsngl-verify-divider {
  height: 1px !important;
  background: #E5E7EB !important;
  margin: 2px 0 !important;
  border: none !important;
}
.prsngl-verify-wrap .prsngl-verify-status-en_attente { color: #92400E !important; }
.prsngl-verify-wrap .prsngl-verify-status-annule { color: #991B1B !important; }

/* QR Code */
.prsngl-verify-wrap .prsngl-verify-qr {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 22px !important;
  background: #fff !important;
  border-radius: var(--ps-radius) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.07) !important;
  border: 1px solid rgba(0,0,0,.05) !important;
}
.prsngl-verify-wrap .prsngl-qr-label {
  font-size: .72rem !important;
  font-weight: 800 !important;
  color: var(--ps-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  margin: 0 !important;
}
.prsngl-verify-wrap .prsngl-verify-qr img {
  width: 140px !important;
  height: 140px !important;
  border-radius: var(--ps-radius-sm) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.15) !important;
  display: block !important;
  padding: 6px !important;
  background: #fff !important;
  border: 1px solid var(--ps-border) !important;
}
.prsngl-verify-wrap .prsngl-verify-meta {
  font-size: .74rem !important;
  color: #9CA3AF !important;
  margin: 0 !important;
}

/* Aide + retour */
.prsngl-verify-wrap .prsngl-verify-help {
  font-size: .88rem !important;
  color: var(--ps-muted) !important;
  margin: 0 0 6px !important;
  line-height: 1.65 !important;
}
.prsngl-verify-wrap .prsngl-verify-back {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 10px !important;
  color: var(--ps-bleu) !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  font-family: 'Nunito', sans-serif !important;
  padding: 11px 26px !important;
  border: 1.5px solid var(--ps-bleu) !important;
  border-radius: var(--ps-radius-sm) !important;
  transition: all .2s ease !important;
  font-size: .9rem !important;
  background: transparent !important;
}
.prsngl-verify-wrap .prsngl-verify-back:hover {
  background: var(--ps-bleu) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 5px 16px rgba(27,79,168,.3) !important;
}

/* Responsive verify */
@media (max-width: 600px) {
  .prsngl-verify-wrap { margin: 24px auto !important; padding: 16px !important; }
  .prsngl-verify-wrap .prsngl-verify-card { padding: 32px 20px !important; }
  .prsngl-verify-wrap .prsngl-verify-success h1,
  .prsngl-verify-wrap .prsngl-verify-warning h1,
  .prsngl-verify-wrap .prsngl-verify-invalid h1 { font-size: 1.35rem !important; }
  .prsngl-verify-wrap .prsngl-verify-icon { font-size: 54px !important; }
  .prsngl-verify-wrap .prsngl-verify-label { width: 100px !important; }
}

/* ================================================================
   GRILLE ÉVÉNEMENTS — Filtres + Cartes
   ================================================================ */

/* ---- Bloc filtres ---- */
.prsngl-wrapper .prsngl-ev-filtres {
  background: var(--ps-white) !important;
  border: 1px solid var(--ps-border) !important;
  border-radius: var(--ps-radius-lg) !important;
  padding: 22px 26px !important;
  margin-bottom: 32px !important;
  box-shadow: var(--ps-shadow-sm) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.prsngl-wrapper .prsngl-ev-filtre-group {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

.prsngl-wrapper .prsngl-ev-filtre-label {
  font-size: .75rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: var(--ps-muted) !important;
  white-space: nowrap !important;
  min-width: 72px !important;
}

.prsngl-wrapper .prsngl-ev-filtre-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
}

.prsngl-wrapper .prsngl-ev-pill {
  background: var(--ps-ivoire) !important;
  border: 1.5px solid var(--ps-border) !important;
  color: var(--ps-text) !important;
  padding: 5px 16px !important;
  border-radius: 50px !important;
  cursor: pointer !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: .83rem !important;
  font-weight: 700 !important;
  transition: all .18s ease !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  text-align: center !important;
}
.prsngl-wrapper .prsngl-ev-pill:hover {
  border-color: var(--ps-or) !important;
  color: var(--ps-or-dark) !important;
  background: var(--ps-creme) !important;
  transform: translateY(-1px) !important;
}
.prsngl-wrapper .prsngl-ev-pill.active {
  background: var(--ps-bleu) !important;
  border-color: var(--ps-bleu) !important;
  color: #fff !important;
  box-shadow: 0 3px 10px rgba(27,79,168,.3) !important;
}

.prsngl-wrapper .prsngl-ev-pill.ps-pill-disabled {
  opacity: .35 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

.prsngl-wrapper .prsngl-ev-count {
  font-size: .82rem !important;
  color: var(--ps-muted) !important;
  font-weight: 600 !important;
  margin-top: 2px !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--ps-border) !important;
}
.prsngl-wrapper .prsngl-ev-count span {
  font-weight: 800 !important;
  color: var(--ps-bleu) !important;
  font-size: 1rem !important;
}

.prsngl-wrapper .prsngl-ev-no-result {
  text-align: center !important;
  padding: 48px 24px !important;
  color: var(--ps-muted) !important;
  font-size: .95rem !important;
  background: var(--ps-ivoire) !important;
  border-radius: var(--ps-radius-lg) !important;
  border: 2px dashed var(--ps-border) !important;
}

/* ---- GRILLE ÉVÉNEMENTS 4 COLONNES ---- */
.prsngl-wrapper .prsngl-ev-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
}

/* Version plus compacte pour 4 colonnes */
.prsngl-ev-grid-4cols .prsngl-ev-card__cover {
  height: 160px !important;
}

.prsngl-ev-grid-4cols .prsngl-ev-card__body {
  padding: 16px 18px 18px !important;
}

.prsngl-ev-grid-4cols .prsngl-ev-card__title {
  font-size: 0.9rem !important;
  margin-bottom: 8px !important;
}

.prsngl-ev-grid-4cols .prsngl-ev-card__meta {
  font-size: 0.75rem !important;
  gap: 3px !important;
  margin-bottom: 12px !important;
}

.prsngl-ev-grid-4cols .prsngl-ev-card__inscrits {
  font-size: 0.75rem !important;
}

.prsngl-ev-grid-4cols .prsngl-ev-btn {
  font-size: 0.7rem !important;
  padding: 6px 10px !important;
}

/* ---- Carte événement ---- */
@keyframes ps-ev-in {
  from { opacity: 0; transform: translateY(16px) scale(.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.prsngl-wrapper .prsngl-ev-card {
  background: var(--ps-white) !important;
  border-radius: var(--ps-radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--ps-shadow) !important;
  border: 1px solid var(--ps-border) !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform .3s cubic-bezier(.4,0,.2,1), box-shadow .3s ease !important;
  animation: ps-ev-in .45s ease both !important;
}
.prsngl-wrapper .prsngl-ev-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--ps-shadow-xl) !important;
  border-color: rgba(27,79,168,.2) !important;
}
.prsngl-wrapper .prsngl-ev-card.ps-hidden {
  display: none !important;
}

/* Cover photo */
.prsngl-wrapper .prsngl-ev-card__cover-link {
  display: block !important;
  text-decoration: none !important;
}
.prsngl-wrapper .prsngl-ev-card__cover {
  position: relative !important;
  height: 190px !important;
  background: linear-gradient(135deg, var(--ps-bleu-dark), var(--ps-bleu)) !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.prsngl-wrapper .prsngl-ev-card__cover-img {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  width: 100% !important;
  height: 100% !important;
  transition: transform .5s ease !important;
}
.prsngl-wrapper .prsngl-ev-card:hover .prsngl-ev-card__cover-img {
  transform: scale(1.07) !important;
}
.prsngl-wrapper .prsngl-ev-card__cover-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(15,23,42,.7) 0%, rgba(15,23,42,.15) 55%, transparent 100%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
.prsngl-wrapper .prsngl-ev-card__cover-placeholder {
  font-size: 56px !important;
  opacity: .25 !important;
  color: rgba(255,255,255,.7) !important;
}

/* Date box sur la photo */
.prsngl-wrapper .prsngl-ev-card__date-box {
  position: absolute !important;
  bottom: 14px !important;
  left: 16px !important;
  z-index: 2 !important;
  background: rgba(255,255,255,.18) !important;
  backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255,255,255,.3) !important;
  border-radius: 10px !important;
  padding: 8px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  min-width: 52px !important;
}
.prsngl-wrapper .prsngl-ev-card__mois {
  font-size: .6rem !important;
  font-weight: 800 !important;
  color: rgba(255,255,255,.85) !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  display: block !important;
}
.prsngl-wrapper .prsngl-ev-card__jour {
  font-family: 'Cinzel', serif !important;
  font-size: 1.7rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1 !important;
  display: block !important;
}
.prsngl-wrapper .prsngl-ev-card__annee {
  font-size: .58rem !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,.7) !important;
  display: block !important;
  letter-spacing: .06em !important;
}

/* Badge inscription */
.prsngl-wrapper .prsngl-ev-card__insc-badge {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 2 !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
  padding: 4px 10px !important;
  border-radius: 50px !important;
  letter-spacing: .04em !important;
}
.prsngl-wrapper .prsngl-ev-card__insc-badge--open {
  background: #16A34A !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(22,163,74,.35) !important;
}
.prsngl-wrapper .prsngl-ev-card__insc-badge--closed {
  background: rgba(15,23,42,.55) !important;
  color: rgba(255,255,255,.8) !important;
  backdrop-filter: blur(4px) !important;
}

/* Badge enseignement */
.prsngl-wrapper .prsngl-ev-card__enseign-badge {
  position: absolute !important;
  bottom: 12px !important;
  right: 10px !important;
  z-index: 2 !important;
  background: var(--ps-bleu) !important;
  color: #fff !important;
  font-size: .62rem !important;
  font-weight: 800 !important;
  padding: 3px 8px !important;
  border-radius: 50px !important;
}

/* Corps de la carte */
.prsngl-wrapper .prsngl-ev-card__body {
  padding: 20px 22px 22px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}
.prsngl-wrapper .prsngl-ev-card__theme {
  font-size: .78rem !important;
  font-weight: 700 !important;
  color: var(--ps-or-dark) !important;
  margin: 0 0 6px !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
}
.prsngl-wrapper .prsngl-ev-card__title {
  font-family: 'Cinzel', serif !important;
  font-size: .98rem !important;
  font-weight: 700 !important;
  color: var(--ps-dark) !important;
  margin: 0 0 12px !important;
  line-height: 1.35 !important;
}
.prsngl-wrapper .prsngl-ev-card__title a {
  color: inherit !important;
  text-decoration: none !important;
}
.prsngl-wrapper .prsngl-ev-card__title a:hover { color: var(--ps-bleu) !important; }
.prsngl-wrapper .prsngl-ev-card__meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  font-size: .82rem !important;
  color: var(--ps-muted) !important;
  font-weight: 500 !important;
  flex: 1 !important;
  margin-bottom: 16px !important;
}
.prsngl-wrapper .prsngl-ev-card__meta span {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
}

/* Footer de la carte */
.prsngl-wrapper .prsngl-ev-card__footer {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  padding-top: 14px !important;
  margin-top: auto !important;
  border-top: 1px solid var(--ps-border) !important;
}
.prsngl-wrapper .prsngl-ev-card__inscrits {
  font-size: .8rem !important;
  color: var(--ps-muted) !important;
  font-weight: 500 !important;
  display: block !important;
}
.prsngl-wrapper .prsngl-ev-card__inscrits strong {
  color: var(--ps-bleu) !important;
  font-weight: 800 !important;
}
.prsngl-wrapper .prsngl-ev-card__actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
}

/* Boutons de la carte événement */
.prsngl-wrapper .prsngl-ev-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 7px 14px !important;
  border-radius: var(--ps-radius-sm) !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all .18s ease !important;
  border: none !important;
  white-space: nowrap !important;
  letter-spacing: .01em !important;
  width: 100% !important;
}
.prsngl-wrapper .prsngl-ev-btn--insc {
  background: var(--ps-rouge) !important;
  color: #fff !important;
  box-shadow: 0 2px 8px rgba(211,47,47,.3) !important;
}
.prsngl-wrapper .prsngl-ev-btn--insc:hover {
  background: var(--ps-rouge-dark) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(211,47,47,.4) !important;
  color: #fff !important;
}
.prsngl-wrapper .prsngl-ev-btn--detail {
  background: var(--ps-creme) !important;
  color: var(--ps-bleu-dark) !important;
  border: 1.5px solid var(--ps-border) !important;
}
.prsngl-wrapper .prsngl-ev-btn--detail:hover {
  background: var(--ps-bleu) !important;
  color: #fff !important;
  border-color: var(--ps-bleu) !important;
  transform: translateY(-1px) !important;
}

/* ================================================================
   VUE LISTE ÉVÉNEMENTS — [prsngl_evenements_liste]
   ================================================================ */

.prsngl-wrapper .prsngl-ev-list-view {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}
.prsngl-wrapper .prsngl-ev-list-item {
  display: flex !important;
  align-items: stretch !important;
  gap: 0 !important;
  background: var(--ps-white) !important;
  border-radius: var(--ps-radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--ps-shadow) !important;
  border: 1px solid var(--ps-border) !important;
  border-left: 5px solid var(--ps-or) !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
  animation: ps-fade-up .4s ease both !important;
}
.prsngl-wrapper .prsngl-ev-list-item:hover {
  transform: translateX(5px) !important;
  box-shadow: var(--ps-shadow-lg) !important;
  border-left-color: var(--ps-bleu) !important;
}
.prsngl-wrapper .prsngl-ev-list-item.ps-hidden { display: none !important; }

/* Date box liste */
.prsngl-wrapper .prsngl-ev-list-date {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--ps-bleu) !important;
  color: #fff !important;
  min-width: 72px !important;
  padding: 14px 12px !important;
  flex-shrink: 0 !important;
  text-align: center !important;
}
.prsngl-wrapper .prsngl-ev-list-date__mois {
  font-size: .6rem !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
  opacity: .8 !important;
  text-transform: uppercase !important;
  display: block !important;
}
.prsngl-wrapper .prsngl-ev-list-date__jour {
  font-family: 'Cinzel', serif !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  display: block !important;
}
.prsngl-wrapper .prsngl-ev-list-date__annee {
  font-size: .6rem !important;
  opacity: .65 !important;
  display: block !important;
  letter-spacing: .04em !important;
}

/* Thumbnail liste */
.prsngl-wrapper .prsngl-ev-list-thumb {
  display: block !important;
  width: 110px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
}
.prsngl-wrapper .prsngl-ev-list-thumb div {
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
  transition: transform .4s ease !important;
}
.prsngl-wrapper .prsngl-ev-list-item:hover .prsngl-ev-list-thumb div {
  transform: scale(1.08) !important;
}

/* Corps liste */
.prsngl-wrapper .prsngl-ev-list-body {
  flex: 1 !important;
  padding: 16px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 6px !important;
}
.prsngl-wrapper .prsngl-ev-list-body__top {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.prsngl-wrapper .prsngl-ev-tag {
  font-size: .68rem !important;
  font-weight: 800 !important;
  padding: 2px 9px !important;
  border-radius: 50px !important;
  background: var(--ps-creme) !important;
  color: var(--ps-or-dark) !important;
  border: 1px solid var(--ps-border) !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
}
.prsngl-wrapper .prsngl-ev-tag--enseign {
  background: #EFF6FF !important;
  color: var(--ps-bleu) !important;
  border-color: #BFDBFE !important;
}
.prsngl-wrapper .prsngl-ev-list-title {
  font-family: 'Cinzel', serif !important;
  font-size: .97rem !important;
  font-weight: 700 !important;
  color: var(--ps-dark) !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}
.prsngl-wrapper .prsngl-ev-list-title a {
  color: inherit !important;
  text-decoration: none !important;
}
.prsngl-wrapper .prsngl-ev-list-title a:hover { color: var(--ps-bleu) !important; }
.prsngl-wrapper .prsngl-ev-list-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  font-size: .8rem !important;
  color: var(--ps-muted) !important;
  font-weight: 500 !important;
}
.prsngl-wrapper .prsngl-evp-resume {
  font-size: .83rem !important;
  color: var(--ps-muted) !important;
  margin: 2px 0 0 !important;
  line-height: 1.5 !important;
}
.prsngl-wrapper .prsngl-evp-ressources {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-top: 8px !important;
}

/* Actions liste */
.prsngl-wrapper .prsngl-ev-list-actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 14px 16px !important;
  border-left: 1px solid var(--ps-border) !important;
  min-width: 140px !important;
  flex-shrink: 0 !important;
}
.prsngl-wrapper .prsngl-ev-list-badge {
  font-size: .7rem !important;
  font-weight: 800 !important;
  padding: 4px 10px !important;
  border-radius: 50px !important;
  text-align: center !important;
}
.prsngl-wrapper .prsngl-ev-list-badge--open   { background: #DCFCE7 !important; color: #166534 !important; }
.prsngl-wrapper .prsngl-ev-list-badge--closed { background: #F1F5F9 !important; color: var(--ps-muted) !important; }
.prsngl-wrapper .prsngl-ev-list-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 12px !important;
  border-radius: var(--ps-radius-sm) !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  border: none !important;
  transition: all .18s ease !important;
  white-space: nowrap !important;
}
.prsngl-wrapper .prsngl-ev-list-btn--insc   { background: var(--ps-rouge) !important; color: #fff !important; }
.prsngl-wrapper .prsngl-ev-list-btn--insc:hover { background: var(--ps-rouge-dark) !important; }
.prsngl-wrapper .prsngl-ev-list-btn--detail { background: var(--ps-creme) !important; color: var(--ps-bleu-dark) !important; border: 1.5px solid var(--ps-border) !important; }
.prsngl-wrapper .prsngl-ev-list-btn--detail:hover { background: var(--ps-bleu) !important; color: #fff !important; border-color: var(--ps-bleu) !important; }

/* ================================================================
   ÉVÉNEMENTS PASSÉS — [prsngl_evenements_passes]
   ================================================================ */

.prsngl-wrapper.prsngl-ev-passes { 
  background: var(--ps-ivoire) !important; 
  padding: 36px !important; 
  border-radius: var(--ps-radius-xl) !important; 
}
.prsngl-wrapper .prsngl-ev-passes__header { 
  text-align: center !important; 
  margin-bottom: 28px !important; 
}
.prsngl-wrapper .prsngl-ev-passes__titre {
  font-family: 'Cinzel', serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--ps-bleu-dark) !important;
  margin: 0 0 8px !important;
}
.prsngl-wrapper .prsngl-ev-passes__sous-titre {
  font-size: .9rem !important;
  color: var(--ps-muted) !important;
  margin: 0 !important;
}

/* Date passée bleu foncé */
.prsngl-wrapper .prsngl-evp-date { background: var(--ps-bleu-dark) !important; }

/* Grille événements passés */
.prsngl-wrapper .prsngl-evp-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 24px !important;
}

/* Carte événement passé */
.prsngl-wrapper .prsngl-evp-card {
  background: var(--ps-white) !important;
  border-radius: var(--ps-radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--ps-shadow) !important;
  border: 1px solid var(--ps-border) !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform .28s ease, box-shadow .28s ease !important;
  animation: ps-fade-up .45s ease both !important;
}
.prsngl-wrapper .prsngl-evp-card:hover {
  transform: translateY(-7px) !important;
  box-shadow: var(--ps-shadow-xl) !important;
}
.prsngl-wrapper .prsngl-evp-card.ps-hidden { display: none !important; }
.prsngl-wrapper .prsngl-evp-card__cover-link { display: block !important; text-decoration: none !important; }
.prsngl-wrapper .prsngl-evp-card__cover {
  position: relative !important;
  height: 175px !important;
  background: linear-gradient(135deg, var(--ps-bleu-dark), var(--ps-bleu)) !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.prsngl-wrapper .prsngl-evp-card__img {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  transition: transform .5s ease !important;
  filter: brightness(.85) !important;
}
.prsngl-wrapper .prsngl-evp-card:hover .prsngl-evp-card__img { transform: scale(1.06) !important; }
.prsngl-wrapper .prsngl-evp-card__overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(15,23,42,.6) 0%, transparent 60%) !important;
}
.prsngl-wrapper .prsngl-evp-card__placeholder { font-size: 48px !important; opacity: .2 !important; color: rgba(255,255,255,.8) !important; }
.prsngl-wrapper .prsngl-evp-card__date {
  position: absolute !important;
  bottom: 12px !important;
  left: 14px !important;
  z-index: 2 !important;
  background: rgba(255,255,255,.15) !important;
  backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  border-radius: 8px !important;
  padding: 6px 12px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  color: #fff !important;
}
.prsngl-wrapper .prsngl-evp-card__date span { 
  font-size: .6rem !important; 
  font-weight: 700 !important; 
  opacity: .8 !important; 
  display: block !important; 
}
.prsngl-wrapper .prsngl-evp-card__date strong { 
  font-family: 'Cinzel', serif !important; 
  font-size: 1.5rem !important; 
  font-weight: 700 !important; 
  line-height: 1 !important; 
  display: block !important; 
}
.prsngl-wrapper .prsngl-evp-enseign-badge {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 2 !important;
  background: var(--ps-bleu) !important;
  color: #fff !important;
  font-size: .65rem !important;
  font-weight: 800 !important;
  padding: 3px 9px !important;
  border-radius: 50px !important;
  letter-spacing: .05em !important;
}

/* Corps carte passée */
.prsngl-wrapper .prsngl-evp-card__body {
  padding: 18px 20px 20px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.prsngl-wrapper .prsngl-evp-card__theme { 
  font-size: .75rem !important; 
  font-weight: 700 !important; 
  color: var(--ps-or-dark) !important; 
  text-transform: uppercase !important; 
  letter-spacing: .05em !important; 
  margin: 0 !important; 
}
.prsngl-wrapper .prsngl-evp-card__title { 
  font-family: 'Cinzel', serif !important; 
  font-size: .92rem !important; 
  font-weight: 700 !important; 
  color: var(--ps-dark) !important; 
  margin: 0 !important; 
  line-height: 1.35 !important; 
}
.prsngl-wrapper .prsngl-evp-card__title a { 
  color: inherit !important; 
  text-decoration: none !important; 
}
.prsngl-wrapper .prsngl-evp-card__title a:hover { 
  color: var(--ps-bleu) !important; 
}
.prsngl-wrapper .prsngl-evp-card__resume { 
  font-size: .82rem !important; 
  color: var(--ps-muted) !important; 
  margin: 0 !important; 
  line-height: 1.55 !important; 
  flex: 1 !important; 
}
.prsngl-wrapper .prsngl-evp-card__ressources { 
  display: flex !important; 
  flex-wrap: wrap !important; 
  gap: 6px !important; 
  margin-top: 4px !important; 
}
.prsngl-wrapper .prsngl-evp-card__detail-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px !important;
  background: var(--ps-creme) !important;
  color: var(--ps-bleu-dark) !important;
  border-radius: var(--ps-radius-sm) !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: .8rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  border: 1.5px solid var(--ps-border) !important;
  transition: all .18s ease !important;
  margin-top: 4px !important;
}
.prsngl-wrapper .prsngl-evp-card__detail-btn:hover { 
  background: var(--ps-bleu) !important; 
  color: #fff !important; 
  border-color: var(--ps-bleu) !important; 
}

/* Boutons ressources */
.prsngl-wrapper .prsngl-evp-res-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 4px 10px !important;
  border-radius: 50px !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all .18s ease !important;
  border: none !important;
}
.prsngl-wrapper .prsngl-evp-res-btn--audio  { 
  background: #EFF6FF !important; 
  color: var(--ps-bleu) !important; 
  border: 1px solid #BFDBFE !important; 
}
.prsngl-wrapper .prsngl-evp-res-btn--audio:hover  { 
  background: var(--ps-bleu) !important; 
  color: #fff !important; 
}
.prsngl-wrapper .prsngl-evp-res-btn--pdf    { 
  background: var(--ps-creme) !important; 
  color: var(--ps-or-dark) !important; 
  border: 1px solid var(--ps-border) !important; 
}
.prsngl-wrapper .prsngl-evp-res-btn--pdf:hover    { 
  background: var(--ps-or) !important; 
  color: #fff !important; 
}
.prsngl-wrapper .prsngl-evp-res-btn--video  { 
  background: #FFF1F2 !important; 
  color: var(--ps-rouge) !important; 
  border: 1px solid #FCA5A5 !important; 
}
.prsngl-wrapper .prsngl-evp-res-btn--video:hover  { 
  background: var(--ps-rouge) !important; 
  color: #fff !important; 
}
.prsngl-wrapper .prsngl-evp-res-btn--photos { 
  background: #F0FDF4 !important; 
  color: #166534 !important; 
  border: 1px solid #86EFAC !important; 
}

/* ================================================================
   SLIDER ÉVÉNEMENTS — [prsngl_evenements_slider]
   ================================================================ */

.prsngl-slider-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 20px !important;
}
.prsngl-slider-header h4 {
  font-family: 'Cinzel', serif !important;
  color: var(--ps-bleu-dark) !important;
  margin: 0 !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.prsngl-slider-container {
  position: relative !important;
  padding: 0 5px !important;
}
.prsngl-slider-track {
  display: flex !important;
  overflow: hidden !important;
  margin: 0 -5px !important;
}
.prsngl-slider-wrapper {
  display: flex !important;
  transition: transform 0.5s ease !important;
}
.prsngl-slide {
  flex: 0 0 280px !important;
  padding: 0 10px !important;
  box-sizing: border-box !important;
}
.prsngl-slide-card {
  display: block !important;
  text-decoration: none !important;
  background: var(--ps-white) !important;
  border-radius: var(--ps-radius-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--ps-shadow) !important;
  border: 1px solid var(--ps-border) !important;
  transition: transform .3s ease !important;
  height: 100% !important;
}
.prsngl-slide-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--ps-shadow-xl) !important;
}
.prsngl-slider-prev,
.prsngl-slider-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  height: 40px !important;
  background: var(--ps-white) !important;
  border: 2px solid var(--ps-border) !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--ps-bleu) !important;
  font-size: 1.2rem !important;
  box-shadow: var(--ps-shadow) !important;
  transition: all .2s ease !important;
  z-index: 10 !important;
}
.prsngl-slider-prev {
  left: -15px !important;
}
.prsngl-slider-next {
  right: -15px !important;
}
.prsngl-slider-prev:hover,
.prsngl-slider-next:hover {
  background: var(--ps-bleu) !important;
  color: white !important;
  border-color: var(--ps-bleu) !important;
  transform: translateY(-50%) scale(1.1) !important;
}
.prsngl-slider-prev:disabled,
.prsngl-slider-next:disabled {
  opacity: 0.3 !important;
  cursor: not-allowed !important;
}
.prsngl-slider-dots {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  margin-top: 20px !important;
}
.prsngl-slider-dot {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  border: none !important;
  background: var(--ps-border) !important;
  cursor: pointer !important;
  transition: all .2s ease !important;
  padding: 0 !important;
}
.prsngl-slider-dot:hover {
  background: var(--ps-or) !important;
  transform: scale(1.2) !important;
}
.prsngl-slider-dot.active {
  background: var(--ps-bleu) !important;
  transform: scale(1.3) !important;
}

/* ================================================================
   FOOTER ÉVÉNEMENTS — [prsngl_evenements_footer]
   ================================================================ */

.prsngl-footer-events ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.prsngl-footer-events li {
  margin-bottom: 12px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
}
.prsngl-footer-events li:last-child {
  border-bottom: none !important;
}
.prsngl-footer-events a {
  text-decoration: none !important;
  color: rgba(255,255,255,.8) !important;
  display: block !important;
  transition: color .2s ease !important;
}
.prsngl-footer-events a:hover {
  color: var(--ps-or) !important;
  transform: translateX(3px) !important;
}
.prsngl-footer-events .prsngl-footer-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
  gap: 16px !important;
}
.prsngl-footer-events .prsngl-footer-grid a {
  background: var(--ps-white) !important;
  border-radius: var(--ps-radius) !important;
  padding: 16px !important;
  box-shadow: var(--ps-shadow) !important;
  border: 1px solid var(--ps-border) !important;
  transition: transform .2s ease !important;
  color: inherit !important;
}
.prsngl-footer-events .prsngl-footer-grid a:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--ps-shadow-lg) !important;
}
.prsngl-footer-empty {
  color: rgba(255,255,255,.6) !important;
  font-size: 0.85rem !important;
  text-align: center !important;
  padding: 20px !important;
}

/* ================================================================
   CORRECTIONS ET AJOUTS POUR GROUPES
   ================================================================ */

.lieu-badge {
  background: var(--ps-bleu) !important;
  color: white !important;
  padding: 4px 12px !important;
  border-radius: 50px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  display: inline-block !important;
  margin-bottom: 12px !important;
}
.info-label {
  font-weight: 600 !important;
  color: var(--ps-bleu-dark) !important;
}
.info-text {
  margin: 0 0 8px !important;
  font-size: 0.85rem !important;
  color: var(--ps-text) !important;
}

/* ================================================================
   RESPONSIVE GLOBAL
   ================================================================ */

@media (max-width: 1024px) {
  .prsngl-wrapper .prsngl-ev-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 768px) {
  .prsngl-wrapper .prsngl-ev-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .prsngl-wrapper .prsngl-ev-filtre-group { 
    flex-direction: column !important; 
    align-items: flex-start !important; 
  }
  .prsngl-wrapper .prsngl-ev-filtre-label { 
    min-width: auto !important; 
  }
}

@media (max-width: 600px) {
  .prsngl-wrapper .prsngl-ev-grid {
    grid-template-columns: 1fr !important;
  }
  .prsngl-wrapper .prsngl-groupes-grid { 
    grid-template-columns: 1fr !important; 
  }
  .prsngl-wrapper .prsngl-ev-list-item { 
    flex-wrap: wrap !important; 
  }
  .prsngl-wrapper .prsngl-ev-list-thumb { 
    width: 100% !important; 
    height: 140px !important; 
  }
  .prsngl-wrapper .prsngl-ev-list-actions { 
    border-left: none !important; 
    border-top: 1px solid var(--ps-border) !important; 
    flex-direction: row !important; 
    flex-wrap: wrap !important; 
    padding: 12px 16px !important; 
    min-width: unset !important; 
    width: 100% !important; 
  }
  .prsngl-wrapper .prsngl-evp-grid { 
    grid-template-columns: 1fr !important; 
  }
  .prsngl-wrapper.prsngl-ev-passes { 
    padding: 20px !important; 
  }
  .prsngl-slider-prev {
    left: 5px !important;
  }
  .prsngl-slider-next {
    right: 5px !important;
  }
  .prsngl-slide {
    flex: 0 0 240px !important;
  }
}

@media (max-width: 480px) {
  .prsngl-wrapper .prsngl-ev-grid { 
    grid-template-columns: 1fr !important; 
  }
}