.wbp-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0.65rem; }
.birthday-toggle { min-height: 44px; padding: 0.4rem 0.75rem; border: 1px solid var(--border); border-radius: 12px; color: var(--gold); background: var(--panel); font: 600 0.85rem var(--font-body); cursor: pointer; }
.birthday-toggle:hover, .birthday-toggle[aria-expanded="true"] { border-color: var(--gold); }
.birthday-toggle:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.birthday-notice {
  width: min(1100px, calc(100% - 2rem));
  margin: -2rem auto 1.5rem;
  text-align: left;
  padding: 1rem 1.25rem;
  border: 1px solid rgba(255, 209, 102, 0.55);
  border-radius: 18px;
  background: radial-gradient(ellipse at top right, rgba(255, 209, 102, 0.16), transparent 65%), var(--panel);
  box-shadow: 0 0 24px rgba(255, 209, 102, 0.08);
}
.birthday-notice[hidden] { display: none; }
.hero .birthday-heading p { font-size: 0.85rem; margin: 0.3rem 0 0; }
.hero .birthday-status { font-size: 0.85rem; margin: 0.5rem 0 0; }
.birthday-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.birthday-heading h2 { color: var(--gold); font-family: var(--font-heading); font-size: 1.5rem; line-height: 1.2; }
.birthday-heading p { color: var(--text-muted); font-size: 0.85rem; margin-top: 0.3rem; }
.birthday-heading label { font-size: 0.85rem; display: flex; align-items: center; gap: 0.5rem; }
.birthday-heading select { font: inherit; color: var(--text); background: var(--bg); border: 1px solid var(--border); border-radius: 8px; min-height: 44px; padding: 0.4rem 0.6rem; }
.birthday-list { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; margin-top: 0.8rem; }
.birthday-list li { padding: 0.4rem 0.65rem; border: 1px solid var(--border); border-radius: 10px; font-size: 0.85rem; overflow-wrap: anywhere; }
.birthday-list .birthday-next { border-color: var(--gold); background: rgba(255, 209, 102, 0.1); }
.birthday-list .birthday-today { border-color: var(--cyan); background: rgba(76, 201, 240, 0.12); }
.birthday-list time { color: var(--gold); font-weight: 800; margin-right: 0.5rem; }
.birthday-status { color: var(--text-muted); font-size: 0.85rem; margin-top: 0.5rem; }
@media (max-width: 600px) {
  .birthday-notice { padding: 0.85rem; }
  .birthday-heading h2 { font-size: 1.25rem; }
  .birthday-heading { gap: 0.6rem; }
  .birthday-list li { width: 100%; }
}
