

.marble-poll {
  width: min(100%, 980px);
  margin: 0 auto;
  padding: 12px 0 48px;
}

.marble-poll__hero {
  position: relative;
  overflow: hidden;
  padding: clamp(26px, 5vw, 52px);
  border-radius: 24px;
  background:
    radial-gradient(
      circle at 90% 0,
      rgba(79, 195, 247, .22),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      #07375d,
      #075f8f
    );
  color: #fff;
  box-shadow: 0 18px 45px rgba(7, 55, 93, .14);
}

.marble-poll__eyebrow {
  margin-bottom: 8px;
  color: #8bd5fa;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.marble-poll__title {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-size: clamp(30px, 5vw, 48px);
  line-height: 1.08;
}

.marble-poll__intro {
  max-width: 720px;
  margin-top: 18px;
  color: #e6f3fb;
  font-size: 17px;
  line-height: 1.65;
}

.marble-poll__meta {
  margin-top: 22px;
  color: #c9e3f3;
  font-size: 13px;
}

.marble-poll__panel,
.marble-poll__results {
  margin-top: 22px;
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid #dce8f0;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 34px rgba(25, 68, 96, .07);
}

.marble-poll__panel-heading {
  margin-bottom: 24px;
}

.marble-poll__panel-heading h2,
.marble-poll__results h2 {
  margin: 0 0 5px;
}

.marble-poll__panel-heading p {
  margin: 0;
  color: #657888;
}

.marble-poll-question {
  padding: 22px 0;
  border-top: 1px solid #e5edf3;
}

.marble-poll-question:first-of-type {
  padding-top: 0;
  border-top: 0;
}

.marble-poll-question__number {
  margin-bottom: 7px;
  color: #56809d;
  font-size: 12px;
  font-weight: 700;
}

.marble-poll-question__title {
  margin: 0 0 14px;
  color: #173e5c;
  font-size: 19px;
  line-height: 1.35;
}

.marble-poll-question__required {
  color: #bb3143;
}

.marble-poll-vote-form .form-radios,
.marble-poll-vote-form .form-checkboxes {
  display: grid;
  gap: 8px;
}

.marble-poll-vote-form .form-type-radio,
.marble-poll-vote-form .form-type-checkbox {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #dae6ee;
  border-radius: 11px;
  background: #fbfdfe;
  transition:
    border-color .15s ease,
    background .15s ease;
}

.marble-poll-vote-form .form-type-radio:hover,
.marble-poll-vote-form .form-type-checkbox:hover {
  border-color: #8cb7d2;
  background: #f3f9fd;
}

.marble-poll-vote-form input[type="text"],
.marble-poll-vote-form textarea {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 12px 14px;
  border: 1px solid #cbdce7;
  border-radius: 11px;
  font: inherit;
}

.marble-poll-vote-form__submit {
  min-height: 44px;
  padding: 0 22px !important;
  border-radius: 10px !important;
}

.marble-poll__panel--closed {
  text-align: center;
}

.marble-poll__results-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 26px;
}

.marble-poll__response-total {
  padding: 7px 11px;
  border-radius: 999px;
  background: #eef6fb;
  color: #326482;
  font-size: 13px;
  font-weight: 700;
}

.marble-poll-results {
  display: grid;
  gap: 28px;
}

.marble-poll-results__question {
  padding-top: 24px;
  border-top: 1px solid #e5edf3;
}

.marble-poll-results__question:first-child {
  padding-top: 0;
  border-top: 0;
}

.marble-poll-results__question h3 {
  margin: 0 0 18px;
  color: #173e5c;
}

.marble-poll-results__item {
  margin-top: 14px;
}

.marble-poll-results__line {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 7px;
}

.marble-poll-results__bar {
  height: 11px;
  overflow: hidden;
  border-radius: 999px;
  background: #e7f0f6;
}

.marble-poll-results__fill {
  height: 100%;
  min-width: 0;
  border-radius: inherit;
  background:
    linear-gradient(
      90deg,
      #147db9,
      #23a0dc
    );
}

.marble-poll-results__count {
  margin-top: 5px;
  color: #758796;
  font-size: 12px;
}

.marble-poll__results-empty {
  color: #687e8e;
}

@media (max-width: 680px) {
  .marble-poll__results-header {
    align-items: flex-start;
    flex-direction: column;
  }
}


