/* Contract de sponsorizare. Colours come from Setări (--csp-accent, --csp-ink) and can be overridden by the theme. */
.csp {
  --csp-accent: #d2232a;
  --csp-ink: #1d2a4d;
  --csp-text: #2b2f45;
  --csp-muted: #666b85;
  --csp-line: #d9dce6;
  --csp-bg: #ffffff;
  --csp-pad-bg: #f8f8fa;
  --csp-radius: 14px;
  color: var(--csp-text);
  max-width: 820px;
}
.csp *, .csp *::before, .csp *::after { box-sizing: border-box; }
.csp-form { display: grid; gap: 20px; padding: clamp(20px, 4vw, 36px); background: var(--csp-bg); border: 1px solid var(--csp-line); border-radius: calc(var(--csp-radius) + 4px); }
.csp-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.csp-title { margin: 0; font-size: 1.5rem; color: var(--csp-ink); }
.csp-badge { font-size: 13px; padding: 5px 12px; border-radius: 999px; background: #eef0f6; color: var(--csp-ink); font-weight: 600; }

.csp-set { display: grid; gap: 14px; margin: 0; padding: 0; border: 0; min-width: 0; }
.csp-set legend { padding: 0; margin-bottom: 12px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--csp-muted); }
.csp-grid { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; }
.csp-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.csp-field label { font-size: 13px; font-weight: 600; }
.csp-field input {
  width: 100%; min-height: 46px; padding: 10px 14px; font: inherit; font-size: 16px; color: var(--csp-text);
  background: #fff; border: 1.5px solid var(--csp-line); border-radius: 10px;
}
.csp-field input:focus { outline: none; border-color: var(--csp-ink); box-shadow: 0 0 0 3px rgba(29, 42, 77, .15); }
.csp-field input:user-invalid { border-color: #c0392b; }
.csp-amount { position: relative; max-width: 280px; }
.csp-amount input { padding-right: 46px; font-weight: 700; }
.csp-amount__unit { position: absolute; right: 14px; bottom: 13px; font-weight: 600; color: var(--csp-muted); }
.csp-hint { margin: 0; font-size: 14px; color: var(--csp-muted); }

.csp-doc-label { margin: 0 0 8px; font-size: 13px; font-weight: 600; }
.csp-doc {
  max-height: 420px; overflow-y: auto; padding: 24px 28px; border: 1px solid var(--csp-line); border-radius: var(--csp-radius);
  background: #fcfcfd; font-family: Georgia, 'Times New Roman', serif; font-size: 15px; line-height: 1.6; text-align: justify;
}
.csp-doc:focus-visible { outline: 3px solid rgba(29, 42, 77, .3); }
.csp-doc p { margin: 0 0 12px; }
.csp-doc__title { margin: 0; text-align: center; font-size: 18px; color: var(--csp-text); }
.csp-doc__sub { text-align: center; }
.csp-doc__h { margin: 18px 0 8px; font-size: 15px; text-align: left; }
.csp-doc__sign { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 18px; text-align: left; }
.csp-doc__sign > div:last-child { text-align: center; }
.csp-v { font-weight: 700; background: #fff4c2; border-radius: 3px; padding: 0 2px; }
.csp-v.is-empty { font-weight: 400; color: var(--csp-muted); background: none; }

.csp-check { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.5; cursor: pointer; }
.csp-check input { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--csp-ink); }
.csp-check a { color: var(--csp-ink); }

.csp-sign__label { display: block; margin-bottom: 7px; font-size: 13px; font-weight: 600; }
.csp-sign { position: relative; height: 140px; border: 1.5px dashed #868ba3; border-radius: var(--csp-radius); background: var(--csp-pad-bg); }
.csp-sign.is-signed { border-style: solid; border-color: var(--csp-ink); }
.csp-sign__canvas { display: block; width: 100%; height: 100%; touch-action: none; cursor: crosshair; border-radius: inherit; }
.csp-sign__canvas:focus-visible { outline: 3px solid rgba(29, 42, 77, .35); outline-offset: 2px; }
.csp-sign__hint { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 0 16px; text-align: center; font-size: 14px; color: var(--csp-muted); pointer-events: none; }
.csp-sign.is-signed .csp-sign__hint { display: none; }
.csp-sign__clear { position: absolute; right: 10px; top: 10px; height: 32px; padding: 0 12px; border: 1px solid var(--csp-line); border-radius: 999px; background: #fff; font: inherit; font-size: 13px; font-weight: 600; color: var(--csp-text); cursor: pointer; }
.csp-sign__clear[hidden], .csp-sign__err[hidden] { display: none; }
.csp-sign__err { margin: 8px 0 0; font-size: 13px; font-weight: 600; color: #c0392b; }

/*.csp-submit { width: 100%; min-height: 54px; padding: 0 24px; border: 0; border-radius: 999px; cursor: pointer; font: inherit; font-size: 16px; font-weight: 700; color: #fff; background: var(--csp-accent); transition: filter .2s, opacity .2s; }*/

.csp-submit {font-family: var(--font-heading);
    font-weight: 700;
    font-size: clamp(13px, 1.2vw, 18px);
    letter-spacing: var(--ls-30);
    line-height: 1.3;
    text-transform: uppercase;
    color: #fff;
    background-color: var(--red);
    border-radius: 6px;
    padding: 10px 20px;
    text-align: center;
    white-space: nowrap;
    transition: background-color var(--transition), opacity var(--transition);}

.csp-submit:hover { filter: brightness(.93); }
.csp-submit:disabled { opacity: .7; cursor: progress; }
.csp-note { margin: 0; font-size: 13px; line-height: 1.5; color: var(--csp-muted); }

.csp-errors { padding: 14px 18px; border-radius: 10px; background: #fdecea; color: #8a1f11; border: 1px solid #f5c2bb; outline: none; }
.csp-errors p { margin: 0 0 6px; }
.csp-errors ul { margin: 0; padding-left: 18px; }

.csp-thanks { padding: clamp(20px, 4vw, 36px); border: 1px solid var(--csp-line); border-radius: calc(var(--csp-radius) + 4px); background: var(--csp-bg); }
.csp-thanks__title { margin: 0 0 12px; color: var(--csp-ink); }
.csp-pay { margin-top: 18px; padding: 18px 22px; border-radius: var(--csp-radius); background: #f4f6fa; }
.csp-pay__title { margin: 0 0 10px; font-weight: 700; color: var(--csp-ink); }
.csp-pay dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 18px; margin: 0; }
.csp-pay dt { color: var(--csp-muted); }
.csp-pay dd { margin: 0; font-weight: 600; word-break: break-word; }

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

@media (max-width: 600px) {
  .csp-grid, .csp-doc__sign { grid-template-columns: 1fr; }
  .csp-doc { padding: 18px; text-align: left; }
  .csp-pay dl { grid-template-columns: 1fr; gap: 2px; }
  .csp-pay dd { margin-bottom: 8px; }
}
