/* 공통 */
.section-inner {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
    overflow: hidden;
}
.section-inner.body{
    padding: 0 20px 20px;
}
.section-label {
    display: block;
    width: fit-content;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 500;
    color: #C8AE79;
    margin: 48px 0 28px;
    padding-bottom: 2px; /* C-04: 텍스트와 밑줄선 사이 간격 0→2px */
    position: relative;
}
.section-label:before{
    content: '';
    position: absolute;
    bottom:0;
    left:0;
    width: 100%;
    height: 2px;
    background: url(../images/brands/label_under.svg) no-repeat center/cover;
}
.works-header .section-label{
    margin-top: 76px;
}
/* CM-08: '전시 전경' 라벨 상단마진 48→28 (모바일) */
.archive-views .section-label{
    margin-top: 28px;
}

/* Archive Hero */
.archive-hero {
    background: #ECE7E0;
}

.archive-hero .section-bg{
    background: url(../images/brands/archive-sub/2023/archive_sub_banner-mo.png) no-repeat bottom / cover;
}
.archive-hero .section-bg.archive2{
    background: url(../images/brands/archive-sub/2024/archive_sub_banner-mo.png) no-repeat bottom / cover;
}
.archive-hero .section-bg.archive3{
    background: url(../images/brands/archive-sub/2025/archive_sub_banner-mo.png) no-repeat bottom / cover;
}
.archive-hero-title {
    font-size: 22px;
    font-weight: 300;
    line-height: 1.6;
    margin-top: 21px;
    margin-bottom: 150px;
    color: #73583D;
}

/* Dropdown (①) */
.archive-dropdown {
    position: relative;
    margin-bottom: 0;
    z-index: 1;
}

.archive-dropdown-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: none;
    border: none;
    padding: 12px 12px 12px 0; /* CM-01: 상하 27→12, 우측 0→12 */
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    color: #111;
    text-align: left;
    position: relative;
}
.archive-dropdown-trigger::after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: url(../images/brands/archive-sub/select_line.svg) no-repeat center /cover;
}
.archive-dropdown-trigger::before{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: url(../images/brands/archive-sub/select_line.svg) no-repeat center /cover;
}
.dropdown-label{
    font-size: 22px;
    line-height: 1.6;
    color: #73583D;
    font-family: 'OtokiSans3';
}
.dropdown-chevron {
    flex-shrink: 0;
    transition: transform 0.2s ease;
}
.dropdown-chevron{
    width: 15px;
    height: 8px;
}
.archive-dropdown-trigger[aria-expanded="true"] .dropdown-chevron {
    transform: rotate(180deg);
}

.archive-dropdown-list {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    background: #fff;
    border: none;
    border-radius: 20px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.12);
    list-style: none;
    z-index: 50;
    overflow: hidden;
}

.archive-dropdown-list[hidden] {
    display: none;
}

.archive-dropdown-list li a {
    display: block;
    font-size: 20px;
    padding: 24px 24px; /* CM-02/C-02: L/R 24→30 */
    font-weight: 300; /* CM-02/C-02: 미선택 항목 500→300 */
    color: #73583d;
    text-decoration: none;
    transition: all 0.5s;
    opacity: 0.6;
    position: relative;
}
.archive-dropdown-list li:first-child a{
    padding:29px 24px 24px; /* C-02: L/R 20→30 */
}
.archive-dropdown-list li:last-child a{
    padding: 24px 24px 29px; /* C-02: L/R 20→30 */
}

.archive-dropdown-list li:nth-child(2) a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 40px);
    height: 1px;
    background: #e6e6e6;
    mix-blend-mode:darken;
}
.archive-dropdown-list li:nth-child(2) a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 40px);
    height: 1px;
    background: #e6e6e6;
    mix-blend-mode:darken;
}

.archive-dropdown-list li[aria-selected="true"] a {
    font-weight: 500;
    color: #73583d;
    opacity: 1;
}

.archive-dropdown-list li a:active {
    background: #f8f8f8;
}

.archive-wrapper{
    padding-top: 20px;
}
/* Archive Body */
.archive-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.archive-body p {
    font-size: 14px;
    line-height: 1.8;
    color: #73583D;
    font-weight: 300;
    word-break: keep-all;
}

