/* 공통 */
.thumbnail,
.card-image,
.thumbnail > img { border-radius: 8px; }

/* 썸네일 */
.thumbnail { position:relative; width: 100%; height: 100%; overflow: hidden; }
.thumbnail > img { width: 100%; height: 100%; object-fit: cover; background-color: #000; }
.thumbnail.blur::before {content: '';position: absolute;background-image: inherit;background-size: cover;background-position: center;background-repeat: no-repeat;filter: blur(12px);inset: -24px;z-index: 0;}

/* 카드 스타일 */
.card { cursor: pointer; }
.card-info { padding: 14px 4px 20px; }
.card-title { font-size: 15px; color: #111; font-weight: 400; line-height: 1.5; letter-spacing: -0.2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card-meta { display: flex; align-items: center; justify-content: space-between; font-size: 12px; margin-top: 6px; }
.card-author { color: #888; letter-spacing: 0.8px; font-weight: 400; font-size: 11px; }
.card-date { color: #bbb; font-weight: 300; font-size: 12px; }

/* 성별 필터 */
.sex-filter { display: flex; justify-content: center; gap: 8px; margin-bottom: 20px; }
.sex-filter button { padding: 6px 16px; border: 1.5px solid #e0e0e0; border-radius: 18px; background: #fff; font-size: 12px; color: #555; cursor: pointer; transition: all .15s; }
.sex-filter button.active { background: #ff6b9d; border-color: #ff6b9d; color: #fff; font-weight: 600; }

/* 4열 갤러리 그리드 */
.gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; width: 100%; }
.gallery .card.hide { display: block; }
.gallery .card-image { width: 100%; height: 320px; position: relative; overflow: hidden; }

/* 5열 룩북 그리드 */
.grid-lookbook { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.grid-lookbook .card-image { width: 100%; height: 300px; position: relative; overflow: hidden; }
.grid-lookbook .card-info { padding: 10px 2px 6px; }
.grid-lookbook .card-title { font-size: 13px; }
.grid-lookbook .card-meta { margin-top: 4px; }

/* 4열 화보 그리드 */
.grid-pictorial { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.grid-pictorial .card-image { width: 100%; height: 280px; position: relative; overflow: hidden; }

/* 4열 최신 그리드 */
.grid-latest { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; padding-top:16px; }
.grid-latest .card-image { width: 100%; height: 280px; position: relative; overflow: hidden; }

/* 모델 리스트 */
.model-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 40px; padding: 15px 0; margin: 8px 0; }
/* 2행 = 상하패딩(30) + 아이템(106) + 행간격(40) + 아이템(106) = 282px */
.model-bar.collapsible { max-height: 282px; overflow: hidden; transition: max-height 0.4s ease; }
.model-bar-more { display: block; width: 100%; padding-top: 6px; text-align: center; font-size: 13px; cursor: pointer; background: none; border: none; color: #888; }
.model-bar-item { display: flex; flex-direction: column; align-items: center; gap: 8px; transition: opacity 0.2s; }
.model-bar-item img { width: 82px; height: 82px; object-fit: cover; border-radius: 50%; border: 2px solid #e5e5e5; transition: 0.3s; }
.model-bar-item:hover img { box-shadow: 0 0 12px rgba(0, 0, 0, 0.2); }
.model-bar-item span { font-size: 12px; font-weight: 500; color: #333; letter-spacing: 0.3px; }
.model-bar-img {background-color:#000;background-size:cover;background-position:center center;background-repeat:no-repeat;border-radius:50%;width:80px;height:80px;}

/* 모바일 */
@media (max-width: 799px) {
    .sex-filter { justify-content: center; }

    .grid-lookbook,
    .grid-pictorial,
    .grid-latest { display: block; }

    .grid-lookbook .card-image,
    .grid-pictorial .card-image,
    .grid-latest .card-image { height: 400px; }

    .grid-lookbook .card-info,
    .grid-pictorial .card-info,
    .grid-latest .card-info { padding: 9px 1px 10px; margin-bottom: 10px; }
    .grid-lookbook .card-title { font-size: 15px; }

    /* 모델 리스트 */
    .section-divider.lookbook { margin: 0 0 14px; }
    .model-bar { align-items: flex-start; gap: 15px; padding: 0; margin: -6px 6px 15px; max-height: none !important; overflow: visible; }
    .model-bar-item { flex: 1; min-width: 0; text-align: center; }
    .model-bar-item img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 50%; border: 0; }
    .model-bar-item:hover img { box-shadow: unset; }
    .model-bar-item span { display: none; }
    .model-bar-more { display: none !important; }
}