.p2p-visites.is-loading { opacity:.6; pointer-events:none; }
.p2p-grid { display:flex; flex-wrap: wrap; gap: 60px; justify-content: center; }
.p2p-card { border-radius:14px; overflow:hidden; background:#fff; }
.p2p-thumb { width:100%; height:160px; background:#f5f5f5 center/cover no-repeat; }
.p2p-body { padding:12px; }
.p2p-body h4 { margin:0 0 6px; font-size:16px; }
.p2p-meta { margin:0 0 10px; color:#282828 !important; font-size:13px; }
.p2p-open.btn { display:inline-block; padding:8px 12px; border-radius:10px; border:1px solid #ccc; background:#fafafa; }
.p2p-empty { padding:12px; color:#FDFDFB !important; }

.p2p-modal[hidden]{ display:none !important; }
.p2p-modal { position:fixed; z-index:9999; inset:0; display:flex; align-items:center; justify-content:center; }
.p2p-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.45); }
.p2p-modal-dialog { position:relative; background:#fff; border-radius:16px; width:min(880px,92vw); max-height:90vh; overflow:auto; box-shadow:0 10px 30px rgba(0,0,0,.2); }
.p2p-modal-close { position:absolute; top:8px; right:10px; background:transparent; border:0; font-size:24px; cursor:pointer; }
.p2p-modal-body { padding:18px; }
.mail-head div { margin-bottom:4px; }
.mail-msg { margin-top:12px; white-space:pre-wrap; background:#fafafa; padding:10px; border-radius:8px; }
.p2p-actions { margin-top:16px; display:flex; gap:14px; }
.p2p-actions label { display:block; font-weight:600; margin-bottom:6px; }
.p2p-actions input, .p2p-actions select, .p2p-actions textarea { width:100%; padding:8px; border:1px solid #ccc; border-radius:10px; }
.p2p-btn-confirm, .p2p-btn-decline { padding:10px 14px; border-radius:10px; border:0; cursor:pointer; }
.p2p-btn-confirm { background:#0a7e2a; color:#fff; }
.p2p-btn-decline { background:#b00020; color:#fff; }
.p2p-head{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.p2p-miniavatar{
  --a: 45deg;
  width:36px;height:36px;border-radius:999px;display:inline-grid;place-items:center;
  background: conic-gradient(from var(--a), #ff9b6a, #ff6a88, #8a7cf7, #4cc3ff, #ff9b6a);
  color:#fff;font-weight:700;letter-spacing:.5px;user-select:none;
}
.p2p-head__txt .p2p-name{margin:0;font-size:16px}
.p2p-head__txt .p2p-name a{color:inherit;text-decoration:none;border-bottom:1px dashed #ccc}
.p2p-sub{font-size:13px;color:#666}
.p2p-wanted{margin:.5rem 0 1rem}

.p2p-btn{padding:.6rem .9rem;border-radius:10px;border:1px solid #ddd;cursor:pointer}
.p2p-btn--primary{background:#111;color:#fff;border-color:#111}
.p2p-btn--ghost{background:#fff;color:#111}
.p2p-actions .p2p-btn + .p2p-btn{margin-left:.5rem}

/* Lightbox */
.p2p-lightbox{position:fixed;inset:0;z-index:9999}
.p2p-lightbox__bg{position:absolute;inset:0;background:rgba(0,0,0,.4)}
.p2p-lightbox__dialog{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(520px,90vw);background:#fff;border-radius:14px;padding:18px 18px 14px;
  box-shadow:0 20px 80px rgba(0,0,0,.35)
}
.p2p-lightbox h3{margin:0 0 12px}
.p2p-lightbox label{display:block;margin:.6rem 0 .2rem;font-weight:600}
.p2p-lightbox input{width:100%;padding:.55rem .7rem;border:1px solid #ddd;border-radius:8px}
.p2p-actions-row{display:flex;gap:.5rem;justify-content:flex-end;margin-top:14px}
.p2p-x{position:absolute;right:8px;top:6px;border:0;background:transparent;font-size:22px;cursor:pointer}
.p2p-btn.p2p-btn--primary.p2p-open-confirm {
  padding: 4px 24px !important;
}
.p2p-confirmed{
			color: #F0E8D5;
		  }
.p2p-btn.p2p-btn--primary.p2p-open-confirm, .p2p-btn.p2p-btn--ghost.p2p-ask-decline:hover {
  background-color: #F0E8D5;
  color: #9A031E;
  border-color: #9A031E;
}
.p2p-btn.p2p-btn--primary.p2p-open-confirm:hover, .p2p-btn.p2p-btn--ghost.p2p-ask-decline {
  background-color: #9A031E;
  color: #F0E8D5;
  border-color: #F0E8D5;
}
		  
		  /* Styles communs aux items dans les 4 listes (demandes, visites à valider, validés, refusés) */
.p2p-visites .p2p-grid > * {
  background: #9A031E;
  padding: 24px;
  border: 2px solid #F0E8D5;
  border-radius: 8px;             /* optionnel, joli */
  color: #F0E8D5;                 /* lisibilité par défaut */
}

/* Si tes items internes utilisent .p2p-card ou .p2p-item, sécurise aussi : */
.p2p-visites .p2p-card,
.p2p-visites .p2p-item {
  background: #9A031E;
  padding: 24px;
  border: 2px solid #F0E8D5;
  color: #F0E8D5;
}

/* Petites badges/boutons à l’intérieur (au cas où) */
.p2p-visites .p2p-badge,
.p2p-visites .p2p-btn {
  border-color: #F0E8D5;
  color: #F0E8D5;
}


/* Mode slider pour les shortcodes p2p_cards_* en mobile */
.p2p-results-container--slider {
  position: relative;
}

/* Mobile uniquement */
@media (max-width: 768px) {
  .p2p-results-container--slider .p2p-grid {
    display: flex;
    flex-wrap: nowrap;              /* ✅ important : plus de retour à la ligne */
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    gap: 16px;
    padding: 0 16px 24px;
    justify-content: flex-start;    /* on aligne à gauche, sinon le center casse un peu l’effet slider */
  }

  .p2p-results-container--slider .p2p-card {
    flex: 0 0 100%;                 /* 1 carte pleine largeur par "slide" */
    scroll-snap-align: start;
  }

  /* La règle grid-template-columns est inutile ici, tu peux la virer */
  /* .p2p-results-container--slider .p2p-grid.p2p-grid {
    grid-template-columns: none;
  } */

  /* Optionnel : masquer la scrollbar sur certains navigateurs */
  .p2p-results-container--slider .p2p-grid::-webkit-scrollbar {
    display: none;
  }
  .p2p-results-container--slider .p2p-grid {
    scrollbar-width: none; /* Firefox */
  }
}
