/* One author-facing class. Place the shortcode outside the marked Thrive content. */
html:not(.e5-registration-editor):not(.e5-registration-needed) .e5-anmeldung-doi-offen { display: none !important; }
[data-e5enz-registration][hidden], [data-e5enz-registration] [hidden] { display: none !important; }
[data-e5enz-registration] {
  --e5-reg-gold: linear-gradient(72deg, #B0891E 10%, #D8C25F 42%, #DFCC7C 52%, #B0891E 90%);
  text-align: center;
}
[data-e5enz-registration] [data-registration-status], [data-e5enz-registration] [data-registration-help] { text-align: center !important; }
/* Keep the visual area and text position; the loading dots share the success icon's centre. */
[data-e5enz-registration] .e5-reg-visual { position: relative; width: min(360px, 100%); height: 90px; margin: 0 auto 18px; pointer-events: none; }
[data-e5enz-registration] .e5-reg-spinner {
  position: absolute; left: 50%; top: 32px; width: 48px; height: 48px; transform: translate(-50%, -50%);
}
/* Fixed dots: one full gold highlight travels clockwise, with a fading trail. */
[data-e5enz-registration] .e5-reg-dot {
  position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px;
  border-radius: 50%; background: #B0891E; opacity: var(--e5-dot-opacity);
  transform: rotate(var(--e5-dot-angle)) translateY(-20px);
  animation: e5-reg-dot 840ms steps(1, end) infinite; animation-delay: var(--e5-dot-delay);
}
[data-e5enz-registration] .e5-reg-burst { position: absolute; left: 50%; top: 32px; width: 0; height: 0; }
[data-e5enz-registration] .e5-reg-check {
  display: grid; place-items: center; position: absolute; left: -24px; top: -24px; width: 48px; height: 48px;
  border-radius: 50%; background: var(--e5-reg-gold); box-shadow: 0 0 25px rgb(216 194 95 / 26%); opacity: 0;
}
[data-e5enz-registration] .e5-reg-check svg { width: 30px; height: 30px; fill: none; stroke: #FFF; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
[data-e5enz-registration] .e5-reg-ray {
  position: absolute; left: -1.5px; top: -7px; width: 3px; height: 14px; border-radius: 999px; background: var(--e5-reg-gold); opacity: 0;
  transform: rotate(var(--e5-angle)) translateY(-28px) scaleY(.3);
}
[data-e5enz-registration][data-registration-state="celebrating"] .e5-reg-check { animation: e5-reg-pop 420ms cubic-bezier(.2,.8,.3,1.2) both; }
[data-e5enz-registration][data-registration-state="celebrating"] .e5-reg-ray { animation: e5-reg-rays 450ms ease-out both; }
[data-e5enz-registration][data-registration-state="confirmed"] .e5-reg-check { opacity: 1; }
[data-e5enz-registration]:not([data-registration-state="pending"]) .e5-reg-spinner { display: none; }
@keyframes e5-reg-dot {
  0% { opacity: 1; }
  8.333333% { opacity: .72; }
  16.666667% { opacity: .5; }
  25% { opacity: .34; }
  33.333333% { opacity: .23; }
  41.666667% { opacity: .17; }
  50%, 100% { opacity: .12; }
}
@keyframes e5-reg-pop { 0% { opacity: 0; transform: scale(.65); } 55% { opacity: 1; transform: scale(1.1); } 100% { opacity: 1; transform: scale(1); } }
@keyframes e5-reg-rays { 0% { opacity: 0; transform: rotate(var(--e5-angle)) translateY(-28px) scaleY(.3); } 25% { opacity: 1; } 100% { opacity: 0; transform: rotate(var(--e5-angle)) translateY(-58px) scaleY(.65); } }
@media (prefers-reduced-motion: reduce) {
  [data-e5enz-registration] *, [data-e5enz-registration] *::after { animation: none !important; transition: none !important; }
}
