/* ====== Awards List Modal (K02) ====== */
/* recognition "Award List" 버튼으로 열리는 오버레이 모달. 시안 1920 기준 vw 환산. */

.awards-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  background: rgba(0, 0, 0, 0.4);
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  height: 100%;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
  background: var(--color-white);
  padding-block: 1.5625vw;
}
.awards-modal.is-open {
  opacity: 1;
  visibility: visible;
}

.awards-modal__dialog {
  width: 94.792vw;
  height: 100%;
  margin-inline: auto;
}

/* 모달 열림 시 배경 스크롤 잠금 (html에 부여) */
.is-modal-open {
  overflow: hidden;
}

/* ----- 상단 바 (로고 / 닫기) ----- */
.awards-modal__close {
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  width: 2.604vw;
  height: 2.604vw;
  background-color: var(--color-grey-100);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.awards-modal__close svg {
  width: 1.458vw;
  height: 1.458vw;
}
.awards-modal__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.awards-modal__logo {
  display: inline-flex;
  color: var(--color-black);
  width: 6.9792vw;
  height: 2.8646vw;
}

.awards-modal__close {
  display: inline-flex;
  color: var(--color-black);
}
.awards-modal__close svg {
  width: 1.458vw; /* 28 */
  height: 1.458vw;
}

/* ----- 타이틀 ----- */
.awards-modal__title {
  margin-top: 6.25vw; /* 120 */
  font-size: 5.208vw; /* 100 */
  font-weight: 500;
  line-height: 1.2;
}

/* ----- Awards 섹션 ----- */
.awards {
  margin-top: 3.333vw; /* 64 */
}

.awards__heading {
  font-size: 1.667vw; /* 32 */
  font-weight: 400;
  line-height: 1.5;
}

.awards__list {
  margin: 2.083vw 0 0; /* 40 */
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--color-grey-200);
}

.award {
  border-bottom: 1px solid var(--color-grey-200);
}

/* ----- 어워드 행 (요약) ----- */
.award__summary {
  display: grid;
  grid-template-columns: 19.792vw 18.854vw 1fr auto; /* 아이콘 / 횟수 / 이름 / 토글 */
  align-items: center;
  width: 100%;
  padding: 2.604vw 0 2.604vw 2.604vw;
  background: none;
  border: 0;
  text-align: left;
  cursor: pointer;
  color: var(--color-black);
}

.award__icon {
  display: flex;
  align-items: center;
  width: 4.167vw; /* 80 */
  height: 4.167vw; /* 80 */
}
.award__icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.award__count {
  font-size: 3.333vw;
  font-weight: 500;
  line-height: 1.2;
}

.award__name {
  font-size: 2.083vw; /* 40 */
  font-weight: 400;
  line-height: 1;
}

.award__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.604vw;
  height: 2.604vw;
  background-color: var(--color-grey-100);
  border-radius: 50%;
}
.award__toggle-icon {
  width: 1.354vw; /* 26 */
  height: 1.354vw; /* 26 */
}
/* 닫힘: + / 열림: − */
.award__toggle-icon--minus {
  display: none;
}
.award.is-open .award__toggle-icon--plus {
  display: none;
}
.award.is-open .award__toggle-icon--minus {
  display: block;
}

/* ----- 펼침 패널 (grid 0fr→1fr 높이 트랜지션) ----- */
.award__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}
.award.is-open .award__panel {
  grid-template-rows: 1fr;
}
.award__panel-clip {
  overflow: hidden;
}

.award__panel-inner {
  display: flex;
  padding: 4.167vw 0 4.167vw 2.604vw;
  justify-content: center;
}

.award__thumb {
  width: 15.365vw;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--color-grey-100);
  margin: 0 5.521vw 0 0;
}
.award__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.award__entries {
  margin: 0;
  padding: 0;
  list-style: none;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.208vw; /* 4 */
  border-top: 1px solid var(--color-grey-200);
}

.award__entry {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.667vw;
  line-height: 1.5;
  color: var(--color-grey-400);
  height: 3.542vw; /* 68 */
  cursor: pointer;
  letter-spacing: 0.02em;
  transition: color 0.25s ease;
  border-bottom: 1px solid var(--color-grey-200);
}