/* Archive Video */
.archive-video {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #d9d9d9;
    overflow: hidden;
    margin-top: 16px;
}

.archive-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.archive-video iframe {
    width: 100%;
    height: 100%;
    display: block;
}

.video-fallback-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.video-play-btn {
    background: none;
    border: none;
    cursor: pointer;
    pointer-events: all;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    font-weight: 500;
}

/* 커스텀 비디오 컨트롤 */
.video-controls {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 100%);
    opacity: 0;
    transition: opacity 0.2s ease;
}

.archive-video:hover .video-controls,
.archive-video.is-playing .video-controls {
    opacity: 1;
}

.video-ctrl-playpause {
    flex-shrink: 0;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    width: 28px;
    height: 28px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.video-ctrl-playpause svg {
    width: 20px;
    height: 20px;
}

.video-ctrl-playpause .icon-pause {
    display: none;
}

.archive-video.is-playing .video-ctrl-playpause .icon-play {
    display: none;
}

.archive-video.is-playing .video-ctrl-playpause .icon-pause {
    display: block;
}

.video-progress-wrap {
    flex: 1;
    height: 3px;
    background: rgba(255, 255, 255, 0.35);
    border-radius: 2px;
    cursor: pointer;
    position: relative;
}

.video-progress-bar {
    height: 100%;
    width: 0%;
    background: #fff;
    border-radius: 2px;
    pointer-events: none;
    transition: width 0.1s linear;
}

/* 잇 제작 스토리 */
.works-story .story-1 .section-pc {
    margin-top: 0;
}
.sec-title{
    color:#73583D;
    font-size: 22px;
    line-height: 1.6;
    margin-bottom: 12px;
    font-weight: 300;
}
.sec-body{
    margin-bottom: 20px;
}
.sec-body p{
    color: #73583D;
    font-size: 14px;
    line-height: 1.7;
    font-weight: 300;
    word-break: keep-all; /* C-03/05/06: 작품설명처럼 단어 기준 줄바꿈 */
}
.sec-body p br{
    display: none;
}
.sec-body p.d-pc{
    display: none;
}
.sec-body p.d-mo{
    display: block;
    font-size: 14px;
    line-height: 1.7;
}
.section-pc{
    margin-top: 48px;
}
.swiper {
    position: relative;
    aspect-ratio: 3 / 3.5;
    overflow: visible; 
}

.swiper .swiper-slide {
    background: #d9d9d9;
}

.swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Carousel Buttons */
.carousel-btn {
   display: none;
}

.carousel-btn--prev {
    left: 0;
}

.carousel-btn--next {
    right: 0;
}

.carousel-btn:active {
    background: rgba(50, 50, 50, 0.9);
}
.it_logo{
    width: 44px;
    position: absolute;
    top:50%;
    left: 24px;
    transform:translateY(-50%);
    z-index: 1;
}
.it_logo img{
    width: 100%;
}

/* Archive Works (작품 목록) */
.archive-works {
    padding: 0;
}

.works-header {
    padding: 0 20px 0;

}

.works-title {
    font-size: 15px;
    font-weight: 500;
    color: #111;
}

/* 작품 아이템 */
.work-item {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-bottom: 48px;
}

.work-image {
    overflow: hidden;
}

.work-image img {
    width: 100%;
    display: block;
}

.work-item-name{
    color: #73583D;
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 6px;
    font-weight: 500;
}
.work-artist-wrap{
    display: flex;
    gap: 8px;
    align-items: center;
}
.work-artist-wrap span{
    display: block;
    width: 1px;
    height: 15px;
    background: #73583D;
}
.work-artist {
    font-size: 14px;
    line-height: 1.7;
    color: #73583D;
    font-weight: 300;
}
.work-artist b{
    font-weight: 500;
}

.work-desc {
    margin-top: 12px;
    font-weight: 300;
    font-size: 14px;
    line-height: 1.7;
    color: #73583D;
    word-break: keep-all;
}

.work-divider {
    border: none;
    border-top: 1px solid #eee;
    margin: 0;
}
.link-vid-btn{
    display: flex;
    justify-content: center;
    align-items: center;
    color: #B09867;
    background: #ececec;
    width: 100%;
    font-weight: 500;
    font-size: 14px; /* CM-07: 16→14 */
    padding: 10px 0; /* CM-07: 상하 0→10 */
    margin-top: 20px; /* CM-06: 상단마진 0→20 (PDF상 work-desc로 표기됐으나 실제 link-vid-btn) */
}
/* 다른 아카이브 섹션 */
.archive-others{
    padding-bottom: 48px;
}
.archive-others .section-pc{
    margin-top: 24px;
}
.archive-others .section-label{
   margin: 76px 0 24px; /* CM-09: 상단마진 48→76 (모바일) */
}

.archive-others-title {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -0.5px;
    margin-bottom: 20px;
    color: #73583D;
}

.archive-other-cards {
    display: flex;
    flex-direction: column;
    gap: 10px;
    /* C-12: 하단 여백 삭제 (margin-bottom 28px 제거) */
}

.archive-other-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    padding: 32px 20px;
    text-decoration: none;
    height: 140px;
    color: #fff;
    background-position: center;
    background-repeat:no-repeat;
    background-size:cover ;
}

