/* 소장자료 목록·상세·기증자 */
.kofa-collection-holdings { letter-spacing: var(--kofa-letter-spacing-base); }
/* 레이아웃·상단은 공용 kofa-sub-layout. 정적 안내 PC 제목 아래 24, 영화 제출 64(3436:85987·87077). T/M 시안이 없어 좁은 폭은 공용 기본값. */
.kofa-collection-holdings--static { --kofa-sub-layout-header-gap: 24px; }
@media (max-width: 1279px) { .kofa-collection-holdings--static { --kofa-sub-layout-header-gap: initial; } }
@media (max-width: 1279px) { .kofa-collection-holdings--donation-guide { --kofa-sub-layout-header-gap: 40px; } }
@media (max-width: 599px) { .kofa-collection-holdings--donation-guide { --kofa-sub-layout-header-gap: 24px; } }
/* 구매 T 제목·메뉴 다음 40, M 24(3956:130800·131046) */
@media (max-width: 1279px) { .kofa-collection-holdings--purchase { --kofa-sub-layout-header-gap: 40px; } }
@media (max-width: 599px) { .kofa-collection-holdings--purchase { --kofa-sub-layout-header-gap: 24px; } }
@media (max-width: 1279px) { .kofa-collection-holdings--consignment { --kofa-sub-layout-header-gap: 40px; } }
@media (max-width: 599px) { .kofa-collection-holdings--consignment { --kofa-sub-layout-header-gap: 24px; } }
@media (max-width: 1279px) { .kofa-collection-holdings--copy { --kofa-sub-layout-header-gap: 40px; } }
@media (max-width: 599px) { .kofa-collection-holdings--copy { --kofa-sub-layout-header-gap: 24px; } }
@media (max-width: 1279px) { .kofa-collection-holdings--research-viewing { --kofa-sub-layout-header-gap: 40px; } }
@media (max-width: 599px) { .kofa-collection-holdings--research-viewing { --kofa-sub-layout-header-gap: 24px; } }
@media (max-width: 1279px) { .kofa-collection-holdings--rental { --kofa-sub-layout-header-gap: 40px; } }
@media (max-width: 599px) { .kofa-collection-holdings--rental { --kofa-sub-layout-header-gap: 24px; } }
@media (max-width: 1279px) { .kofa-collection-holdings--copyright-brokerage { --kofa-sub-layout-header-gap: 40px; } }
@media (max-width: 599px) { .kofa-collection-holdings--copyright-brokerage { --kofa-sub-layout-header-gap: 24px; } }
.kofa-collection-holdings--film-submission { --kofa-sub-layout-header-gap: 64px; }
@media (max-width: 1279px) { .kofa-collection-holdings--film-submission { --kofa-sub-layout-header-gap: 40px; } }
@media (max-width: 599px) { .kofa-collection-holdings--film-submission { --kofa-sub-layout-header-gap: 24px; } }
/* 상세 Tablet: breadcrumb→현재 메뉴 24, 현재 메뉴→요약 40(3811:8159). */
@media (max-width: 1279px) { .kofa-collection-holdings--detail { --kofa-sub-layout-header-gap: 24px; } }
.kofa-collection-detail__heading { margin-bottom: 24px; }
/* 현재 메뉴 아래 margin(24)과 상쇄돼 40이 된다. */
@media (max-width: 1279px) { .kofa-collection-detail__heading { margin-top: 40px; margin-bottom: 40px; } }
@media (max-width: 599px) { .kofa-collection-detail__heading { margin-top: 0; margin-bottom: 24px; } }
.kofa-collection-detail__summary { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-block: 20px; border-block: 1px solid var(--kofa-color-border-default); background: var(--kofa-color-surface-white); }
.kofa-collection-detail__badge { width: 44px; }
@media (max-width: 1279px) { .kofa-collection-detail__badge { width: 53px; } }
.kofa-collection-detail__information { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; width: 100%; min-width: 0; }
.kofa-collection-detail__title-row { display: flex; align-items: center; gap: 24px; width: 100%; }
@media (max-width: 599px) { .kofa-collection-detail__title-row { flex-direction: column; align-items: stretch; gap: 16px; } }
.kofa-collection-detail__title-facts { display: flex; flex: 1; flex-direction: column; gap: 12px; min-width: 0; }
.kofa-collection-detail__movie-link { width: 228px; }
@media (max-width: 599px) { .kofa-collection-detail__movie-link { width: 100%; } }
.kofa-collection-detail__external-mark { font-weight: var(--kofa-font-weight-regular); }
@media (max-width: 1279px) { .kofa-collection-detail__external-mark { font-weight: inherit; } }
.kofa-collection-detail__title { margin: 0; font-size: var(--kofa-typo-headline-5-size); font-weight: var(--kofa-font-weight-bold); line-height: 1.5; }
@media (max-width: 1279px) { .kofa-collection-detail__title { font-size: var(--kofa-typo-headline-4-size); } }
.kofa-collection-detail__facts { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; font-size: var(--kofa-typo-body-4-size); line-height: 1.5; }
@media (max-width: 599px) { .kofa-collection-detail__facts { flex-direction: column; align-items: flex-start; gap: 8px; } }
.kofa-collection-detail__fact { display: flex; align-items: center; gap: 12px; }
.kofa-collection-detail__fact strong { font-weight: var(--kofa-font-weight-semibold); }
@media (max-width: 599px) { .kofa-collection-detail__fact strong { flex-shrink: 0; min-width: 58px; } }
.kofa-collection-detail__divider { height: 18px; border-left: 1px solid var(--kofa-color-border-default); }
@media (max-width: 599px) { .kofa-collection-detail__divider { display: none; } }
.kofa-collection-detail__editor { width: 100%; }
.kofa-collection-detail__related-layout { padding-block: 40px; margin-top: 32px; }
@media (max-width: 1279px) { .kofa-collection-detail__related-layout { padding-block: 0; margin-top: 64px; } }
@media (max-width: 599px) { .kofa-collection-detail__related-layout { margin-top: 48px; } }
.kofa-collection-detail__related-layout--costume { margin-top: 64px; }
@media (max-width: 599px) { .kofa-collection-detail__related-layout--costume { margin-top: 48px; } }
.kofa-collection-detail__related { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding: 20px 24px; border: 1px solid var(--kofa-color-border-default); border-radius: 16px; background: var(--kofa-color-surface-white); }
@media (max-width: 1279px) { .kofa-collection-detail__related { padding-block: 16px; border: 0; box-shadow: inset 0 0 0 1px var(--kofa-color-border-default); } }
@media (max-width: 599px) { .kofa-collection-detail__related { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: 16px 12px; padding: 16px; } }
.kofa-collection-detail__related p { flex: 1; margin: 0; font-size: var(--kofa-typo-headline-2-size); font-weight: var(--kofa-font-weight-bold); line-height: 1.5; }
@media (max-width: 1279px) { .kofa-collection-detail__related p { font-size: var(--kofa-typo-body-4-size); font-weight: var(--kofa-font-weight-regular); } }
/* Mobile 시안 문구 줄바꿈(3811:8283). */
.kofa-collection-detail__related-break { display: none; }
@media (max-width: 599px) { .kofa-collection-detail__related-break { display: inline; } }
.kofa-collection-detail__actions { display: flex; flex-wrap: wrap; gap: 16px; }
/* Mobile: 시안(3811:8284)은 안내 보기를 위, KMDb 검색을 아래에 둔다. 읽기 순서는 desktop DOM 순서를 유지한다. */
@media (max-width: 599px) { .kofa-collection-detail__actions { grid-column: 1 / -1; flex-direction: column-reverse; gap: 12px; } }
@media (max-width: 1279px) { .kofa-collection-detail__actions .kofa-button--outline { width: 132px; } }
@media (max-width: 599px) { .kofa-collection-detail__actions .kofa-button--outline { width: 100%; } }
@media (max-width: 1279px) { .kofa-collection-detail__actions .kofa-button--primary { width: 129px; } }
@media (max-width: 599px) { .kofa-collection-detail__actions .kofa-button--primary { width: 100%; } }
.kofa-collection-detail__adjacent { margin-top: 24px; }
@media (max-width: 1279px) { .kofa-collection-detail__adjacent { margin-top: 40px; } }
@media (max-width: 599px) { .kofa-collection-detail__adjacent { margin-top: 24px; } }
.kofa-collection-detail__row { display: grid; grid-template-columns: 120px minmax(0, 1fr); }
@media (max-width: 599px) { .kofa-collection-detail__row { grid-template-columns: 88px minmax(0, 1fr); } }
.kofa-collection-detail__row a { color: inherit; text-decoration: none; }
.kofa-collection-detail__adjacent-label { font-weight: var(--kofa-font-weight-bold); }
.kofa-collection-detail__adjacent-empty { color: var(--kofa-color-text-02); }
.kofa-collection-detail__list { display: flex; justify-content: center; margin-top: 64px; }
@media (max-width: 599px) { .kofa-collection-detail__list { margin-top: 32px; } }
.kofa-collection-detail__list .kofa-button { width: 160px; }
.kofa-collection-donors__filter { display: flex; flex-direction: column; gap: 12px; padding: 24px; border: 0; border-radius: 16px; box-shadow: inset 0 0 0 1.5px var(--kofa-color-border-primary); }
@media (max-width: 599px) { .kofa-collection-donors__filter { gap: 16px; padding: 20px 16px; } }
.kofa-collection-donors__search { display: flex; align-items: center; gap: 20px; padding-block: 8px; }
@media (max-width: 599px) { .kofa-collection-donors__search { flex-direction: column; align-items: stretch; gap: 8px; padding-block: 0; } }
.kofa-collection-donors__search label { flex: 0 0 80px; font-size: var(--kofa-typo-body-4-size); font-weight: var(--kofa-font-weight-semibold); line-height: 1.5; }
@media (max-width: 599px) { .kofa-collection-donors__search label { flex-basis: auto; } }
.kofa-collection-donors__search-actions { display: flex; flex: 1; align-items: center; gap: 8px; min-width: 0; }
.kofa-collection-donors__search-actions .kofa-text-field { flex: 1; min-width: 0; }
/* 3827:11250·12338: 연대·연도 줄 높이 64(위아래 10). */
.kofa-collection-donors__filter-row { display: flex; align-items: flex-start; gap: 12px; padding-block: 10px; }
@media (max-width: 599px) { .kofa-collection-donors__filter-row { flex-direction: column; align-items: stretch; gap: 8px; padding-block: 0; } }
.kofa-collection-donors__filter-row strong { flex: 0 0 88px; padding-block: 10px; font-size: var(--kofa-typo-body-4-size); font-weight: var(--kofa-font-weight-semibold); line-height: 1.5; }
@media (max-width: 599px) { .kofa-collection-donors__filter-row strong { flex-basis: auto; padding-block: 0; } }
.kofa-collection-donors__filter-row .kofa-chip-list { flex: 1; min-width: 0; }
.kofa-collection-donors__results { margin-top: 32px; }
@media (max-width: 599px) { .kofa-collection-donors__results { margin-top: 24px; } }
/* Mobile 3827:11768: 표 머리 없이 위 2px 선 + 기증자별 세로 메타(행 20 8, 이름 18/700, 라벨·값 간격 8). */
@media (max-width: 599px) { .kofa-collection-donors__table { border-top: 2px solid var(--kofa-color-border-primary); } }
.kofa-collection-donors__row { display: grid; grid-template-columns: minmax(0, 240fr) minmax(0, 520fr) minmax(0, 220fr); }
@media (max-width: 599px) { .kofa-collection-donors__row { display: flex; flex-direction: column; gap: 8px; padding: 20px 8px; border-bottom: 1px solid var(--kofa-color-border-default); } }
@media (max-width: 599px) { .kofa-collection-donors__row--head { display: none; } }
.kofa-collection-donors__row .kofa-table-cell { padding-block: 16px; }
@media (max-width: 599px) { .kofa-collection-donors__row .kofa-table-cell { justify-content: flex-start; gap: 8px; padding: 0; border-bottom: 0; text-align: start; } }
@media (max-width: 599px) { .kofa-collection-donors__row .kofa-table-cell:first-child { margin-bottom: 4px; } }
.kofa-collection-donors__label { display: none; }
@media (max-width: 599px) { .kofa-collection-donors__label { display: block; align-self: flex-start; flex-shrink: 0; min-width: 58px; font-weight: var(--kofa-font-weight-semibold); } }
.kofa-collection-donors__value { min-width: 0; overflow-wrap: anywhere; }
.kofa-collection-donors__name { min-width: 0; padding: 0; border: 0; color: var(--kofa-color-text-success); background: transparent; font: inherit; font-weight: var(--kofa-font-weight-semibold); letter-spacing: var(--kofa-letter-spacing-base); overflow-wrap: anywhere; cursor: pointer; }
@media (max-width: 599px) { .kofa-collection-donors__name { font-size: var(--kofa-typo-body-5-size); font-weight: var(--kofa-font-weight-bold); line-height: 1.5; text-align: start; } }
.kofa-collection-donors__name--anchor { anchor-name: --donor-cumulative; }
.kofa-collection-donors__skeleton-line { color: transparent; background: var(--kofa-color-gray-100); border-radius: var(--kofa-radius-4); }
.kofa-collection-donors__pagination { margin-top: 24px; padding-top: 16px; }
.kofa-collection-donors__guide { margin-top: 64px; }
@media (max-width: 599px) { .kofa-collection-donors__guide { margin-top: 48px; } }
.kofa-collection-donors__banner { display: flex; flex-direction: column; align-items: center; gap: 16px; margin-top: 24px; padding: 32px 24px; border-radius: 16px; background: var(--kofa-color-text-01); }
.kofa-collection-donors__banner p { margin: 0; color: white; text-align: center; font-size: var(--kofa-typo-headline-3-size); font-weight: var(--kofa-font-weight-bold); line-height: 1.5; }
@media (max-width: 599px) { .kofa-collection-donors__banner p { font-size: var(--kofa-typo-headline-2-size); } }
@media (max-width: 599px) { .kofa-collection-donors__banner .kofa-button { width: 100%; } }
/* 누적 툴팁: PC 이름 left-176(3436:86632), Tablet 콘텐츠 왼쪽 40·400(3862:11338), Mobile 16·343(3862:11481). 위치는 이름 아래 3px. */
.kofa-collection-donors__tooltip { position: absolute; position-anchor: --donor-cumulative; inset: auto; top: calc(anchor(bottom) + 3px); left: max(var(--kofa-layout-safe-gutter), calc(anchor(left) - 176px)); margin: 0; box-sizing: border-box; width: min(400px, calc(100% - var(--kofa-layout-safe-gutter) * 2)); padding: 0; border: 1px solid var(--kofa-color-border-primary); border-radius: 16px; color: var(--kofa-color-text-01); overflow: hidden; }
.kofa-collection-donors__tooltip-header { display: flex; align-items: center; gap: 8px; padding: 10px 24px; background: var(--kofa-color-surface-gray-subtle); font-size: var(--kofa-typo-body-3-size); line-height: 1.5; }
@media (max-width: 599px) { .kofa-collection-donors__tooltip-header { padding-inline: 20px; } }
.kofa-collection-donors__tooltip-header strong { font-size: var(--kofa-typo-body-4-size); font-weight: var(--kofa-font-weight-semibold); }
.kofa-collection-donors__tooltip-header button { position: relative; display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; margin-left: auto; padding: 0; border: 0; background: transparent; }
.kofa-collection-donors__tooltip-header button::before { position: absolute; inset: -10px; content: ""; }
.kofa-collection-donors__tooltip-details { padding: 24px; }
@media (max-width: 599px) { .kofa-collection-donors__tooltip-details { padding: 24px 20px; } }
.kofa-collection-donors__tooltip-title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 16px; }
.kofa-collection-donors__tooltip-title h3 { min-width: 0; max-width: 100%; margin: 0; font-size: var(--kofa-typo-headline-4-size); font-weight: var(--kofa-font-weight-bold); line-height: 1.5; overflow-wrap: anywhere; }
@media (max-width: 1279px) { .kofa-collection-donors__tooltip-title h3 { font-size: var(--kofa-typo-headline-compact-size); } }
.kofa-collection-donors__tooltip-title span { flex-shrink: 0; font-size: var(--kofa-typo-body-4-size); line-height: var(--kofa-line-height-base); }
.kofa-collection-donors__total-row { display: grid; grid-template-columns: minmax(0, 240fr) minmax(0, 112fr); }

