/* 0.16.0: Abstimmung auf der Startseite */
.lsvd-poll {
  margin: 0 0 var(--lsvd-home-gap, 72px);
  padding: clamp(28px, 4vw, 48px);
  background: var(--wp--preset--color--sand, #F3EEE6);
  border-radius: 2px;
  scroll-margin-top: 110px;
}
.lsvd-poll__head { max-width: 640px; margin-bottom: 24px; }
.lsvd-poll__kicker { margin: 0 0 8px; color: var(--wp--preset--color--rot, #B42318); font-weight: 700; text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; }
.lsvd-poll h2 { margin: 0 0 10px !important; }
.lsvd-poll__intro { margin: 0; color: var(--wp--preset--color--stumm, #5C5C5C); }
.lsvd-poll fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }

.lsvd-poll__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 960px) { .lsvd-poll__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .lsvd-poll__grid { grid-template-columns: 1fr; } }

.lsvd-poll__opt {
  position: relative; display: flex; flex-direction: column; gap: 4px;
  padding: 18px 16px 16px; background: #fff; border: 1px solid var(--wp--preset--color--linie, #D6D1C7);
  border-radius: 6px; cursor: pointer; transition: border-color .15s, box-shadow .15s, transform .15s, opacity .15s;
}
.lsvd-poll__opt:hover { border-color: var(--wp--preset--color--tinte, #1A1A1A); transform: translateY(-2px); }
.lsvd-poll__opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.lsvd-poll__opt:focus-within { outline: 2px solid var(--wp--preset--color--rot, #B42318); outline-offset: 2px; }
.lsvd-poll__icon { color: var(--wp--preset--color--rot, #B42318); margin-bottom: 6px; }
.lsvd-poll__label { font-weight: 650; line-height: 1.25; }
.lsvd-poll__hint { font-size: .85rem; line-height: 1.35; color: var(--wp--preset--color--stumm, #5C5C5C); }
.lsvd-poll__check {
  position: absolute; top: 12px; right: 12px; width: 22px; height: 22px; border-radius: 50%;
  border: 1.5px solid var(--wp--preset--color--linie, #D6D1C7); background: #fff;
}
.lsvd-poll__opt.is-on { border-color: var(--wp--preset--color--rot, #B42318); box-shadow: inset 0 0 0 1px var(--wp--preset--color--rot, #B42318); }
.lsvd-poll__opt.is-on .lsvd-poll__check { background: var(--wp--preset--color--rot, #B42318); border-color: var(--wp--preset--color--rot, #B42318); }
.lsvd-poll__opt.is-on .lsvd-poll__check::after {
  content: ""; position: absolute; left: 7px; top: 3px; width: 5px; height: 10px;
  border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.lsvd-poll__opt.is-off { opacity: .55; }

.lsvd-poll__other { margin-top: 16px; max-width: 560px; }
.lsvd-poll__other label { display: block; font-weight: 600; margin-bottom: 6px; }
.lsvd-poll__other input { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid #BEB7AD; border-radius: 2px; font: inherit; background: #fff; }

.lsvd-poll__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 20px; }
.lsvd-poll__submit {
  border: 0; border-radius: 999px; padding: 14px 28px; font: inherit; font-weight: 700; cursor: pointer;
  background: var(--wp--preset--color--rot, #B42318); color: #fff;
}
.lsvd-poll__submit:disabled { opacity: .45; cursor: not-allowed; }
.lsvd-poll__status { font-size: .9rem; color: var(--wp--preset--color--stumm, #5C5C5C); }
.lsvd-poll__admin-note { margin: 16px 0 0; font-size: .85rem; color: var(--wp--preset--color--stumm, #5C5C5C); font-style: italic; }

.lsvd-poll__result:focus { outline: none; }
.lsvd-poll__thanks { margin: 0 0 8px; font-weight: 700; font-size: 1.15rem; }
.lsvd-poll__total { margin: 0 0 16px; }
.lsvd-poll__bars { list-style: none; margin: 0; padding: 0; max-width: 720px; display: grid; gap: 10px; }
.lsvd-poll__bars li { display: grid; grid-template-columns: minmax(140px, 220px) 1fr 52px; align-items: center; gap: 12px; }
.lsvd-poll__bar { display: block; height: 14px; background: #fff; border-radius: 7px; overflow: hidden; }
.lsvd-poll__bar span { display: block; height: 100%; background: var(--wp--preset--color--rot, #B42318); border-radius: 7px; animation: lsvd-poll-grow .7s ease-out both; transform-origin: left; }
.lsvd-poll__bar-num { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }
.lsvd-poll__fine { margin: 14px 0 0; font-size: .8rem; color: var(--wp--preset--color--stumm, #5C5C5C); }
@media (max-width: 520px) { .lsvd-poll__bars li { grid-template-columns: 1fr 48px; } .lsvd-poll__bar { grid-column: 1 / -1; grid-row: 2; } }
@keyframes lsvd-poll-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) { .lsvd-poll__opt, .lsvd-poll__bar span { transition: none; animation: none; } }

/* 0.16.1: Ergebnis sanft einblenden */
.lsvd-poll__result:not([hidden]) { animation: lsvd-poll-fade .35s ease-out both; }
@keyframes lsvd-poll-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .lsvd-poll__result:not([hidden]) { animation: none; } }

/* 0.16.4: Gleiche Außenkante wie „Nächste Veranstaltung“ und „Weitere Termine“ */
body.home .lsvd-original-home > .lsvd-poll {
  box-sizing: border-box !important;
  width: min(100% - 2 * var(--lsvd-home-gutter), var(--lsvd-home-w)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(20px, 3vw, 40px) !important;
  padding-right: clamp(20px, 3vw, 40px) !important;
}

/* 0.16.5: Kasten wächst beim Überfahren mit der Maus leicht */
body.home .lsvd-original-home > .lsvd-poll { transition: transform .3s ease, box-shadow .3s ease; }
@media (hover: hover) {
  body.home .lsvd-original-home > .lsvd-poll:hover { transform: scale(1.015); box-shadow: 0 14px 30px rgba(0, 0, 0, .08); }
}
@media (prefers-reduced-motion: reduce) {
  body.home .lsvd-original-home > .lsvd-poll { transition: none; }
  body.home .lsvd-original-home > .lsvd-poll:hover { transform: none; }
}
