/*
 * Formulaires transversaux — Drop-in et ajout manuel.
 * Extrait du CSS historique sans changement visuel.
 */

.dropin-status{
  display:none;
  margin-top:12px;
  padding:10px 12px;
  border-radius:12px;
  background:#eef6ec;
  color:#315d37;
  font-size:14px;
  font-weight:750;
  line-height:1.35;
}

.dropin-status.error{
  background:#f7e5e5;
  color:#7f3232;
}

#createDropin:disabled{opacity:.55}



/* V1.24 : réduction Drop In */
.dropin-price-box{
  margin:10px 0 12px;
  padding:11px 13px;
  border-radius:14px;
  background:#f4efe8;
  border:1px solid var(--line);
}

.dropin-price-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:14px;
}

.dropin-price-line strong{
  font-size:16px;
}

.dropin-price-net{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid var(--line);
  color:#35663b;
}

.dropin-discount-fields{
  display:grid;
  grid-template-columns:130px minmax(0,1fr);
  gap:8px;
  margin-bottom:8px;
}

.dropin-discount-fields input{
  min-width:0;
}

.dropin-reduction-preview{
  margin:-1px 0 10px;
  color:#9b3d3d;
  font-size:13px;
  font-weight:800;
}
@media(max-width:420px){

  .dropin-discount-fields{
    grid-template-columns:1fr;
  }

}



#manualCardType{
  width:100%;
  min-height:50px;
  margin-bottom:10px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fffdfa;
  color:var(--ink);
  font:inherit;
}

.dropin-client-search-block{
  margin-top:12px;
}

.dropin-new-client-form{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
}

.dropin-new-client-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.dropin-new-client-head h3{
  margin:0;
  font-size:18px;
}

.dropin-link-button{
  border:0;
  background:transparent;
  padding:6px 0;
  font-size:13px;
  font-weight:700;
  color:#4b6380;
}

.dropin-name-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.dropin-new-client-form input{
  margin-bottom:8px;
}

.dropin-new-client-option{
  width:100%;
  border:1px dashed #bfae9c !important;
  background:#f7f1e9 !important;
  color:#2b2723;
  font-weight:800;
}

.dropin-new-client-option small{
  display:block;
  font-weight:500;
  opacity:.7;
}
@media(max-width:600px){

  .dropin-name-grid{
    grid-template-columns:1fr;
    gap:0;
  }

}



/* V1.88 — Drop In corrigé */
.dropin-price-only{
  width:100%;
  min-height:92px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  cursor:pointer;
  margin-bottom:10px;
}

.dropin-price-only span{
  font-size:42px;
  line-height:1;
  font-weight:900;
}

.dropin-price-only #dropinBasePrice.is-discounted{
  font-size:17px;
  font-weight:600;
  text-decoration:line-through;
  opacity:.55;
}

.dropin-new-client-form select{
  width:100%;
  box-sizing:border-box;
  margin-bottom:8px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:13px 14px;
  min-height:48px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:16px;
}



.dropin-contact-help{
  font-size:12px;
  opacity:.68;
  margin-top:-2px;
  margin-bottom:8px;
}



/* V2.02 — origine + date/heure de création */


/* V2.03 — Ajout manuel par étapes */
.manual-modal-v203{max-width:620px}

.manual-primary-action{
  width:100%;
  min-height:46px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  font:inherit;
  font-weight:800;
  margin-top:4px;
}

.manual-selected-client{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  margin-bottom:10px;
}

.manual-selected-client span{font-size:12px;color:var(--text2)}

.manual-selected-client strong{font-size:17px}

.manual-last-card{
  margin-bottom:10px;
}

.manual-last-card-ticket{
  padding:11px 13px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fffdfa;
}

.manual-last-card-ticket .label{
  font-size:11px;
  color:var(--text2);
  margin-bottom:4px;
}

.manual-last-card-ticket .main{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}

.manual-last-card-ticket .main strong{font-size:17px}

.manual-last-card-ticket .balance{
  font-size:13px;
  font-weight:800;
}

.manual-last-card-ticket.sold-out{
  background:#fff1f1;
}

.manual-no-card{
  padding:11px 13px;
  border:1px dashed var(--line);
  border-radius:13px;
  text-align:center;
  color:var(--text2);
}

.manual-choice-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:10px 0;
}

.manual-choice{
  min-height:76px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  text-align:left;
}

.manual-choice strong{
  display:block;
  font-size:14px;
}

.manual-choice span{
  display:block;
  margin-top:4px;
  font-size:11px;
  color:var(--text2);
}

.manual-choice.selected{
  border:2px solid #5d8f65;
  background:#eef7ef;
}

.manual-subtitle{
  font-size:13px;
  font-weight:850;
  margin:12px 0 7px;
}

.manual-card-types{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.manual-card-type{
  min-height:76px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  text-align:left;
}

.manual-card-type strong{
  display:block;
  font-size:18px;
  line-height:1.05;
}

.manual-card-type span{
  display:block;
  margin-top:6px;
  font-size:14px;
  font-weight:800;
}

.manual-card-type.selected{
  border:2px solid #5d8f65;
  background:#eef7ef;
}

.manual-reduction-block{
  display:grid;
  grid-template-columns:130px minmax(0,1fr);
  gap:8px;
  margin-top:10px;
}

.manual-price-preview{
  grid-column:1/-1;
  font-size:12px;
  font-weight:800;
  color:#496c4e;
}
@media(max-width:480px){

  .manual-choice-row,
  .manual-card-types{
    grid-template-columns:1fr;
  }

  .manual-reduction-block{
    grid-template-columns:1fr;
  }

}



/* V2.06 — prix unique dans les cartouches de nouvelle carte */
.manual-card-type strong{
  font-size:21px !important;
  line-height:1.15 !important;
}

.manual-card-type span{
  display:none !important;
}

.manual-price-preview{
  display:none !important;
}



/* V2.21 — option Client de passage */
.dropin-transient-client-option,
.dropin-new-client-option{
  text-align:left;
}

.dropin-transient-client-option{
  margin-top:8px;
  background:#f7f3ed;
}

.dropin-transient-client-option small,
.dropin-new-client-option small{
  display:block;
  margin-top:3px;
  font-size:12px;
  font-weight:500;
  opacity:.72;
}



/* V2.23 — prix compact + règlement Drop In */
.dropin-payment-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:10px;
}

.dropin-payment-row .dropin-price-only{
  width:100%;
  min-height:58px;
  margin-bottom:0;
}

.dropin-payment-row .dropin-price-only span{
  font-size:21px !important;
}

.dropin-payment-row .dropin-price-only #dropinBasePrice.is-discounted{
  font-size:13px !important;
}

.dropin-paid-button{
  min-height:58px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:8px 12px;
  font:inherit;
  cursor:pointer;
}

.dropin-paid-button .dropin-paid-label{
  font-size:15px;
  font-weight:650;
}

.dropin-paid-button strong{
  font-size:16px;
  font-weight:850;
}

.dropin-paid-button.selected{
  border:2px solid #5d8f65;
  background:#eef7ef;
}

.dropin-paid-button:not(.selected){
  opacity:.62;
  background:#f5f2ee;
}
@media(max-width:480px){

  .dropin-payment-row{
    grid-template-columns:1fr 1fr;
    gap:7px;
  }

  .dropin-paid-button{
    padding:7px 8px;
  }

  .dropin-paid-button .dropin-paid-label{
    font-size:13px;
  }

  .dropin-paid-button strong{
    font-size:14px;
  }

}
