/* =========================
   Base (wrap + card)
   ========================= */

.ssd-wrap{width:100%}
.ssd-wrap.ssd-align-left{display:flex;justify-content:flex-start}
.ssd-wrap.ssd-align-center{display:flex;justify-content:center}
.ssd-wrap.ssd-align-right{display:flex;justify-content:flex-end}

.ssd-card{
  border:1px solid #e3e3e3;
  border-radius:12px;
  padding:16px;
  max-width:520px;
  width:100%;

  --ssd-font-family: inherit;
  --ssd-font-size: 16px;
  --ssd-title-size: 20px;

  --ssd-btn-bg:#111;
  --ssd-btn-color:#fff;
  --ssd-btn-radius:10px;
  --ssd-btn-pad-y:10px;
  --ssd-btn-pad-x:14px;

  --ssd-sug-bg:#fff;
  --ssd-sug-color:#111;
  --ssd-sug-border:#ddd;
  --ssd-sug-radius:999px;
  --ssd-sug-pad-y:6px;
  --ssd-sug-pad-x:10px;
}

.ssd-card, .ssd-card input, .ssd-card textarea, .ssd-card select, .ssd-card button{
  font-family: var(--ssd-font-family);
  font-size: var(--ssd-font-size);
}

.ssd-title{font-size: var(--ssd-title-size); margin:0 0 8px 0}

.ssd-row{margin:10px 0;display:flex;flex-direction:column;gap:6px}
.ssd-inline{flex-direction:row;align-items:center;gap:8px}

.ssd-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.ssd-sug{
  border:1px solid var(--ssd-sug-border);
  padding: var(--ssd-sug-pad-y) var(--ssd-sug-pad-x);
  border-radius: var(--ssd-sug-radius);
  background: var(--ssd-sug-bg);
  color: var(--ssd-sug-color);
  cursor:pointer;
}

.ssd-submit,.ssd-membership-submit{
  margin-top:10px;
  padding: var(--ssd-btn-pad-y) var(--ssd-btn-pad-x);
  border-radius: var(--ssd-btn-radius);
  border:0;
  background: var(--ssd-btn-bg);
  color: var(--ssd-btn-color);
  cursor:pointer;
}
.ssd-submit:disabled,.ssd-membership-submit:disabled{opacity:.6;cursor:not-allowed}