.award__entry-meta {
  display: inline-flex;
  gap: 0.417vw; /* 8 — 연도 / 상태(Winner) 분리 간격 */
  white-space: nowrap;
  color: var(--color-grey-400);
  transition: color 0.25s ease;
}
.award__entry-year {
  width: 5.469vw; /* 105 */
}
/* hover 시 해당 항목 빨강 강조 */
.award__entry:hover,
.award__entry:hover .award__entry-meta {
  color: var(--color-key);
}

/* ----- 히어로 이미지 ----- */
.awards-modal__body {
  padding-bottom: 6.25vw; /* 120 */
}
.awards-modal__hero {
  margin: 6.25vw 0 0 0;
  width: 80.192vw;
  height: 53.472vw;
  margin-inline: auto;
}
.awards-modal__hero img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ====== 모바일 (≤1200px) ====== */
@media all and (max-width: 1200px) {
  .awards-modal {
    padding: 12px;
  }
  .awards-modal__dialog {
    padding: 20px 16px 32px;
  }
  .awards-modal__logo svg {
    width: 52px;
  }
  .awards-modal__close svg {
    width: 22px;
    height: 22px;
  }
  .awards-modal__title {
    margin-top: 28px;
    font-size: 30px;
  }
  .awards {
    margin-top: 28px;
  }
  .awards__heading {
    font-size: 13px;
  }
  .awards__list {
    margin-top: 12px;
  }
  .award__summary {
    grid-template-columns: 36px 40px 1fr auto;
    column-gap: 14px;
    padding: 16px 0;
  }
  .award__icon img {
    width: 32px;
  }
  .award__count {
    font-size: 22px;
  }
  .award__name {
    font-size: 15px;
  }
  .award__toggle-icon {
    width: 18px;
    height: 18px;
  }
  .award__panel-inner {
    grid-template-columns: 64px 1fr;
    column-gap: 14px;
    padding: 4px 0 20px;
  }
  .award__thumb {
    width: 64px;
    padding: 8px;
  }
  .award__entry {
    gap: 12px;
    font-size: 13px;
  }
  .awards-modal__hero {
    margin-top: 24px;
  }
}

@media screen and (max-width: 640px) {
  .awards-modal {
    padding: 0;
  }
  .awards-modal__dialog {
    width: 100%;
    padding: 0;
    margin: 0;
  }
  .awards-modal__bar {
    height: 11.196vw;
    display: flex;
    align-items: center;
    padding-inline: 4.071vw;
  }
  .awards-modal__logo {
    width: 17.534vw;
    height: 7vw;
  }
  .awards-modal__logo svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .awards-modal__close {
    background: transparent;
    width: 4.326vw;
    height: 4.326vw;
  }
  .awards-modal__close svg {
    width: 4.326vw;
    height: 4.326vw;
  }
  .awards-modal__body {
    padding-inline: 4.071vw;
    box-sizing: border-box;
  }
  .awards-modal__title {
    margin-top: 5.089vw;
    font-size: 7.125vw;
  }
  .awards__heading {
    font-size: 3.562vw;
  }
  .awards__list {
    margin-top: 2.036vw;
  }
  .award__summary {
    padding-block: 5.344vw;
    grid-template-columns: 8.142vw 10.687vw 1fr auto;
    gap: 0;
  }
  .award__icon {
    width: 5.089vw;
    height: 5.089vw;
  }
  .award__count {
    font-size: 4.58vw;
  }
  .award__name {
    font-size: 4.071vw;
  }
  .award__toggle {
    width: 6.107vw;
    height: 6.107vw;
  }
  .award__toggle-icon {
    width: 3.562vw;
  }
  .awards-modal__body {
    padding-bottom: 10.178vw;
  }
  .awards-modal__hero {
    margin-top: 15.267vw;
    width: 100%;
    aspect-ratio: 361 / 209;
    height: auto;
  }
  .award__thumb {
    display: none;
  }
  .award__entry {
    height: auto;
    padding-block: 2.036vw;
    font-size: 3.562vw;
  }
  .award__entry:last-child {
    border: none;
  }
  .award__panel-inner {
    padding: 0;
  }

  .award__entry-meta {
    gap: 0.891vw;
  }
  .award__entry-year {
    width: 8.651vw;
  }
  award__entry-status {
    width: 11.196vw;
  }
}
