.hb-birthday {
  box-sizing: border-box;
  margin: 1.75rem 0;
  padding: 1.5rem;
  border: 1px solid #f0c7d5;
  border-radius: 1.1rem;
  background: #fff8fa;
  color: #251b35;
  min-width: 0;
}
.hb-birthday legend, .hb-birthday h2 {
  color: #251b35;
  font-size: 1.25rem;
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: 0;
}
.hb-birthday legend { padding: 0 .35rem; }
.hb-birthday p { margin: .75rem 0; line-height: 1.6; }
.hb-birthday .hb-birthday-lead { font-weight: 650; font-size: 1.02rem; }
.hb-birthday .hb-birthday-date { display: grid; grid-template-columns: minmax(5rem, 1fr) minmax(9rem, 2fr); gap: 1rem; max-width: 34rem; }
.hb-birthday .hb-birthday-date label { display: block; margin-bottom: .4rem; font-weight: 600; }
.hb-birthday .hb-birthday-date select { box-sizing: border-box; width: 100%; min-height: 2.75rem; padding: .5rem .75rem; border: 1px solid #bbaab5; border-radius: .5rem; background: #fff; color: #251b35; font: inherit; }
.hb-birthday label.hb-birthday-choice { display: flex; align-items: flex-start; gap: .65rem; font-size: .95rem; line-height: 1.55; cursor: pointer; }
.hb-birthday .hb-birthday-choice input { flex: 0 0 auto; float: none; width: 1.1rem; height: 1.1rem; margin: .2rem 0 0; accent-color: #ab1f50; }
.hb-birthday .hb-birthday-choice span { min-width: 0; }
.hb-birthday .hb-birthday-status { border-left: 3px solid #ab1f50; padding-left: .8rem; }
.hb-birthday .hb-birthday-privacy { margin-top: 1rem; font-size: .86rem; color: #544752; overflow-wrap: anywhere; }
.hb-birthday a { color: #922044; text-decoration: underline; text-underline-offset: .15em; }
.hb-birthday :is(a, select, input):focus-visible { outline: 3px solid #251b35; outline-offset: 3px; }
.hb-birthday-dashboard h2 { margin: 0 0 .7rem; }
.hb-birthday-dashboard a { display: inline-block; padding: .25rem 0; font-weight: 650; }
@media (max-width: 480px) {
  .hb-birthday { padding: 1rem; border-radius: .8rem; }
  .hb-birthday .hb-birthday-date { grid-template-columns: minmax(0, 1fr); gap: 0; }
}
@media print { .hb-birthday { border-color: #777; background: #fff; color: #000; } }
