/* =========================================================
   歴代受賞作品アーカイブ専用スタイル（archive.html）
   写真＋テキストベースのシンプルなエディトリアル調。
   配色は新キッズサイトに準拠:
     紺 #1d2087 / オレンジ #ea5504 / 青 #0088db / 文字 #231815
   ========================================================= */

.archive {
  max-width: 1080px;
  margin: 40px auto 80px;
  padding: 56px 48px 72px;
  background: #fff;
  color: #231815;
}
@media screen and (max-width: 743px) {
  .archive {
    margin: 16px 12px 56px;
    padding: 32px 20px 48px;
  }
}

/* ---------- ヘッダー ---------- */
.archive__head {
  text-align: left;
  margin-bottom: 48px;
}
.archive__head::before {
  content: "ARCHIVE";
  display: block;
  font-size: 1.1rem;
  font-weight: bold;
  letter-spacing: 0.35em;
  color: #ea5504;
  margin-bottom: 10px;
}
.archive__ttl {
  font-size: 2.6rem;
  font-weight: bold;
  color: #231815;
  line-height: 1.3;
  letter-spacing: 0.06em;
}
.archive__lead {
  margin-top: 10px;
  font-size: 1.3rem;
  color: #767676;
  line-height: 1.8;
}

/* ---------- 年度ナビ ---------- */
.archive__years {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 18px;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid #e3e3e3;
}
.archive__year {
  display: inline-block;
  padding: 4px 1px;
  font-size: 1.35rem;
  font-weight: bold;
  color: #9b9b9b;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  letter-spacing: 0.04em;
  transition: color .2s;
}
.archive__year:hover {
  color: #1d2087;
}
.archive__year.is-active {
  color: #ea5504;
  border-bottom-color: #ea5504;
}

/* ---------- 件数・ローディング ---------- */
.archive__count {
  font-size: 1.3rem;
  font-weight: bold;
  color: #231815;
  letter-spacing: 0.06em;
  margin: 8px 0 0;
}
.archive__count span {
  margin-left: 0.75em;
  color: #ea5504;
}
.archive__loading {
  padding: 60px 0;
  font-size: 1.4rem;
  color: #767676;
}

/* ---------- セクション（部門・賞） ---------- */
.aw-sec {
  margin-top: 56px;
}
.aw-sec__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 14px;
  padding: 0 0 12px 14px;
  border-bottom: 1px solid #e3e3e3;
  border-left: 4px solid #ea5504;
  margin-bottom: 28px;
}
.aw-sec__num {
  font-size: 1.4rem;
  font-weight: bold;
  color: #ea5504;
  letter-spacing: 0.08em;
}
.aw-sec__ttl {
  font-size: 1.9rem;
  font-weight: bold;
  color: #231815;
  letter-spacing: 0.08em;
  line-height: 1.3;
}
.aw-sec__judge {
  font-size: 1.15rem;
  color: #9b9b9b;
  line-height: 1.6;
  margin-left: auto;
}
@media screen and (max-width: 743px) {
  .aw-sec { margin-top: 44px; }
  .aw-sec__judge {
    margin-left: 0;
    width: 100%;
  }
}

/* ---------- 作品グリッド ---------- */
.aw-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 44px 28px;
}
@media screen and (max-width: 743px) {
  .aw-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px 14px;
  }
}

/* ---------- カード ---------- */
.aw-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* 作品画像。欠落分はグレーバックで埋める */
.aw-card__img {
  aspect-ratio: 4 / 3;
  background: #ececec;
  overflow: hidden;
  margin-bottom: 14px;
}
.aw-card__img picture,
.aw-card__img img {
  display: block;
  width: 100%;
  height: 100%;
}
.aw-card__img img {
  object-fit: contain;
}
.aw-card__img.is-empty {
  display: flex;
  align-items: center;
  justify-content: center;
}
.aw-card__img.is-empty picture { display: none; }
.aw-card__img.is-empty::after {
  content: "NO IMAGE";
  font-size: 1.1rem;
  font-weight: bold;
  letter-spacing: 0.25em;
  color: #b5b5b5;
}

.aw-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.aw-card__award {
  font-size: 1.05rem;
  font-weight: bold;
  letter-spacing: 0.12em;
  color: #1d2087;
  margin-bottom: 6px;
}
.aw-card__award.is-grand {
  color: #ea5504;
}

.aw-card__ttl {
  font-size: 1.45rem;
  font-weight: bold;
  line-height: 1.5;
  color: #231815;
  margin-bottom: 6px;
}
.aw-card__sub {
  font-size: 1.15rem;
  line-height: 1.6;
  color: #767676;
  margin-bottom: 8px;
}
.aw-card__meta {
  font-size: 1.2rem;
  line-height: 1.6;
  color: #231815;
  margin-bottom: 8px;
}
.aw-card__meta span {
  display: block;
  font-size: 1.1rem;
  color: #9b9b9b;
}

.aw-card__links {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  margin-bottom: 8px;
}
.aw-card__links a {
  font-size: 1.15rem;
  color: #0088db;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.aw-card__links a:hover {
  opacity: 0.7;
}

/* ---------- 審査員コメント（折りたたみ） ---------- */
.aw-card__comment {
  margin-top: auto;
  border-top: 1px solid #e3e3e3;
  padding-top: 8px;
}
.aw-card__comment summary {
  list-style: none;
  cursor: pointer;
  font-size: 1.15rem;
  font-weight: bold;
  color: #1d2087;
  padding: 2px 0;
}
.aw-card__comment summary::-webkit-details-marker { display: none; }
.aw-card__comment summary::before {
  content: "＋";
  margin-right: 6px;
  color: #ea5504;
  font-weight: bold;
}
.aw-card__comment[open] summary::before {
  content: "－";
}
.aw-card__comment p {
  font-size: 1.15rem;
  line-height: 1.9;
  color: #4b4b4b;
  background: #f7f7f7;
  padding: 10px 12px;
  margin-top: 6px;
}
