.vote-share[hidden], .vote-share [hidden] { display: none !important; }
.vote-share {
  margin-top: 1.5rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid #3f648d;
  border-radius: 12px;
  background: #171d26;
  color: #f6f5f3;
}
.vote-share h3 {
  margin: 0 0 .75rem;
  font: 700 clamp(1.35rem, 3vw, 2rem)/1.15 Arial, Helvetica, sans-serif;
  letter-spacing: -.035em;
}
.vote-share p { color: #c8c8ce; }
.vote-share-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1rem 0; }
.vote-share-actions .btn { min-height: 44px; padding: .65rem 1rem; font-weight: 700; }
.vote-share-actions .btn-outline-light {
  --bs-btn-color: #c5e0ff;
  --bs-btn-border-color: #66adff;
  --bs-btn-hover-color: #111113;
  --bs-btn-hover-bg: #66adff;
  --bs-btn-hover-border-color: #66adff;
  --bs-btn-active-color: #111113;
  --bs-btn-active-bg: #8bc1ff;
  --bs-btn-active-border-color: #8bc1ff;
}
.vote-share label { display: block; margin-bottom: .5rem; font-size: .875rem; color: #c8c8ce; }
.vote-share textarea {
  display: block; width: 100%; min-height: 110px; resize: vertical;
  padding: .8rem 1rem; border: 1px solid #454f5d; border-radius: 6px;
  background: #111113; color: #f6f5f3;
  font: 1rem/1.5 Arial, Helvetica, sans-serif;
}
.vote-share-status { min-height: 1.5em; margin: .75rem 0 0; font-size: .875rem; }
.vote-share :is(a,button,textarea):focus-visible { outline: 3px solid #a8d0ff; outline-offset: 4px; }


.vote-share-actions .btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  padding: 14px;
  border-radius: 12px;
}
.vote-share-actions svg { width: 26px; height: 26px; fill: currentColor; }
.vote-share-actions .btn::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  padding: .45rem .65rem;
  border: 1px solid #66adff;
  border-radius: 6px;
  background: #111113;
  color: #f6f5f3;
  font: 500 .8rem/1.3 Arial, sans-serif;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  z-index: 5;
}
.vote-share-actions .btn:focus-visible::after { opacity: 1; }
@media (hover: hover) { .vote-share-actions .btn:hover::after { opacity: 1; } }

.vote-share { text-align: center; }
.vote-share-actions { justify-content: center; }
.vote-share textarea { text-align: center; }
.guidance-section {
  text-align: center;
  padding: clamp(2.5rem, 6vw, 5rem) 1.5rem;
  border-top: 1px solid #3f648d;
  background: #171d26;
  color: #f6f5f3;
}
.guidance-section h2 { margin: .75rem 0 1rem; font-size: clamp(1.6rem, 4vw, 2.5rem); }
.guidance-section p { max-width: 600px; margin: 0 auto 1.5rem; color: #c8c8ce; }
.guidance-section .btn { border-color: #66adff; color: #c5e0ff; padding: .9rem 1.4rem; }
.guidance-section .btn:hover { background: #66adff; color: #111113; }
.campaign-footer { display: flex; justify-content: center; padding: 2.5rem 1.5rem; background: #111113; }
.campaign-footer img { display: block; width: 130px; height: auto; }
