/* Notices list: based on docs/ref/새 디자인/notices-redesign.html. */
.fa-notices-content {
  padding-top:3.5rem;
  padding-bottom:7rem;
}
.fa-notices-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem 2rem;
  margin-bottom:1.75rem;
}
.fa-notice-filters {
  display:inline-flex;
  padding:.25rem;
  border:1px solid var(--line);
  border-radius:.75rem;
  background:var(--surface-2);
}
.fa-notice-filter {
  min-width:4.25rem;
  padding:.5625rem .875rem;
  border-radius:.5rem;
  color:var(--muted);
  font-size:.8125rem;
  font-weight:750;
  text-align:center;
  text-decoration:none;
}
.fa-notice-filter:hover { color:var(--ink); }
.fa-notice-filter[aria-current="page"] {
  color:#fff;
  background:var(--ink);
  box-shadow:0 .25rem .75rem rgba(15,16,18,.12);
}
.fa-notices-write {
  color:#fff;
  background:var(--ink);
  border-color:var(--ink);
}
.fa-notices-write:hover {
  color:#fff;
  background:#24252a;
}
.fa-notice-list { border-top:1px solid var(--ink); }
.fa-notice-row {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 3rem;
  gap:1.5rem;
  align-items:center;
  min-height:10.25rem;
  padding:1.75rem .25rem;
  color:var(--ink);
  border-bottom:1px solid var(--line);
  text-decoration:none;
  transition:background-color .2s,padding-left .2s,padding-right .2s;
}
.fa-notice-row:hover {
  padding-left:1rem;
  padding-right:1rem;
  color:var(--ink);
  background:var(--surface-2);
}
.fa-notice-copy { min-width:0; }
.fa-notice-category {
  display:inline-flex;
  width:max-content;
  margin-bottom:.875rem;
  padding:.375rem .625rem;
  border-radius:999px;
  color:#65666e;
  background:var(--surface);
  font-size:.6875rem;
  font-weight:800;
  line-height:1;
  letter-spacing:.04em;
}
.fa-notice-category.is-notice {
  color:var(--brand);
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(231,72,48,.18);
}
.fa-notice-copy h2 {
  margin:0;
  color:var(--ink);
  font-size:clamp(1.25rem,2.3vw,1.75rem);
  line-height:1.3;
  letter-spacing:-.035em;
}
.fa-notice-copy p {
  margin:.625rem 0 0;
  color:var(--muted);
  font-size:.9375rem;
  line-height:1.7;
}
.fa-notice-arrow {
  width:2.5rem;
  height:2.5rem;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  color:var(--muted);
  font-size:1rem;
  transition:color .2s,border-color .2s,transform .2s;
}
.fa-notice-row:hover .fa-notice-arrow {
  color:var(--brand);
  border-color:var(--brand);
  transform:translateX(.25rem);
}
.fa-notice-row:focus-visible {
  z-index:1;
  outline:.1875rem solid var(--brand);
  outline-offset:.25rem;
}
.fa-notices-empty {
  padding:5rem 0;
  color:var(--muted);
  text-align:center;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--line);
}
.fa-notices-empty p { margin:0; font-weight:700; }
.fa-notices-pagination {
  display:flex;
  justify-content:center;
  gap:.375rem;
  margin-top:3rem;
}
.fa-notices-pagination a,
.fa-notices-pagination span {
  width:2.5rem;
  height:2.5rem;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:.625rem;
  color:var(--muted);
  font-size:.8125rem;
  font-weight:750;
  text-decoration:none;
}
.fa-notices-pagination a:hover { color:var(--ink);border-color:var(--ink); }
.fa-notices-pagination [aria-current="page"] {
  color:#fff;
  background:var(--ink);
  border-color:var(--ink);
}
.fa-notices-pagination .is-disabled {
  opacity:.35;
  pointer-events:none;
}
@media(max-width:47.5rem) {
  .fa-notices-content {
    padding-top:2.5rem;
    padding-bottom:4rem;
  }
  .fa-notices-toolbar {
    align-items:stretch;
    flex-wrap:wrap;
  }
  .fa-notices-write { margin-left:auto; }
  .fa-notice-row {
    grid-template-columns:minmax(0,1fr) 2.5rem;
    gap:1rem;
    min-height:0;
    padding:1.5rem 0;
  }
  .fa-notice-row:hover {
    padding-left:.75rem;
    padding-right:.75rem;
  }
  .fa-notice-copy h2 { font-size:1.25rem; }
  .fa-notice-copy p { font-size:.875rem; }
}
@media(prefers-reduced-motion:reduce) {
  .fa-notice-row,
  .fa-notice-arrow { transition:none; }
}
