
:root{
  --csvote-accent: var(--csvote-accent, var(--e-global-color-primary, var(--wp--preset--color--primary, #e63963)));
  --csvote-radius: 14px;
  --csvote-border: rgba(0,0,0,.12);
  --csvote-surface: var(--wp--preset--color--base, #fff);
  --csvote-text-subtle: var(--wp--preset--color--contrast-3, #6b7280);
}
.csvote-vote{ max-width: 940px; margin: 0 auto; padding: 1.25rem; }
.csvote-title{ margin: .25rem 0 .35rem; line-height: 1.2; }
.csvote-sub{ margin: 0 0 1.25rem; color: var(--csvote-text-subtle); font-size: 1rem; }
.csvote-panel{ background: var(--csvote-surface); border: 1px solid var(--csvote-border); border-radius: var(--csvote-radius); padding: 1.25rem; margin: 1.25rem 0; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.csvote-cat{ margin: 0 0 .85rem; line-height: 1.2; }
.csvote-row{ display:flex; gap:.8rem; align-items:center; }
.csvote-select{ flex:1 1 auto; min-width: 320px; max-width:100%; padding:.7rem .9rem; border-radius: 12px; border:1px solid rgba(0,0,0,.18); background:#fff; outline:none; transition: box-shadow .15s ease, border-color .15s ease; }
.csvote-select:focus{ border-color: var(--csvote-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--csvote-accent) 22%, transparent); }
.csvote-btn{ padding:.7rem 1.05rem; border:0; border-radius:999px; background:var(--csvote-accent); color:#fff; font-weight:700; line-height:1; cursor:pointer; white-space:nowrap; transition: transform .04s ease, filter .15s ease, opacity .15s ease; }
.csvote-btn:hover{ filter:brightness(.96); }
.csvote-btn:active{ transform: translateY(1px); }
.csvote-btn[disabled], .csvote-select[disabled]{ opacity:.55; cursor:not-allowed; }
.csvote-note{ margin-top:.6rem; font-size:.96rem; }
.csvote-note.csvote-ok{ color:#16a34a; }
.csvote-note.csvote-warn{ color:#b91c1c; }
.csvote-small{ margin-top:.75rem; font-size:.9rem; color: var(--csvote-text-subtle); }
.csvote-brand{ display:flex; gap:16px; justify-content:space-between; align-items:center; margin-top:1.25rem; padding:1rem 1.1rem; border:1px dashed var(--csvote-border); border-radius: var(--csvote-radius); background: rgba(0,0,0,.02); }
.csvote-brand a{ color: inherit; text-decoration: underline; }
.csvote-brand-right img{ max-height:28px; width:auto; display:block; }
.csvote-cta{ margin-top:.15rem; color: var(--csvote-text-subtle); }
@media (max-width: 768px){
  .csvote-row{ flex-direction: column; align-items: stretch; }
  .csvote-select{ min-width:100%; font-size:16px; }
  .csvote-btn{ width:100%; border-radius:12px; padding:.9rem 1rem; }
  .csvote-vote{ padding: 12px; }
}
