/* EPEG Dons — front.css */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

.epegd-wrap{width:100%;box-sizing:border-box;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#1a1225;}

/* ══ EN-TÊTE ══ */
.epegd-hd{background:linear-gradient(135deg,var(--ep,#4a1942),var(--es,#7e3a6e));border-radius:18px;padding:24px 28px;margin-bottom:24px;box-shadow:0 8px 28px rgba(74,25,66,.2);}
.epegd-hd-inner{display:flex;align-items:center;gap:16px;}
.epegd-hd-icon{font-size:36px;flex-shrink:0;}
.epegd-hd-titre{color:#fff;margin:0;font-size:22px;font-weight:900;letter-spacing:-.3px;}
.epegd-hd-sub{color:rgba(255,255,255,.7);margin:4px 0 0;font-size:13px;}
.epegd-intro{font-size:14px;color:#475569;line-height:1.7;margin-bottom:20px;}
.epegd-verset{display:flex;gap:10px;align-items:flex-start;background:#fdf4ff;border-left:3px solid var(--ep,#4a1942);border-radius:0 10px 10px 0;padding:12px 16px;margin-bottom:24px;font-size:13px;color:#4a1942;font-style:italic;}

/* ══ CAMPAGNE ══ */
.epegd-camp-banner{display:flex;align-items:flex-start;gap:14px;padding:16px;border:2px solid;border-radius:14px;margin-bottom:24px;background:#fdf8ff;}
.epegd-prog-bar{background:#f0e8f5;border-radius:99px;height:8px;overflow:hidden;}
.epegd-prog-fill{height:100%;border-radius:99px;transition:width .4s;}
.epegd-section{margin-bottom:28px;}
.epegd-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ep,#4a1942);margin-bottom:12px;display:flex;align-items:center;gap:6px;}
.epegd-optionnel{font-size:10px;font-weight:500;background:#f3e8ff;color:#7e3a6e;padding:2px 8px;border-radius:99px;text-transform:none;letter-spacing:0;}
.epegd-camp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;}
.epegd-camp-item{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 8px;border:2px solid #e8e0ed;border-radius:12px;cursor:pointer;transition:all .15s;background:#fff;text-align:center;}
.epegd-camp-item.active{border-color:var(--ep,#4a1942);background:#fdf4ff;}
.epegd-camp-emoji{font-size:22px;}
.epegd-camp-nom{font-size:12px;font-weight:600;color:#1e293b;}

/* ══ CARTES MÉTHODES DE PAIEMENT ══ */
.epegd-methodes-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px;}

.epegd-methode-carte{
  background:#fff;border:1.5px solid #e8e4f0;border-radius:20px;
  padding:22px 18px 18px;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  cursor:pointer;position:relative;overflow:hidden;
  transition:transform .22s cubic-bezier(.34,1.4,.64,1), box-shadow .22s ease, border-color .15s;
  min-height:280px;
}
.epegd-methode-carte:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 44px rgba(74,25,66,.13);
  border-color:#c4a0d4;
}
.epegd-methode-carte.active{
  border-color:var(--ep,#4a1942);
  box-shadow:0 0 0 3px rgba(74,25,66,.12), 0 14px 36px rgba(74,25,66,.15);
}
.epegd-methode-carte.active::before{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--ep,#4a1942),var(--es,#7e3a6e));
  border-radius:20px 20px 0 0;
}

.epegd-mc-titre{font-size:14px;font-weight:800;color:#1a1225;letter-spacing:-.2px;margin-bottom:10px;}
.epegd-mc-sep{width:100%;height:1px;background:linear-gradient(90deg,transparent,#e8e0ed,transparent);margin:8px 0;}

.epegd-mc-logo-wrap{height:60px;display:flex;align-items:center;justify-content:center;margin:8px 0;}
.epegd-mc-logo{max-height:56px;max-width:130px;width:auto;object-fit:contain;}
.epegd-mc-emoji-fallback{font-size:38px;line-height:1;}

.epegd-mc-qr{width:110px;height:110px;object-fit:contain;border-radius:10px;margin:10px auto;display:block;border:1px solid #f0eaf5;padding:6px;background:#fff;}

.epegd-mc-infos{width:100%;text-align:center;margin-top:4px;}
.epegd-mc-compte{font-size:13px;font-weight:700;color:var(--ep,#4a1942);margin-bottom:4px;}
.epegd-mc-num{font-size:12px;color:#475569;margin-bottom:3px;}
.epegd-mc-inst{font-size:12px;color:#64748b;line-height:1.5;margin-top:6px;}

/* Coche de sélection */
.epegd-mc-check{
  position:absolute;top:12px;right:12px;
  width:22px;height:22px;border-radius:50%;
  background:var(--ep,#4a1942);color:#fff;
  font-size:12px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(.5);
  transition:opacity .2s, transform .2s cubic-bezier(.34,1.4,.64,1);
}
.epegd-methode-carte.active .epegd-mc-check{opacity:1;transform:scale(1);}

/* ══ BOUTON CTA ══ */
.epegd-cta-wrap{text-align:center;padding:12px 0 4px;}
.epegd-cta-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:16px 42px;
  background:linear-gradient(135deg,var(--ep,#4a1942),var(--es,#7e3a6e));
  color:#fff;border:none;border-radius:99px;
  font-size:16px;font-weight:800;font-family:inherit;
  cursor:pointer;letter-spacing:.01em;
  box-shadow:0 8px 28px rgba(74,25,66,.3);
  transition:transform .2s, box-shadow .2s, opacity .15s;
}
.epegd-cta-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 14px 36px rgba(74,25,66,.38);}
.epegd-cta-btn:active{transform:scale(.98);}

/* ══ MODAL ══ */
.epegd-modal-overlay{
  position:fixed;inset:0;z-index:99999;
  background:rgba(15,10,25,.65);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;padding:16px;
}
.epegd-modal{
  background:#fff;border-radius:22px;padding:32px 28px 28px;
  width:100%;max-width:480px;max-height:90vh;overflow-y:auto;
  position:relative;box-shadow:0 32px 80px rgba(0,0,0,.25);
  animation:epegd-slide-in .3s cubic-bezier(.34,1.2,.64,1);
}
@keyframes epegd-slide-in{from{opacity:0;transform:translateY(20px) scale(.97);}to{opacity:1;transform:none;}}
.epegd-modal-close{
  position:absolute;top:16px;right:16px;
  width:32px;height:32px;border-radius:50%;
  background:#f5f0f9;border:none;cursor:pointer;font-size:14px;
  display:flex;align-items:center;justify-content:center;
  font-family:inherit;transition:background .15s;
}
.epegd-modal-close:hover{background:#ede0f5;}
.epegd-modal-titre{font-size:20px;font-weight:900;color:#1a1225;margin-bottom:20px;letter-spacing:-.3px;}
.epegd-modal-methode{background:#f5f0fa;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:700;color:var(--ep,#4a1942);margin-bottom:16px;border:1px solid #e8e0f0;}
.epegd-modal-section{margin-bottom:20px;}
.epegd-modal-lbl{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--ep,#4a1942);margin-bottom:10px;}

/* Montants dans le modal */
.epegd-montants-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.epegd-montant-btn{padding:11px 6px;border:2px solid #e2d8ec;border-radius:10px;background:#fff;font-size:12px;font-weight:700;color:#4a1942;cursor:pointer;transition:all .15s;font-family:inherit;}
.epegd-montant-btn:hover{border-color:var(--ep,#4a1942);background:#fdf8ff;}
.epegd-montant-btn.active{border-color:var(--ep,#4a1942);background:var(--ep,#4a1942);color:#fff;}
.epegd-montant-custom{width:100%;padding:11px 50px 11px 14px;border:2px solid #e2d8ec;border-radius:10px;font-size:14px;font-family:inherit;outline:none;background:#fdfbff;box-sizing:border-box;transition:border-color .15s;}
.epegd-montant-custom:focus{border-color:var(--ep,#4a1942);}
.epegd-devise-tag{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:700;color:var(--ep,#4a1942);background:#f3e8ff;padding:4px 8px;border-radius:6px;pointer-events:none;}
.epegd-montant-recap{margin-top:8px;font-size:13px;color:#64748b;}

/* Inputs */
.epegd-input{width:100%;padding:11px 14px;border:2px solid #e2d8ec;border-radius:10px;font-size:14px;font-family:inherit;outline:none;background:#fdfbff;box-sizing:border-box;transition:border-color .15s;}
.epegd-input:focus{border-color:var(--ep,#4a1942);background:#fff;}
textarea.epegd-input{resize:vertical;min-height:72px;}

/* Bouton submit modal */
.epegd-submit-btn{
  width:100%;padding:15px;
  background:linear-gradient(135deg,var(--ep,#4a1942),var(--es,#7e3a6e));
  color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:800;
  cursor:pointer;font-family:inherit;transition:opacity .15s;
  box-shadow:0 4px 16px rgba(74,25,66,.25);
}
.epegd-submit-btn:hover{opacity:.9;}
.epegd-submit-btn:disabled{opacity:.6;cursor:not-allowed;}
.epegd-result{margin-top:14px;padding:14px 16px;border-radius:10px;font-size:13px;line-height:1.6;}
.epegd-result-success{background:#dcfce7;color:#166534;border:1px solid #bbf7d0;}
.epegd-result-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;}

/* ══ RESPONSIVE ══ */
@media(max-width:600px){
  .epegd-methodes-cartes{grid-template-columns:1fr 1fr;gap:12px;}
  .epegd-mc-qr{width:90px;height:90px;}
  .epegd-cta-btn{padding:14px 32px;font-size:15px;}
  .epegd-montants-grid{grid-template-columns:1fr 1fr;}
  .epegd-modal{padding:24px 18px 20px;}
}

/* ══════════════════════════════════════════
   SHORTCODE [epeg_methodes] — section accueil
══════════════════════════════════════════ */
.epdm-wrap{width:100%;box-sizing:border-box;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;}

/* Label */
.epdm-label{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--ep,#4a1942);margin-bottom:20px;}
.epdm-label-bar{display:block;width:28px;height:3px;background:linear-gradient(90deg,var(--ep,#4a1942),var(--es,#7e3a6e));border-radius:99px;flex-shrink:0;}

/* Grille */
.epdm-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:16px;margin-bottom:32px;}

/* Carte */
.epdm-carte{
  background:#fff;border:1.5px solid #e8e4f0;border-radius:18px;
  padding:20px 16px 16px;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  cursor:pointer;position:relative;overflow:hidden;
  transition:transform .22s cubic-bezier(.34,1.4,.64,1), box-shadow .22s ease, border-color .15s;
  min-height:260px;
}
.epdm-carte:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(74,25,66,.12);border-color:#c4a0d4;}
.epdm-carte.active{
  border-color:var(--ep,#4a1942);
  box-shadow:0 0 0 3px rgba(74,25,66,.1), 0 14px 36px rgba(74,25,66,.14);
}
.epdm-carte.active::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--ep,#4a1942),var(--es,#7e3a6e));
  border-radius:18px 18px 0 0;
}

/* Coche */
.epdm-coche{
  position:absolute;top:10px;right:10px;
  width:22px;height:22px;border-radius:50%;
  background:var(--ep,#4a1942);color:#fff;font-size:11px;font-weight:900;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(.4);
  transition:opacity .2s, transform .25s cubic-bezier(.34,1.4,.64,1);
}
.epdm-carte.active .epdm-coche{opacity:1;transform:scale(1);}

/* Titre */
.epdm-carte-titre{font-size:14px;font-weight:800;color:#1a1225;letter-spacing:-.2px;margin-bottom:10px;}
.epdm-sep{width:100%;height:1px;background:linear-gradient(90deg,transparent,#e8e0ed,transparent);margin:8px 0;flex-shrink:0;}

/* Logo */
.epdm-logo-zone{height:56px;display:flex;align-items:center;justify-content:center;margin:6px 0;}
.epdm-logo{max-height:52px;max-width:130px;width:auto;object-fit:contain;display:block;}
.epdm-emoji-fb{font-size:36px;line-height:1;}

/* QR Code */
.epdm-qr{width:100px;height:100px;object-fit:contain;border-radius:10px;margin:8px auto 4px;display:block;padding:5px;border:1px solid #f0eaf5;background:#fff;}

/* Infos */
.epdm-infos{width:100%;text-align:center;padding-top:4px;}
.epdm-compte{font-size:13px;font-weight:700;color:var(--ep,#4a1942);margin-bottom:3px;}
.epdm-num{font-size:12px;color:#475569;margin-bottom:2px;}
.epdm-inst{font-size:11.5px;color:#94a3b8;line-height:1.5;margin-top:5px;}

/* CTA */
.epdm-cta-zone{text-align:center;padding:4px 0 8px;}
.epdm-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 44px;
  background:linear-gradient(135deg,var(--ep,#4a1942),var(--es,#7e3a6e));
  color:#fff!important;text-decoration:none;
  border:none;border-radius:99px;
  font-size:16px;font-weight:800;font-family:inherit;
  cursor:pointer;letter-spacing:.01em;
  box-shadow:0 8px 26px rgba(74,25,66,.3);
  transition:transform .2s, box-shadow .2s;
}
.epdm-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 14px 36px rgba(74,25,66,.38);}
.epdm-btn:active{transform:scale(.98);}

/* Responsive */
@media(max-width:640px){
  .epdm-grille{grid-template-columns:1fr 1fr;gap:12px;}
  .epdm-carte{min-height:220px;padding:16px 12px 14px;}
  .epdm-qr{width:80px;height:80px;}
  .epdm-btn{padding:14px 32px;font-size:15px;}
}
