/* Formulaires front — Des Sources et des Livres */
.dsdl-form-front{ max-width:640px; }
.dsdl-form-front label{ display:block; margin:0 0 16px; font-weight:600; color:#1b2334; }
.dsdl-form-front .dsdl-opt{ font-weight:400; color:#8a8f99; }
.dsdl-form-front input[type=text],
.dsdl-form-front input[type=email],
.dsdl-form-front textarea{
  display:block; width:100%; margin-top:6px; padding:10px 12px;
  border:1px solid #c9c9c9; border-radius:8px; font:inherit; font-weight:400;
  background:#fff; color:#1b2334;
}
.dsdl-form-front input:focus,
.dsdl-form-front textarea:focus{ outline:2px solid #C8A96A; outline-offset:1px; border-color:#C8A96A; }
.dsdl-form-front input[type=file]{ display:block; margin-top:6px; font-weight:400; }
.dsdl-fr-row{ display:flex; gap:18px; flex-wrap:wrap; }
.dsdl-fr-row > label{ flex:1; min-width:220px; }
.dsdl-fr-help{ font-size:13px; color:#666; margin:-8px 0 16px; }
.dsdl-consent{ font-weight:400 !important; font-size:14px; display:flex; gap:8px; align-items:flex-start; }
.dsdl-consent input{ margin-top:3px; width:auto; }
.dsdl-fr-submit{
  background:#1b2334; color:#f3efe4; border:none; border-radius:999px;
  padding:12px 28px; font-size:15px; font-weight:500; cursor:pointer; transition:background .18s ease, color .18s ease;
}
.dsdl-fr-submit:hover{ background:#C8A96A; color:#151a24; }
/* Pot de miel : masqué aux humains */
.dsdl-hp{ position:absolute !important; left:-9999px !important; top:auto; width:1px; height:1px; overflow:hidden; }
/* Messages */
.dsdl-form-notice{ padding:14px 18px; border-radius:8px; margin:0 0 20px; font-weight:500; }
.dsdl-form-notice.dsdl-ok{ background:#e6f2e6; color:#2f6b34; border:1px solid #b9dcbc; }
.dsdl-form-notice.dsdl-err{ background:#fbeaea; color:#b32d2e; border:1px solid #e6c3c3; }

/* =========================================================
   Galerie front : mosaïque (masonry) de miniatures + lightbox
   L'ordre est celui défini dans l'admin (ordre du DOM).
   ========================================================= */
.dsdl-galerie-front{ column-width:240px; column-gap:16px; }
.dsdl-galerie-front .dsdl-galerie-item{
	display:block; break-inside:avoid; -webkit-column-break-inside:avoid;
	margin:0 0 16px; border-radius:8px; overflow:hidden; line-height:0; cursor:zoom-in;
	background:#eee; box-shadow:0 8px 22px rgba(20,26,40,.12);
	transition:transform .25s ease, box-shadow .25s ease;
}
.dsdl-galerie-front .dsdl-galerie-item:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(20,26,40,.2); }
.dsdl-galerie-front .dsdl-galerie-item img{ width:100%; height:auto; display:block; }

.dsdl-lb{ position:fixed; inset:0; z-index:99999; display:none; align-items:center; justify-content:center; background:rgba(12,16,24,.93); padding:3vmin; }
.dsdl-lb.open{ display:flex; }
.dsdl-lb-fig{ margin:0; max-width:100%; max-height:100%; display:flex; flex-direction:column; align-items:center; gap:10px; }
.dsdl-lb-img{ max-width:92vw; max-height:86vh; width:auto; height:auto; border-radius:4px; box-shadow:0 20px 60px rgba(0,0,0,.5); }
.dsdl-lb-cap{ color:#e8e2d4; font-size:14px; text-align:center; max-width:80vw; }
.dsdl-lb button{ position:absolute; background:rgba(255,255,255,.12); color:#fff; border:0; cursor:pointer; border-radius:50%; width:46px; height:46px; font-size:26px; line-height:1; display:flex; align-items:center; justify-content:center; transition:background .2s ease; }
.dsdl-lb button:hover{ background:rgba(255,255,255,.28); }
.dsdl-lb-close{ top:3vmin; right:3vmin; }
.dsdl-lb-prev{ left:3vmin; top:50%; transform:translateY(-50%); }
.dsdl-lb-next{ right:3vmin; top:50%; transform:translateY(-50%); }
.dsdl-lb.single .dsdl-lb-prev, .dsdl-lb.single .dsdl-lb-next{ display:none; }
@media (max-width:600px){ .dsdl-lb-prev{ left:1vmin; } .dsdl-lb-next{ right:1vmin; } .dsdl-lb button{ width:40px; height:40px; } }
