.post-type-archive-notice .ab-search-bar, .single-notice .ab-search-bar { display: none; }
.ab-notice-shell { width: min(900px, calc(100% - 32px)); margin: 32px auto 64px; }
.ab-notice-heading { margin-bottom: 22px; }
.ab-notice-heading h1 { margin: 0 0 8px; color: #312b27; font-size: clamp(28px, 4vw, 40px); }
.ab-notice-heading p { margin: 0; color: #766d67; }
.ab-notice-list { overflow: hidden; margin: 0; padding: 0; border: 1px solid #eadfd5; border-radius: 18px; background: #fff; list-style: none; }
.ab-notice-item + .ab-notice-item { border-top: 1px solid #eee5dd; }
.ab-notice-item a { display: flex; align-items: center; gap: 12px; padding: 20px 22px; color: #342d29; text-decoration: none; }
.ab-notice-item a:hover, .ab-notice-item a:focus-visible { background: #fff8f2; }
.ab-notice-item-title { flex: 1; min-width: 0; font-weight: 700; }
.ab-notice-important { flex: 0 0 auto; padding: 4px 9px; border-radius: 999px; background: #fff0e4; color: #c45222; font-size: 12px; font-weight: 800; }
.ab-notice-date { flex: 0 0 auto; color: #8a817a; font-size: 13px; }
.ab-notice-empty { padding: 56px 20px; border: 1px dashed #dfd3ca; border-radius: 18px; background: #fff; color: #776d66; text-align: center; }
.ab-notice-back { display: inline-block; margin-bottom: 18px; color: #c45f2d; font-weight: 700; text-decoration: none; }
.ab-notice-card { padding: clamp(24px, 5vw, 52px); border: 1px solid #eadfd5; border-radius: 20px; background: #fff; }
.ab-notice-language-switch { display: flex; gap: 10px; margin: 18px 0 28px; }
.ab-notice-language-button { min-width: 104px; min-height: 44px; padding: 9px 18px; border: 2px solid #d7b99e; border-radius: 999px; background: #fff; color: #9e5e32; font: inherit; font-weight: 800; cursor: pointer; }
.ab-notice-language-button.active { border-color: #df7e50; background: #df7e50; color: #fff; }
.ab-notice-language-panel[hidden] { display: none; }
.ab-notice-card h1 { margin: 10px 0; color: #2f2925; font-size: clamp(28px, 4vw, 42px); }
.ab-notice-meta { margin-bottom: 30px; color: #8a817a; font-size: 14px; }
.ab-notice-content { color: #423a35; font-size: 16px; line-height: 1.85; }
.ab-notice-content p { margin: 0 0 1.25em; }
.ab-notice-section-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-top: 12px; padding: 10px 20px; border-radius: 999px; background: #816db4; color: #fff; font-weight: 800; text-decoration: none; }
.ab-notice-section-link:hover, .ab-notice-section-link:focus-visible { background: #6f5aa5; color: #fff; }
.ab-notice-banner { display: flex; align-items: center; gap: 10px; width: min(1180px, calc(100% - 32px)); margin: 14px auto 0; padding: 12px 16px; border: 1px solid #f0c6ae; border-radius: 12px; background: #fff5ed; color: #4f382b; }
.ab-notice-banner-title { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ab-notice-banner a { flex: 0 0 auto; color: #c45222; font-weight: 800; text-decoration: none; }
.ab-notice-unread-dot { display: inline-block; width: 8px; height: 8px; margin-left: 6px; border-radius: 50%; background: #e53935; box-shadow: 0 0 0 2px #fff; vertical-align: 1px; }
@media (max-width: 600px) {
  .ab-notice-shell { width: min(100% - 20px, 900px); margin-top: 20px; }
  .ab-notice-item a { align-items: flex-start; flex-wrap: wrap; padding: 17px 16px; }
  .ab-notice-date { width: 100%; }
  .ab-notice-banner { align-items: flex-start; flex-wrap: wrap; width: calc(100% - 20px); }
  .ab-notice-banner-title { flex-basis: calc(100% - 40px); }
}