/* 소장자료관 목록 */
.kofa-collection-list { display: flex; flex-direction: column; gap: 32px; }
@media (max-width: 599px) { .kofa-collection-list { gap: 24px; } }
.kofa-collection-list__search { display: flex; align-items: center; gap: 8px; padding: 24px; border-radius: 16px; box-shadow: inset 0 0 0 1.5px var(--kofa-color-border-primary); }
@media (max-width: 599px) { .kofa-collection-list__search { flex-wrap: wrap; padding: 20px 16px; } }
.kofa-collection-list__search label { flex: none; margin-right: 12px; font-size: var(--kofa-typo-body-4-size); font-weight: var(--kofa-font-weight-semibold); line-height: var(--kofa-line-height-base); }
@media (max-width: 599px) { .kofa-collection-list__search label { flex-basis: 100%; margin-right: 0; } }
.kofa-collection-list__search-field { flex: 1; min-width: 0; }
@media (max-width: 599px) { .kofa-collection-list__search-field { flex-basis: 100%; } }
.kofa-collection-list__search-button { flex: none; }
@media (max-width: 599px) { .kofa-collection-list__search-button { flex-basis: 100%; } }
.kofa-collection-list__categories { display: flex; flex-direction: column; gap: 16px; }
.kofa-collection-list__external { display: flex; justify-content: flex-end; }
.kofa-collection-list__results { display: flex; flex-direction: column; gap: 16px; }
.kofa-collection-list__toolbar { display: flex; align-items: center; gap: 16px; }
.kofa-collection-list__count { flex: 1; margin: 0; font-size: var(--kofa-typo-body-4-size); font-weight: var(--kofa-font-weight-semibold); line-height: var(--kofa-line-height-base); }
.kofa-collection-list__sort { width: 130px; }
@media (max-width: 599px) { .kofa-collection-list__sort { width: auto; } }
.kofa-collection-list__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 24px; row-gap: 48px; }
@media (max-width: 599px) { .kofa-collection-list__grid { grid-template-columns: minmax(0, 1fr); row-gap: 24px; } }
.kofa-collection-list__card { display: flex; flex-direction: column; gap: 12px; color: var(--kofa-color-text-01); text-decoration: none; }
.kofa-collection-list__image { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 8px; }
.kofa-collection-list__image > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kofa-collection-list__badge { position: absolute; top: 12px; left: 12px; display: flex; align-items: center; gap: 2px; padding: 4px 6px; border: 0; border-radius: 6px; box-shadow: inset 0 0 0 1px var(--kofa-color-border-primary); background: var(--kofa-color-surface-white); font-size: var(--kofa-typo-body-2-size); font-weight: var(--kofa-font-weight-regular); line-height: var(--kofa-line-height-base); }
.kofa-collection-list__badge-icon { width: 16px; height: 16px; }
.kofa-collection-list__information { display: flex; flex-direction: column; gap: 8px; padding-inline: 4px; }
.kofa-collection-list__heading { display: flex; flex-direction: column; gap: 4px; }
.kofa-collection-list__kind { color: var(--kofa-color-text-02); font-size: var(--kofa-typo-body-3-size); font-weight: var(--kofa-font-weight-semibold); line-height: var(--kofa-line-height-base); }
.kofa-collection-list__name { margin: 0; font-size: var(--kofa-typo-body-5-size); font-weight: var(--kofa-font-weight-bold); line-height: var(--kofa-line-height-base); }
@media (max-width: 599px) { .kofa-collection-list__name { font-size: var(--kofa-typo-headline-3-size); } }
.kofa-collection-list__facts { display: flex; flex-direction: column; gap: 4px; padding-top: 8px; box-shadow: inset 0 1px var(--kofa-color-border-default); color: var(--kofa-color-text-02); }
.kofa-collection-list__fact { display: flex; gap: 8px; margin: 0; font-size: var(--kofa-typo-body-3-size); line-height: var(--kofa-line-height-base); }
@media (max-width: 599px) { .kofa-collection-list__fact { font-size: var(--kofa-typo-body-4-size); } }
.kofa-collection-list__fact strong { font-weight: var(--kofa-font-weight-semibold); }
.kofa-collection-list__pagination { padding-top: 16px; }