.archive-other-card:active {
    background: #e0e0e0;
}


.other-card-name {
    font-size: 16px;
    font-weight: 300;
    color: #fff;
    line-height: 1.5;
}

.btn-to-main {
    display: block;
    width: 100%;
    padding: 9px 0;
    background: #ECECEC;
    color: #B09867;
    font-size: 14px;
    font-weight: 500;
    line-height: 22px;
    text-align: center;
    text-decoration: none;
    margin-top: 28px;
}
.btn-to-main.pc{
    display: none;
}

/* 오뚜기 잇 에디션 */
.btm_banner{
    overflow-x: hidden;
}
.btm_banner .inner{
    display: flex;
    flex-direction: column;
    gap: 0;
}
.banner_img {
    position: relative;
    aspect-ratio: 1.785 / 1;
    background: url(../images/brands/btm_banner_mo.png) no-repeat center /cover;
    min-height: 210px;
}

.banner_cta{
    background: #F5EA20;
}
/* B-08: 배너 전체(이미지+CTA)를 클릭 영역으로 */
.btm_banner .inner{
    cursor: pointer;
}
.banner_cta .banner_inner{
    padding: 20px;
    display: flex;
    flex-direction: column;
}
.banner_cta .top_desc p{
    font-size: 16px;
    font-weight: 500;
    color: #73583D;
    line-height: 1.4;
    margin-bottom: 102px;
}
.btm_cta{
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-top: auto;
}
.btm_cta p{
    color: #73583D;
    font-size: 14px;
    line-height: 1.6;  
    font-weight: 500;
}
.btm_cta .arrow{
    height: 18px;
    border: none;
    background: none;
}
.btm_cta .arrow img{
    display: block;
    width: 100%;
    height: 100%;
}
/* B-08: 배너 호버 시 화살표 좌우 인터랙션 (배너 전체 호버) */
.btm_banner .inner:hover .btm_cta .arrow img{
    animation: bannerArrowMove 0.8s ease-in-out infinite;
}
@keyframes bannerArrowMove{
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(6px); }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .banner_img{
        background: url(../images/brands/btm_banner_1024.png) no-repeat center /cover;
        /* aspect-ratio: 2.032 / 1; */
        height: 210px;
    }
}

/* ============================
   PC (1024px ~ 1240px)
   ============================ */
@media screen and (min-width: 768px) and (max-width: 1240px) {
    .archive-hero .section-bg {
        background: url(../images/brands/archive-sub/2023/archive_sub_banner-pc1240.png) no-repeat top /cover;
  
    }
    .archive-hero .section-bg.archive2 {
        background: url(../images/brands/archive-sub/2024/archive_sub_banner-pc1240.png) no-repeat top /cover;

    }
    .archive-hero .section-bg.archive3 {
        background: url(../images/brands/archive-sub/2025/archive_sub_banner-pc1240.png) no-repeat top /cover;

    }
}

/* ============================
   PC (1241px ~ 1920px)
   ============================ */
