.september-notice {
  width: min(29rem, calc(100% - var(--space-8)));
  max-height: calc(100dvh - var(--space-8));
  margin: auto;
  padding: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: var(--border-thin);
  border-radius: var(--radius-panel);
  background: var(--ivory-0);
  color: var(--ink-900);
  font-family: var(--font-body);
  box-shadow: var(--shadow-raised);
}
.september-notice::backdrop { background: var(--overlay); }
.september-notice-open { overflow: hidden; }
.september-notice__body { padding: var(--space-8) var(--space-6) var(--space-6); }
.september-notice__brand { margin: 0 0 var(--space-6); color: var(--wine-700); font: var(--font-eyebrow) var(--font-editorial-latin); letter-spacing: .22em; }
.september-notice__heading { display: flex; align-items: end; justify-content: space-between; gap: var(--space-4); border-bottom: var(--border-thin); padding-bottom: var(--space-5); }
.september-notice__heading h2 { margin: 0; font-size: var(--font-h3); font-weight: 400; line-height: 1.3; }
.september-notice__heading p { margin: 0 0 var(--space-2); font-size: var(--font-small); color: var(--ink-600); }
.september-notice__month { color: var(--wine-700); font: var(--font-h2) var(--font-editorial-latin); line-height: 1; }
.september-notice table { width: 100%; margin: var(--space-5) 0; border-collapse: collapse; table-layout: fixed; text-align: center; }
.september-notice th { font-size: var(--font-small); font-weight: 400; color: var(--ink-600); padding-bottom: var(--space-3); }
.september-notice td { height: var(--space-12); font: var(--font-body-lg) var(--font-editorial-latin); }
.september-notice td span { display: inline-grid; place-items: center; width: var(--space-10); height: var(--space-10); }
.september-notice .is-closed span { background: var(--wine-700); color: var(--ivory-0); border-radius: var(--radius-round); }
.september-notice .is-sunday, .september-notice th:first-child { color: var(--wine-600); }
.september-notice__details { padding: var(--space-4); background: var(--ivory-50); border-radius: var(--radius-control); font-size: var(--font-small); line-height: 1.7; }
.september-notice__details p { margin: 0; }
.september-notice__details strong { font-weight: 400; color: var(--wine-700); }
.september-notice__note { margin: var(--space-5) 0 0; font-size: var(--font-small); color: var(--ink-600); line-height: 1.65; word-break: keep-all; text-align: center; }
.september-notice__actions {
  display: grid;
  grid-template-columns: minmax(max-content, 1fr) minmax(0, 1fr);
  gap: var(--space-3);
  padding: 0 var(--space-6) var(--space-6);
}
.september-notice__actions button {
  min-width: var(--control-height);
  min-height: var(--control-height);
  padding: var(--space-2) var(--space-3);
  border: var(--border-thin);
  border-radius: var(--radius-control);
  background: var(--ivory-50);
  color: var(--ink-600);
  font: inherit;
  font-size: var(--font-small);
  line-height: 1.4;
  white-space: nowrap;
  cursor: pointer;
}
.september-notice__actions [data-notice-close] {
  border-color: var(--wine-700);
  background: var(--wine-700);
  color: var(--ivory-0);
}
.september-notice__actions button:hover { background: var(--ivory-100); }
.september-notice__actions [data-notice-close]:hover { border-color: var(--wine-600); background: var(--wine-600); }
.september-notice__actions button:active { color: var(--ink-900); }
.september-notice__actions [data-notice-close]:active { border-color: var(--wine-850); background: var(--wine-850); color: var(--ivory-0); }
.september-notice__actions button:focus-visible { outline: var(--focus-ring) solid var(--key-700); outline-offset: var(--focus-separation); }
@media (max-width: 30rem) {
  .september-notice__actions { gap: var(--space-2); padding: 0 var(--space-4) var(--space-4); }
  .september-notice td span { width: var(--space-8); height: var(--space-8); }
}