/* Rental Service */
.kofa-collection-rental { overflow-wrap: anywhere; }
.kofa-collection-rental__search { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding: 24px; margin-block: 32px 24px; background: var(--kofa-color-gray-50); border: 1px solid var(--kofa-color-border-default); border-radius: 8px; }
.kofa-collection-rental__search .kofa-text-field { flex: 1 1 240px; min-width: 0; }
.kofa-collection-rental__filters { display: flex; align-items: baseline; flex-wrap: wrap; gap: 16px; margin-block: 16px; }
.kofa-collection-rental__filters strong { min-width: 72px; }
.kofa-collection-rental__total { margin-block: 32px 16px; }
.kofa-collection-rental__table-scroll { overflow-x: auto; max-width: 100%; }
.kofa-collection-rental__table { width: 100%; min-width: 680px; }
.kofa-collection-rental__table--5 { --kofa-collection-rental-columns: minmax(0, 4fr) minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.5fr); }
.kofa-collection-rental__table--4 { --kofa-collection-rental-columns: repeat(4, minmax(0, 1fr)); }
.kofa-collection-rental__table--3 { --kofa-collection-rental-columns: repeat(3, minmax(0, 1fr)); }
.kofa-collection-rental__table--2 { --kofa-collection-rental-columns: repeat(2, minmax(0, 1fr)); }
.kofa-collection-rental__row { display: grid; grid-template-columns: var(--kofa-collection-rental-columns); }
.kofa-collection-rental__title-link { color: var(--kofa-color-text-success); font-weight: var(--kofa-font-weight-semibold); text-decoration: underline; }
.kofa-collection-rental__pagination { margin-top: 40px; }
.kofa-collection-rental__section { margin-block: 48px; scroll-margin-top: 24px; }
.kofa-collection-rental__section h3 { margin-block: 24px 16px; font-weight: var(--kofa-font-weight-bold); }
.kofa-collection-rental__section h4 { margin-block: 20px 12px; font-weight: var(--kofa-font-weight-semibold); }
.kofa-collection-rental__section p { margin-block: 16px; }
.kofa-collection-rental__materials { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-block: 24px; }
.kofa-collection-rental__panel { padding: 24px; border: 1px solid var(--kofa-color-border-default); border-radius: 8px; margin-block: 16px; }
.kofa-collection-rental__formats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; list-style: none; padding: 0; }
.kofa-collection-rental__formats li { padding: 16px; text-align: center; background: var(--kofa-color-gray-50); border: 1px solid var(--kofa-color-border-default); border-radius: 8px; }
.kofa-collection-rental__notice { padding: 24px; border: 1px solid var(--kofa-color-border-default); border-radius: 8px; }
.kofa-collection-rental__information { padding: 24px; background: var(--kofa-color-gray-50); border-radius: 8px; }
.kofa-collection-rental__steps { list-style: decimal-leading-zero; padding-left: 32px; }
