.fr-poll { display:block; }

/* Вопрос — отступом управляет контрол "Отступ после вопроса" */
.fr-poll__q { margin-bottom:12px; font-weight:600; }

/* Ответы: flex, чтобы радиокнопка не уезжала при большом шрифте */
.fr-poll__answers {
  display:grid;
  row-gap:10px;
  margin-bottom:14px; /* управляется контролом "Отступ после вопросов" */
}
.fr-poll__answer {
  display:flex;
  align-items:flex-start;
  gap:10px;
  cursor:pointer;
}
.fr-poll__answer input[type="radio"] {
  flex:0 0 auto;
  position: relative;
  top: .2em; /* коррекция относительно размера шрифта */
}

/* Кнопки — ВСЕГДА видимы
   Мобилка (по умолчанию): в столбик
   Десктоп: в одну строку 50/50
*/
.fr-poll__btns {
  display: grid;
  grid-template-columns: 1fr;     /* мобильный вид — по одной в строке */
  gap: 10px;                      /* настраивается контролом "Отступ между кнопками" */
}
.fr-poll__btn {
  justify-content: center;
  border: 1px solid #d9dee6;
  background: #fff;
  color: #2d333b;
  border-radius: 10px;
  padding: 8px 12px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  line-height: 1.2;
  /* без анимаций */
}
.fr-poll__btn:hover { }
.fr-poll__btn.is-active { }

/* >= 480px: две кнопки в одну строку 50/50 */
@media (min-width: 480px) {
  .fr-poll__btns {
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
  }
  .fr-poll__btn {
    width: auto; /* ширину тянет grid, не фиксируем 100% */
  }
}

/* Результаты — под вопросом */
.fr-poll__results { margin-top:8px; display:grid; row-gap:12px; }

.fr-poll__res-top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
}

/* Лейблы результатов наследуют типографику ответов */
.fr-poll__res-label { font-weight:inherit; }

/* Правая колонка: две строки — число сверху, процент снизу */
.fr-poll__res-stats {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  line-height:1.15;
  text-align:right;
}
.fr-poll__res-num { }
.fr-poll__res-pct { opacity:.8; }

/* Полосы */
.fr-poll__bar {
  width:100%;
  height:10px;
  background:#e8edf3;
  border-radius:8px;
  overflow:hidden;
}
.fr-poll__bar-fill {
  height:100%;
  width:0%;
  background:#3680fa;
  border-radius:8px;
  transition:width .35s ease;
}