/* Devis & commandes pour établissements publics — affichage boutique */
.dp-bloc{
  --dp-couleur:#1F5FA8;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px;
  border:1px solid rgba(0,0,0,.10); border-left:4px solid var(--dp-couleur);
  border-radius:8px; background:var(--dp-fond,#fff); color:var(--dp-encre,inherit);
  padding:16px 18px; margin:18px 0;
}
.dp-bloc__texte{flex:1 1 260px; min-width:0}
.dp-bloc__titre{margin:0 0 4px; font-weight:700; font-size:15px; color:var(--dp-couleur); line-height:1.3}
.dp-bloc__desc{margin:0; font-size:13.5px; line-height:1.5; opacity:.85; color:inherit}
.dp-bloc__cta{
  flex:0 0 auto; display:inline-block; text-decoration:none; white-space:nowrap;
  background:var(--dp-couleur); color:#fff; font-weight:600; font-size:14px;
  padding:10px 18px; border-radius:6px; transition:filter .15s ease;
}
.dp-bloc__cta:hover,.dp-bloc__cta:focus{color:#fff; filter:brightness(1.1)}
.dp-bloc--produit{margin:14px 0}
@media (max-width:640px){
  .dp-bloc{flex-direction:column; align-items:stretch}
  .dp-bloc__cta{text-align:center}
}

/* --- formulaire de demande --- */
.dp-form{max-width:760px}
.dp-form fieldset{border:0; padding:0; margin:0 0 26px}
.dp-form legend{font-size:16px; font-weight:700; margin-bottom:4px; padding:0}
.dp-form .dp-aide{font-size:13px; opacity:.75; margin:0 0 14px}
.dp-form label{display:block; text-align:left; font-weight:600; font-size:13.5px; margin-bottom:12px}
.dp-form input[type=text],.dp-form input[type=email],.dp-form input[type=tel],.dp-form textarea{
  display:block; width:100%; margin-top:5px; padding:10px 12px; font-size:15px;
  border:1px solid rgba(0,0,0,.16); border-radius:6px; background:#fff;
}
.dp-form textarea{min-height:120px; resize:vertical}
.dp-form input:focus,.dp-form textarea:focus{outline:none; border-color:var(--dp-couleur,#1F5FA8)}
.dp-form .dp-facultatif{font-weight:400; opacity:.6}
.dp-form .dp-erreur{background:#fdf0ee; border:1px solid #f0c8c2; color:#a5281b;
  border-radius:6px; padding:12px 14px; margin-bottom:18px; font-size:14px}
.dp-recap{border:1px solid rgba(0,0,0,.10); border-radius:8px; padding:14px 16px; margin-bottom:24px}
.dp-recap table{width:100%; border-collapse:collapse; font-size:14px}
.dp-recap td{padding:6px 0; border-bottom:1px solid rgba(0,0,0,.06)}
.dp-recap td:last-child{text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums}
.dp-recap tr:last-child td{border-bottom:0; font-weight:700}

/* certains thèmes alignent les libellés de formulaire à droite */
.dp-form legend,.dp-form .dp-aide,.dp-form fieldset{text-align:left}

/* --- mode de règlement par mandat administratif --- */
.dp-paiement{padding:4px 0 8px}
.dp-paiement__aide{font-size:13.5px; line-height:1.55; opacity:.85; margin:0 0 14px}
.dp-paiement__champ{display:block; width:100%; float:none; clear:both; text-align:left;
  font-weight:600; font-size:13.5px; margin:0 0 14px}
.dp-paiement__champ input{display:block; width:100%; max-width:420px; margin-top:5px;
  padding:9px 11px; font-size:15px; border:1px solid rgba(0,0,0,.16); border-radius:6px; background:#fff}
.dp-paiement__champ input:focus{outline:none; border-color:var(--dp-couleur,#1F5FA8)}

/* certains thèmes alignent les libellés du tunnel sur une seule ligne */
.dp-paiement{display:block}
.dp-paiement > *{display:block; width:100%}

/* --- bascule « livrer ailleurs » --- */
.dp-form .dp-bascule{display:flex; align-items:flex-start; gap:9px; font-weight:500; cursor:pointer; margin-bottom:14px}
.dp-form .dp-bascule input{width:auto; margin:2px 0 0; flex:0 0 auto}
.dp-form .dp-bascule span{font-size:14px; line-height:1.45}
.dp-form input[type=date]{display:block; width:100%; margin-top:5px; padding:10px 12px;
  font-size:15px; border:1px solid rgba(0,0,0,.16); border-radius:6px; background:#fff; font-family:inherit}
