/* Scoped voting controls override the legacy .vote-btn reset without changing other votes. */
.rt-rule-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; align-items: start; }
.rt-rule-layout > * { min-width: 0; }
.rt-rule-layout > .rt-rule-article { margin-bottom: 0; }
.rt-rule-layout + .rt-rule-actions, .rt-rule-layout + .rt-document-actions { margin-top: 20px; }
.rt-rule-ballot { padding: 22px; border: 1px solid #d9c9ac; border-top: 4px solid #8d7955; border-radius: 14px; background: #fffdf8; box-shadow: 0 5px 20px #32220b09; font-family: var(--default-font,sans-serif); color: #342c20; }
.rt-rule-ballot-heading { display: flex; gap: 12px; align-items: center; }
.rt-rule-ballot-icon { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: 12px; background: #eee5d4; color: #6c5736; font-size: 1.2rem; }
.rt-rule-ballot-eyebrow { display: block; font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #756449; margin-bottom: 3px; }
.rt-rule-ballot .rt-rule-ballot-heading h2 { margin: 0; font: 700 1.18rem/1.3 var(--default-font,sans-serif); color: #342c20; }
.rt-rule-ballot .rt-rule-ballot-intro { font-size: .86rem; line-height: 1.6; color: #605b52; margin: 16px 0; }
.rt-rule-ballot-choices { display: grid; gap: 10px; }
.rt-rule-ballot .rt-rule-vote-button { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 66px; margin: 0; padding: 12px 14px; border: 2px solid #9fb5a5; border-radius: 10px; background: #f2f8f3; color: #28523a; text-align: left; font: 700 1rem/1.3 var(--default-font,sans-serif); cursor: pointer; transition: background .15s,border-color .15s,box-shadow .15s; }
.rt-rule-vote-button > i { font-size: 1.25rem; }
.rt-rule-vote-label { flex: 1; }
.rt-rule-vote-label small { display: block; margin-top: 3px; font-size: .75rem; font-weight: 400; }
.rt-rule-vote-selected { display: none; font-size: .65rem; align-items: center; gap: 4px; }
.rt-rule-ballot .rt-rule-vote-oppose { background: #fff6f3; border-color: #d4aaa0; color: #8b3d30; }
.rt-rule-ballot .rt-rule-vote-support:not(:disabled):hover { background: #e3f0e5; border-color: #356947; box-shadow: 0 2px 8px #28523a15; }
.rt-rule-ballot .rt-rule-vote-oppose:not(:disabled):hover { background: #fbe8e2; border-color: #9c493a; box-shadow: 0 2px 8px #8b3d3015; }
.rt-rule-ballot .rt-rule-vote-support.is-selected, .rt-rule-ballot .rt-rule-vote-support.is-selected:hover { background: #315e43; border-color: #315e43; color: #fff; }
.rt-rule-ballot .rt-rule-vote-oppose.is-selected, .rt-rule-ballot .rt-rule-vote-oppose.is-selected:hover { background: #944737; border-color: #944737; color: #fff; }
.rt-rule-vote-button.is-selected .rt-rule-vote-selected { display: inline-flex; }
.rt-rule-ballot .rt-rule-vote-button:disabled { cursor: not-allowed; }
.rt-rule-ballot:not([aria-busy=true]) .rt-rule-vote-button:disabled:not(.is-selected) { background: #f4f2ed; border-color: #d4cebf; color: #746c5d; }
.rt-rule-ballot[aria-busy=true] .rt-rule-vote-button { cursor: progress; opacity: .75; }
.rt-rule-ballot .rt-rule-vote-button:focus-visible, .rt-rule-ballot a:focus-visible { outline: 3px solid #9d7940; outline-offset: 3px; }
.rt-rule-ballot-results { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 15px 0; margin-top: 4px; border-bottom: 1px solid #e8dfd0; font-size: .76rem; color: #605b52; }
.rt-rule-ballot-results strong, .rt-rule-ballot-results output { color: #342c20; font-size: .95rem; font-weight: 700; }
.rt-rule-ballot-results output { margin-left: .25rem; }
.rt-rule-ballot .rt-rule-ballot-message { margin: 14px 0 0; font-size: .82rem; line-height: 1.6; color: #514735; }
.rt-rule-ballot .rt-rule-ballot-message.is-error { color: #9a3326; font-weight: 600; }
.rt-rule-ballot-login { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; min-height: 44px; font-size: .85rem; }
.rt-rule-ballot .rt-rule-ballot-help { margin: 12px 0 0; font-size: .7rem; line-height: 1.6; color: #6c655a; }
.rt-document-card .rt-rule-layout > article { scroll-margin-top: 100px; }
@media (min-width: 1200px) {
  .rt-community-page #ruleOffcanvas.rt-rule-panel { width: min(1080px,100vw); }
  .rt-rule-layout { grid-template-columns: minmax(0,1fr) 300px; gap: 26px; }
  .rt-rule-layout > .rt-rule-ballot { position: sticky; top: 96px; }
  #ruleOffcanvas .rt-rule-layout > .rt-rule-ballot { top: 0; }
}
@media (max-width: 575.98px) {
  .rt-rule-ballot { padding: 18px; }
  .rt-rule-layout { gap: 16px; }
}
@media (prefers-reduced-motion: reduce) { .rt-rule-ballot .rt-rule-vote-button { transition: none; } }
