.funup-public-entry { margin: 28px auto 36px; max-width: 560px; text-align: center; }
.funup-public-entry .funup-public-entry__button,
.funup-public-entry a.funup-public-entry__button:link,
.funup-public-entry a.funup-public-entry__button:visited {
  position: relative; overflow: hidden; isolation: isolate;
  display: flex; align-items: center; justify-content: center; gap: 16px;
  min-height: 66px; width: 100%; padding: 17px 24px; box-sizing: border-box;
  border: 1px solid #049d43; border-radius: 14px;
  background: #06c755;
  color: #fff !important; text-shadow: 0 1px 2px rgba(0, 70, 30, .35); font: inherit; font-size: 19px; font-weight: 700;
  letter-spacing: .03em; line-height: 1.5; text-decoration: none !important;
  box-shadow: 0 9px 22px rgba(6, 163, 70, .22), inset 0 1px 0 rgba(255, 255, 255, .7);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.funup-public-entry a.funup-public-entry__button::before {
  content: ''; position: absolute; z-index: -1; inset: 0;
  background: linear-gradient(105deg, transparent 25%, rgba(255, 255, 255, .38) 50%, transparent 75%);
  transform: translateX(-120%); transition: transform .6s ease; pointer-events: none;
}
.funup-public-entry .funup-public-entry__arrow {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 30px;
  width: 30px; height: 30px; border: 1px solid rgba(255, 255, 255, .65);
  border-radius: 50%; color: #fff; font-size: 20px; letter-spacing: 0; line-height: 1;
  transition: transform .2s ease;
}
@media (hover: hover) {
  .funup-public-entry a.funup-public-entry__button:hover {
    transform: translateY(-2px); border-color: #028d3b;
    box-shadow: 0 13px 28px rgba(6, 163, 70, .28), inset 0 1px 0 rgba(255, 255, 255, .85);
  }
  .funup-public-entry a.funup-public-entry__button:hover::before { transform: translateX(120%); }
  .funup-public-entry a.funup-public-entry__button:hover .funup-public-entry__arrow { transform: translateX(3px); }
}
.funup-public-entry a.funup-public-entry__button:active { transform: translateY(1px); box-shadow: 0 3px 8px rgba(6, 163, 70, .18); }
.funup-public-entry a.funup-public-entry__button:focus-visible { outline: 3px solid #3880c1; outline-offset: 4px; }
.funup-public-entry .funup-public-entry__button.is-disabled {
  background: #e5e7eb; border-color: #cbd5e1; color: #596779 !important; box-shadow: none; letter-spacing: 0;
}
.funup-public-entry .funup-public-entry__note { margin: 13px 0 0; font-size: 13px; line-height: 1.7; color: #596779; text-align: left; }
@media (max-width: 640px) {
  .funup-public-entry a.funup-public-entry__button:link,
  .funup-public-entry a.funup-public-entry__button:visited,
  .funup-public-entry .funup-public-entry__button.is-disabled { min-height: 60px; padding: 15px 14px; gap: 10px; font-size: 19px; }
  .funup-public-entry .funup-public-entry__arrow { flex-basis: 26px; width: 26px; height: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .funup-public-entry a.funup-public-entry__button,
  .funup-public-entry a.funup-public-entry__button::before,
  .funup-public-entry .funup-public-entry__arrow { transition: none; transform: none !important; }
}

/* Recruitment notices stay clearly interactive without competing with the CTA. */
.single-event .entry-content details.important-details {
  border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
.single-event .important-details > summary {
  display: list-item; padding: 15px 18px; margin: 16px 0;
  border: 2px solid #b45309; border-radius: 10px;
  background: #fff7e6; color: #78350f; font-size: 17px; font-weight: 700;
  line-height: 1.6; cursor: pointer; text-decoration: underline;
  text-underline-offset: 4px; box-shadow: 0 2px 7px rgba(120,53,15,.10);
}
.single-event .important-details > summary::marker { color: #b45309; }
.single-event .important-details > summary:hover { background: #ffedc2; }
.single-event .important-details > summary:focus-visible { outline: 3px solid #3880c1; outline-offset: 3px; }
/* Expanded details use one continuous outline around header and full content. */
.single-event .entry-content details.important-details[open] {
  margin: 16px 0; border: 2px solid #b45309; border-radius: 10px; background: #fff;
}
.single-event .entry-content details.important-details[open] > summary {
  margin: 0; border: 0; border-bottom: 1px solid #dfb58b;
  border-radius: 8px 8px 0 0; background: #ffedc2; box-shadow: none;
}
.single-event .entry-content details.important-details[open] > .important-details-body {
  padding: 18px 20px;
}
.single-event .entry-content details.important-details[open] > .important-details-body > :last-child { margin-bottom: 0; }
.single-event .entry-content details.funup-entry-help__accordion {
  margin: 12px 0; border: 1px solid #cbd9e4; border-radius: 10px;
  background: #fff; box-shadow: none; padding: 0;
}
.single-event .entry-content .funup-entry-help__accordion > summary {
  display: list-item; margin: 0; padding: 14px 18px; border: 0;
  border-radius: 9px; background: #f4f8fb; color: #25475b;
  font-size: 16px; font-weight: 700; line-height: 1.7; cursor: pointer;
}
.single-event .entry-content .funup-entry-help__accordion[open] > summary {
  border-bottom: 1px solid #cbd9e4; border-radius: 9px 9px 0 0;
}
.single-event .funup-entry-help__body { padding: 4px 18px 14px; }
.single-event .entry-content details.funup-entry-help__question {
  margin: 0; padding: 0; border: 0; border-bottom: 1px solid #dbe5ed;
  border-radius: 0; background: transparent; box-shadow: none;
}
.single-event .entry-content details.funup-entry-help__question:last-child { border-bottom: 0; }
.single-event .entry-content .funup-entry-help__question > summary {
  display: list-item; margin: 0; padding: 14px 0; border: 0; border-radius: 0;
  background: transparent; color: #25475b; font-size: 15px;
  font-weight: 700; line-height: 1.8; cursor: pointer;
}
.single-event .funup-entry-help__answer { padding: 0 0 12px; font-size: 15px; line-height: 1.9; overflow-wrap: anywhere; }
.single-event .funup-entry-help__answer > :last-child { margin-bottom: 0; }
.single-event .funup-entry-help__accordion > summary:hover,
.single-event .funup-entry-help__question > summary:hover { color: #07649b; }
.single-event .funup-entry-help__accordion > summary:focus-visible,
.single-event .funup-entry-help__question > summary:focus-visible { outline: 3px solid #3880c1; outline-offset: 2px; }