.ssd-msg{margin-top:10px;font-size:14px}
.ssd-msg.ok{color:#1a7f37}
.ssd-msg.err{color:#b42318}
.ssd-muted{color:#555}

/* ==============================
   Compact donation ("don rapide")
   Scoped to: .ssd-card.ssd-compact
   ============================== */

.ssd-card.ssd-compact{
  max-width: 1080px;
  border: 1px solid var(--ssd-c-border, rgba(255,255,255,.14));
  padding: 16px;
  background: var(--ssd-c-bg, #111827);
  color: var(--ssd-c-text, #ffffff);
  border-radius: var(--ssd-c-radius, 16px);
  box-shadow: var(--ssd-c-shadow, 0 10px 30px rgba(0,0,0,.25));

  --_gap: var(--ssd-c-gap, 12px);
  --_h: var(--ssd-c-height, 46px);
}

.ssd-card.ssd-compact,
.ssd-card.ssd-compact input,
.ssd-card.ssd-compact textarea,
.ssd-card.ssd-compact select,
.ssd-card.ssd-compact button{
  font-family: var(--ssd-font-family, inherit);
}

/* Layout */
.ssd-compact-inner{
  display:flex;
  flex-wrap:wrap;
  gap: var(--_gap);
  align-items:center;
  justify-content:center;
}

.ssd-hidden{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

/* Campaign dropdown */
.ssd-compact-campaign{flex:1 1 320px;min-width:240px;max-width:520px}

.ssd-card.ssd-compact .ssd-campaign{
  width:100% !important;
  height: var(--_h) !important;
  padding: 0 14px !important;
  border-radius: var(--ssd-c-control-radius, var(--ssd-c-radius, 16px)) !important;
  border: 1px solid var(--ssd-c-control-border, rgba(255,255,255,.18)) !important;
  background: var(--ssd-c-control-bg, rgba(255,255,255,.08)) !important;
  color: var(--ssd-c-control-text, var(--ssd-c-text, #fff)) !important;
  outline:none !important;
  box-shadow:none !important;
  appearance:none; -webkit-appearance:none;
}

.ssd-card.ssd-compact .ssd-campaign:focus{
  box-shadow: 0 0 0 3px rgba(255,255,255,.12) !important;
}

.ssd-campaign-hint{margin-top:6px;font-size:12px;opacity:.85}

/* Type toggle */
.ssd-type{display:flex;gap:8px;flex-wrap:nowrap}

.ssd-card.ssd-compact .ssd-type-btn{
  height: var(--_h) !important;
  border:1px solid var(--ssd-c-type-border, var(--ssd-c-control-border, rgba(255,255,255,.18))) !important;
  background: var(--ssd-c-type-bg, var(--ssd-c-control-bg, rgba(255,255,255,.08))) !important;
  color: var(--ssd-c-type-text, var(--ssd-c-control-text, var(--ssd-c-text, #fff))) !important;
  padding:0 14px !important;
  border-radius: var(--ssd-c-type-radius, var(--ssd-c-btn-radius, var(--ssd-c-radius, 16px))) !important;
  cursor:pointer !important;
  font-weight:700 !important;
  transition: background .15s ease, border-color .15s ease, color .15s ease, transform .05s ease !important;
  appearance:none; -webkit-appearance:none;
  outline:none !important;
  box-shadow:none !important;
}
.ssd-card.ssd-compact .ssd-type-btn:hover{
  background: var(--ssd-c-type-hover-bg, rgba(255,255,255,.12)) !important;
  color: var(--ssd-c-type-hover-text, var(--ssd-c-type-text, var(--ssd-c-text, #fff))) !important;
  border-color: var(--ssd-c-type-hover-border, rgba(255,255,255,.28)) !important;
}
.ssd-card.ssd-compact .ssd-type-btn:active{transform: translateY(1px) !important;}
.ssd-card.ssd-compact .ssd-type-btn.active{
  background: var(--ssd-c-type-active-bg, rgba(255,255,255,.16)) !important;
  color: var(--ssd-c-type-active-text, var(--ssd-c-type-text, var(--ssd-c-text, #fff))) !important;
  border-color: var(--ssd-c-type-active-border, rgba(255,255,255,.35)) !important;
}

/* Amounts */
.ssd-compact-amounts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

.ssd-card.ssd-compact .ssd-amt-btn{
  height: var(--_h) !important;
  border:1px solid var(--ssd-c-amt-border, rgba(255,255,255,.18)) !important;
  background: var(--ssd-c-amt-bg, rgba(255,255,255,.08)) !important;
  color: var(--ssd-c-amt-text, var(--ssd-c-text, #fff)) !important;
  border-radius: var(--ssd-c-amt-radius, var(--ssd-c-btn-radius, var(--ssd-c-radius, 16px))) !important;
  padding:0 14px !important;
  cursor:pointer !important;
  font-weight:800 !important;
  transition: background .15s ease, border-color .15s ease, color .15s ease, transform .05s ease !important;
  appearance:none; -webkit-appearance:none;
  outline:none !important;
  box-shadow:none !important;
}
.ssd-card.ssd-compact .ssd-amt-btn:hover{
  background: var(--ssd-c-amt-hover-bg, rgba(255,255,255,.12)) !important;
  color: var(--ssd-c-amt-hover-text, var(--ssd-c-amt-text, var(--ssd-c-text, #fff))) !important;
  border-color: var(--ssd-c-amt-hover-border, rgba(255,255,255,.28)) !important;
}
.ssd-card.ssd-compact .ssd-amt-btn:active{transform: translateY(1px) !important;}
.ssd-card.ssd-compact .ssd-amt-btn.active{
  background: var(--ssd-c-amt-active-bg, #E8F2F8) !important;
  color: var(--ssd-c-amt-active-text, #0775B6) !important;
  border-color: var(--ssd-c-amt-active-border, rgba(0,0,0,.08)) !important;
}

/* Custom amount pill */
.ssd-amt-custom{
  height: var(--_h) !important;
  border:1px solid var(--ssd-c-amt-border, rgba(255,255,255,.18)) !important;
  background: var(--ssd-c-amt-bg, rgba(255,255,255,.08)) !important;
  border-radius: var(--ssd-c-amt-radius, var(--ssd-c-btn-radius, var(--ssd-c-radius, 16px))) !important;
  padding: 0 12px !important;
  display:flex !important;
  align-items:center !important;
  min-width: 120px !important;
  max-width: 180px !important;
}
.ssd-amt-custom:hover{
  background: var(--ssd-c-amt-hover-bg, rgba(255,255,255,.12)) !important;
  border-color: var(--ssd-c-amt-hover-border, rgba(255,255,255,.28)) !important;
}
.ssd-amt-custom.active{
  background: var(--ssd-c-amt-active-bg, #E8F2F8) !important;
  border-color: var(--ssd-c-amt-active-border, rgba(0,0,0,.08)) !important;
}

.ssd-card.ssd-compact .ssd-custom-amount{
  width: 100% !important;
  border:0 !important;
  outline:0 !important;
  background: transparent !important;
  color: var(--ssd-c-amt-text, var(--ssd-c-text, #fff)) !important;
  font-weight:800 !important;
  box-shadow:none !important;
}
.ssd-card.ssd-compact .ssd-custom-amount::placeholder{
  color: var(--ssd-c-placeholder, rgba(255,255,255,.72)) !important;
}
.ssd-amt-custom.active .ssd-custom-amount{
  color: var(--ssd-c-amt-active-text, #0775B6) !important;
}

/* Submit button */
.ssd-card.ssd-compact .ssd-compact-submit{
  height: var(--_h) !important;
  background: var(--ssd-c-btn-bg, #ff9800) !important;
  color: var(--ssd-c-btn-text, #ffffff) !important;
  border: 1px solid var(--ssd-c-btn-border, rgba(0,0,0,0)) !important;
  border-radius: var(--ssd-c-btn-radius, var(--ssd-c-radius, 16px)) !important; /* ✅ ; added */
  padding: 0 18px !important;
  font-weight: 900 !important;
  letter-spacing: .3px !important;
  box-shadow: var(--ssd-c-btn-shadow, none) !important;
  cursor:pointer !important;
  outline:none !important;
  appearance:none; -webkit-appearance:none;
}
.ssd-card.ssd-compact .ssd-compact-submit:hover{
  background: var(--ssd-c-btn-hover-bg, var(--ssd-c-btn-bg, #ff9800)) !important;
  color: var(--ssd-c-btn-hover-text, var(--ssd-c-btn-text, #fff)) !important;
  border-color: var(--ssd-c-btn-hover-border, var(--ssd-c-btn-border, transparent)) !important;
}
.ssd-card.ssd-compact .ssd-compact-submit:active{transform: translateY(1px) !important;}
.ssd-card.ssd-compact .ssd-compact-submit:disabled{opacity:.65 !important; cursor:not-allowed !important;}

/* Tax info */
.ssd-tax{
  display:flex;
  gap:6px;
  align-items:center;
  font-size:14px;
  opacity:.95;
  flex: 1 1 100%;
  justify-content:center;
}
.ssd-tax-pill{
  background: var(--ssd-c-tax-pill-bg, var(--ssd-c-btn-bg, #ff9800));
  color: var(--ssd-c-tax-pill-text, #fff);
  padding:3px 8px;
  border-radius:999px;
  font-weight:900;
}

/* ✅ NO BORDER — inputs/select/textarea only inside compact widget */
.ssd-card.ssd-compact input[type="date"],
.ssd-card.ssd-compact input[type="email"],
.ssd-card.ssd-compact input[type="number"],
.ssd-card.ssd-compact input[type="password"],
.ssd-card.ssd-compact input[type="search"],
.ssd-card.ssd-compact input[type="tel"],
.ssd-card.ssd-compact input[type="text"],
.ssd-card.ssd-compact input[type="url"],
.ssd-card.ssd-compact select,
.ssd-card.ssd-compact textarea{
  border:0 !important;
  outline:none !important;
  box-shadow:none !important;
  background-image:none !important;
  appearance:none; -webkit-appearance:none;
}
.ssd-card.ssd-compact input:focus,
.ssd-card.ssd-compact select:focus,
.ssd-card.ssd-compact textarea:focus{
  border:0 !important;
  outline:none !important;
  box-shadow:none !important;
}

/* Responsive */
@media (max-width: 720px){
  .ssd-compact-inner{justify-content:stretch}
  .ssd-compact-campaign{min-width:100%;max-width:100%}
  .ssd-type{width:100%}
  .ssd-card.ssd-compact .ssd-type-btn{flex:1}
  .ssd-compact-amounts{width:100%}
  .ssd-card.ssd-compact .ssd-compact-submit{width:100%}
  .ssd-amt-custom{flex:1; max-width:none}
}

.ssd-daily-summary{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid rgba(15,23,42,.12);
  border-radius:12px;
  background:#f8fafc;
  font-size:13px;
  line-height:1.45;
}
.ssd-card.ssd-compact .ssd-daily-summary{
  width:100%;
  margin-top:12px;
}


/* Silaps 1.7.0 — produits de campagne + type radio */
.ssd-hidden{display:none!important}
.ssd-type-radios{display:flex;gap:10px;flex-wrap:wrap}
.ssd-type-choice{display:inline-flex;align-items:center;cursor:pointer;margin:0}
.ssd-type-choice input{position:absolute;opacity:0;pointer-events:none}
.ssd-type-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ssd-c-type-border,#d7dce3);background:var(--ssd-c-type-bg,#fff);color:var(--ssd-c-type-text,#182033);border-radius:999px;padding:10px 16px;font-weight:700;transition:.15s ease}
.ssd-type-choice input:checked + .ssd-type-pill{background:var(--ssd-c-type-active-bg,var(--ssd-btn-bg,#111827));color:var(--ssd-c-type-active-text,#fff);border-color:var(--ssd-c-type-active-bg,var(--ssd-btn-bg,#111827))}
.ssd-products{border:1px solid rgba(15,23,42,.12);background:rgba(248,250,252,.75);border-radius:18px;padding:14px;margin:14px 0}
.ssd-products-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.ssd-products-head span{font-size:.9em;opacity:.72}
.ssd-products-list{display:grid;gap:10px}
.ssd-product{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:16px;padding:12px;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.ssd-product-main{min-width:0}
.ssd-product-title{font-weight:800;line-height:1.2}
.ssd-product-desc{font-size:.9em;opacity:.72;margin-top:3px}
.ssd-product-price{font-size:.92em;font-weight:800;margin-top:6px}
.ssd-product-qty{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}
.ssd-product-qty button{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;border-radius:999px!important;border:1px solid rgba(15,23,42,.14)!important;background:#fff!important;font-size:20px!important;line-height:1!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:0!important;margin:0!important;box-sizing:border-box!important;appearance:none!important;-webkit-appearance:none!important}
.ssd-product-input{width:62px!important;height:42px!important;text-align:center!important;margin:0!important;padding:0 6px!important;line-height:42px!important;box-sizing:border-box!important}
.ssd-products-total{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;border-top:1px dashed rgba(15,23,42,.18);font-weight:800}
@media (max-width:520px){.ssd-product{align-items:flex-start;flex-direction:column}.ssd-product-qty{width:100%;justify-content:flex-end}.ssd-products-head{display:block}}

/* Bouton "Autre montant" */
.ssd-sug.ssd-other-amount{font-weight:700}
.ssd-sug.active{box-shadow:0 0 0 2px rgba(0,0,0,.08) inset;font-weight:700}
.ssd-sug:focus-visible{outline:2px solid currentColor;outline-offset:2px}