@media screen and (min-width: 1241px) {
    .archive-hero .section-bg {
        background: url(../images/brands/archive-sub/2023/archive_sub_banner-pc1920.png) no-repeat top /cover;
        /* height: 501px; */
    }
    .archive-hero .section-bg.archive2 {
        background: url(../images/brands/archive-sub/2024/archive_sub_banner-pc1920.png) no-repeat top /cover;
        /* height: 501px; */
    }
    .archive-hero .section-bg.archive3 {
        background: url(../images/brands/archive-sub/2025/archive_sub_banner-pc1920.png) no-repeat top /cover;
        /* height: 501px; */
    }
}

/* ============================
   PC 공통 (1024px 이상)
   ============================ */
@media screen and (min-width: 1024px) {
    
  

    .section-inner{
        padding: 0 30px;
    }
    .section-label{
        font-size: 20px;
    }
    /* .archive-hero .section-inner{
        padding: 32px 30px 30px;
    } */
    .section-inner.body{
        padding: 0px 30px 30px;
    }
    .archive-wrapper{
        padding-top: 31px;
    }
    .archive-body{
        float:right;
        max-width: 580px;
        position: relative;
    }
    
    .archive-body p{
        font-size: 16px;
    }
    .archive-body p:last-child{
        margin-bottom: 20px;
    }
    .archive-body:after{
        content: '';
        clear: both;
    }
    .dropdown-label{
        font-size: 32px;
    }
    .dropdown-chevron{
        width: 28px;
        height: 15px;
    }
    
    .archive-dropdown-trigger{
        padding: 17px 20px 17px 0 ; /* C-01: 상하 27→17, 좌우 0→20 */
    }
    .archive-dropdown-list li a {
        font-size: 28px;
    }
    .archive-dropdown-list li:first-child a{
        padding:35px 30px 30px;
    }
    .archive-dropdown-list li:last-child a{
        padding:30px 30px 35px;
    }
    .archive-dropdown-list li:nth-child(2) a::before {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: calc(100% - 60px);
        height: 1px;
        background: #e6e6e6;
        mix-blend-mode:darken;
    }
    .archive-dropdown-list li:nth-child(2) a::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: calc(100% - 60px);
        height: 1px;
        background: #e6e6e6;
        mix-blend-mode:darken;
    }
    .works-story .section-label{
        margin: 48px 0;
    }
    /* '작품 목록' 라벨: PC 콜아웃 없음 → 기존값(상단48·하단28) 유지 (CM-05는 모바일 전용) */
    .works-header .section-label{
        margin: 48px 0 28px;
    }
    /* C-08: '전시 전경' 라벨 하단마진 28→48 (PC, 상단 48 유지) */
    .archive-views .section-label{
        margin: 48px 0 48px;
    }
    /* C-09: '아카이브' 라벨 하단마진 24→48 (PC, 상단 48 유지) */
    /* c 19 marginbottom 32px */
    .archive-others .section-label{
        margin: 48px 0 32px;
    }
    .swiper{
        overflow: hidden;
    }
    /* 캐러셀 공통 - PC에서 버튼 표시 */
    .carousel-btn {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        border: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 10;
        position: absolute;
        width: 36px;
        height: 72px;
        background: rgba(115, 88, 61, 0.8);
        border-radius: 0px;
    }
    /* carousel2 - PC에서 2장 나란히 */
    .carousel2 .carousel-btn {
        display: none;
    }
    .sec-title{
        font-size: 28px;
        margin-bottom: 0;
    }
    .section-pc{
        display: flex;
        justify-content: space-between;
        margin-top: 76px;
    }
    .sec-body{
        max-width: 560px;
        margin-bottom: 48px;
        padding-right: 20px;
    }
    .sec-body p{
        color: #73583D;
        font-size: 16px;
        line-height: 1.8;
        font-weight: 300;
    }

    .story-1 .section-pc{
        margin-top: 0;
    }
    .story-1 .sec-body{
        display: flex;
        gap: 40px;
        max-width: 580px;
        padding-right: 0px;
    }
    .story-1 .sec-body p{
        display: block;
        max-width: 270px;
    }
    .sec-body p.d-pc{
        display: block;
    }
    .sec-body p.d-mo{
        display: none;
    }
    .swiper {
        overflow: hidden;
        aspect-ratio: auto;
    }

    .carousel2 .swiper-slide {
        aspect-ratio: 1.25 / 1;
    }

    .archive-hero-title {
        font-size: 32px;
        margin-top: 32px;
    }

    .works-header {
        padding: 76px 30px 20px; /* C-07: padding-top 32→76 (PC) */
        max-width: 1240px;
        margin: 0 auto;
    }

    /* 작품 아이템 - PC: 좌 이미지 / 우 텍스트 */
    .work-item {
        flex-direction: row;
        align-items: stretch;
        max-width: 1240px;
        margin: 0 auto;
        width: 100%;

    }

    .work-item-name{
        font-size: 24px;
        line-height: 1.6;
    }

    .work-image {
        max-width: 580px;
        width: 50%;
        aspect-ratio: unset;
        flex-shrink: 0;
    }

    .work-info {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;

    }

    .work-artist {
        font-size: 16px;
        line-height: 1.8;
    }
    
    .work-desc {
        margin-top: 20px;
        font-size: 16px;
        line-height: 1.8;
    }
    .link-vid-btn{
        width: 180px;
        height: 44px;
        margin-top: 20px;
    }

    .archive-others {
        padding-top: 48px;
    }
    .archive-others .section-pc{
        margin-top: 0;
    }
    .btn-to-main{
        display: none;
    }
    .btn-to-main.pc{
        display: block;
        width: 180px;
        height: 44px;
        font-size: 16px;
        line-height: 32px;
        padding: 6px 0;
    }
    .archive-others-title {
        font-size: 28px;
        margin-bottom: 48px; /* C-10: 하단마진 20→48 (PC) */
    }
    .archive-other-cards{
        gap: 20px;
    }
    .archive-other-card {
        width: 580px;
        height: 190px; /* C-11: 높이 140→190 (PC) */
        position: relative;
        overflow: hidden;
    }
    /* C-11: 호버 시 배경 이미지만 확대 (인라인 background-image를 ::before로 상속) */
    .archive-other-card::before {
        content: '';
        position: absolute;
        inset: 0;
        background: inherit;
        background-size: cover;
        background-position: center;
        transition: transform 0.5s ease;
        z-index: 0;
    }
    .archive-other-card:hover::before {
        transform: scale(1.08);
    }
    .archive-other-card > * {
        position: relative;
        z-index: 1;
    }

    .other-card-name {
        font-size: 24px;
    }
        /* .btm_banner{
        background: linear-gradient(89deg, #edd20d 0%, #f5ea20 80%);
    } */
    .btm_banner{
        overflow: hidden;
    }
    .btm_banner .inner{
        max-width: 1240px;
        margin: 0 auto;
        flex-direction: row;
    }
    .btm_banner .banner{
        width: 50%;
        height: 305px;
        position: relative;
    }
    .banner_img{
        background: url(../images/brands/btm_banner_1920.png) no-repeat center /cover;
        /* aspect-ratio: 2.032 / 1; */
        height: 305px;
    }
    .btm_banner .banner_img::before{
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 305px;
        background: #f0d61e;
        transform: translateX(-100%);
    }
    .btm_banner .banner_cta::before{
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 305px;
        background: #F5EA20;
        transform: translateX(100%);
    }
    
    .banner_cta .banner_inner{
        height: 100%;
        padding: 48px 30px;
    }
    .banner_cta .top_desc p{
        font-size: 24px;
        margin-bottom: 122px;
    }
    .btm_cta p{
        font-size: 20px;
    }
    .btm_cta .arrow{
        height: 20px;
    }

}


/* 푸터 */
.footer {
    overflow: hidden;
}
.footer-pc {
    display: none;
}
.footer-mo {
    display: block;
    width: 100%;
}
@media screen and (min-width: 1024px) {
    .footer {
        height: 478px;
        display: flex;
        justify-content: center;
        align-items: flex-start;
    }
    .footer-mo { display: none; }
    .footer-pc {
        display: block;
        max-width: 1240px;
        width: 100%;
        height: 478px;
        object-fit: cover;
    }
}
