/* Z'Impro – Photobooth : page « Ta photo » et formulaire de retrait. Couleurs reprises du kit Elementor du site.
   Sélecteurs en .zpb.zpb (spécificité renforcée) : le kit Elementor stylise tous les <button> (fond, bordure, pas de retour à la ligne). */
.zpb { --zpb-mauve: var(--e-global-color-secondary, #64448F); --zpb-jaune: var(--e-global-color-primary, #FBC541); --zpb-texte: var(--e-global-color-text, #292929);
  box-sizing:border-box; max-width:640px; margin:0 auto; padding:24px 20px 48px; color:var(--zpb-texte); }
.zpb *, .zpb *::before, .zpb *::after { box-sizing:border-box; }
.zpb.zpb .zpb-image { margin:0 0 18px; text-align:center; }
.zpb.zpb .zpb-image img { width:100%; height:auto; border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.15); }
.zpb.zpb .zpb-image figcaption { margin-top:8px; font-size:.9rem; opacity:.75; }
.zpb.zpb .zpb-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:20px; }
.zpb.zpb .zpb-bouton { display:inline-block; background:var(--zpb-mauve); color:#fff !important; border:0; border-radius:999px; padding:14px 26px; margin:0;
  font:inherit; font-weight:700; line-height:1.2; text-decoration:none; text-align:center; white-space:normal; cursor:pointer; box-shadow:none; }
.zpb.zpb .zpb-bouton:hover, .zpb.zpb .zpb-bouton:focus { background:var(--zpb-mauve); color:#fff !important; filter:brightness(1.12); }
.zpb.zpb .zpb-secondaire, .zpb.zpb .zpb-secondaire:hover, .zpb.zpb .zpb-secondaire:focus { background:transparent; color:var(--zpb-mauve) !important; border:0; box-shadow:inset 0 0 0 2px var(--zpb-mauve); filter:none; }
.zpb.zpb .zpb-bloc { border-top:1px solid rgba(0,0,0,.1); padding:16px 0 0; margin:16px 0 0; }
.zpb.zpb .zpb-bloc p { margin:0 0 8px; }
.zpb.zpb .zpb-lien, .zpb.zpb .zpb-lien:hover, .zpb.zpb .zpb-lien:focus { display:inline; background:none; border:0; border-radius:0; box-shadow:none; padding:0; margin:0;
  font:inherit; font-weight:600; line-height:1.45; color:var(--zpb-mauve); text-decoration:underline; text-align:left; white-space:normal; overflow-wrap:anywhere; cursor:pointer; }
.zpb.zpb .zpb-danger .zpb-lien { color:#b3412c; }
.zpb.zpb .zpb-aide { font-size:.88rem; opacity:.75; margin-top:14px; }
.zpb.zpb .zpb-ok { background:#e3f3e7; color:#1f6b35; padding:12px 14px; border-radius:8px; }
.zpb.zpb .zpb-erreur { background:#f8e1dc; color:#b3412c; padding:12px 14px; border-radius:8px; }
.zpb.zpb-note { text-align:center; }
.zpb.zpb .zpb-form { display:flex; flex-direction:column; gap:14px; margin-top:16px; }
.zpb.zpb .zpb-form label { display:flex; flex-direction:column; gap:6px; font-weight:600; }
.zpb.zpb .zpb-form input, .zpb.zpb .zpb-form textarea { font:inherit; font-weight:400; padding:12px; border:1px solid rgba(0,0,0,.2); border-radius:8px; width:100%; }
.zpb.zpb .zpb-form .zpb-bouton { align-self:flex-start; }
.zpb.zpb .zpb-piege { position:absolute !important; left:-9999px !important; }
