.registration-window-notice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .42fr);
  gap: 24px;
  margin: 24px auto;
  padding: clamp(20px, 3vw, 32px);
  width: min(100% - 40px, 1240px);
  border: 1px solid #e4ccd0;
  border-left: 4px solid #85142a;
  border-radius: 16px;
  background: #fff9fa;
  color: #35252b;
  box-sizing: border-box;
  scroll-margin-top: 150px;
}
.portal-section > .registration-window-notice { width: 100%; margin: 0 0 28px; }
.registration-window-notice .registration-window-label { margin: 0 0 8px; color: #85142a; font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.registration-window-notice h2 { margin: 0 0 12px; font: inherit; font-size: clamp(1.25rem, 2.5vw, 1.65rem); font-weight: 700; line-height: 1.3; letter-spacing: normal; }
.registration-window-notice p { margin: 8px 0 0; font-size: 1rem; line-height: 1.6; }
.registration-window-notice .registration-window-place { font-size: .9rem; }
.registration-window-notice .registration-window-hours { display: grid; align-content: center; gap: 0; margin: 0; padding: 0; list-style: none; }
.registration-window-hours li { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 11px 0; border-bottom: 1px solid #e4ccd0; font-size: .95rem; line-height: 1.4; }
.registration-window-hours li:last-child { border-bottom: 0; }
.registration-window-hours strong { color: #85142a; font-variant-numeric: tabular-nums; white-space: nowrap; }
.registration-unavailable, .registration-unavailable:hover { opacity: .65; cursor: not-allowed; text-decoration: none; }
@media (max-width: 700px) {
  .registration-window-notice { grid-template-columns: minmax(0, 1fr); gap: 12px; width: calc(100% - 28px); border-radius: 12px; }
  .registration-window-notice p { font-size: 1rem; }
  .registration-window-hours li { padding: 9px 0; }
}
