/* Dynamic Multi-Split Screen Pro Styles (Final Customization v7.2.0) */

.dss-wrapper {
    position: relative;
    width: 100vw;
    /* height: 100vh; REMOVED: 높이는 인라인 스타일로 제어 */
    overflow: hidden;
    font-family: 'Helvetica Neue', sans-serif;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    box-sizing: border-box;
}

.dss-main-title { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 150; pointer-events: none; opacity: 0; transition: opacity 1.5s 0.5s cubic-bezier(0.25, 1, 0.5, 1); }
.dss-main-title.is-visible { opacity: 1; }
.dss-main-title.is-hidden { opacity: 0; transition-duration: 0.4s; transition-delay: 0s; }
.dss-main-title h1 { color: white; font-size: clamp(4rem, 10vw, 8rem); font-weight: 800; line-height: 1.1; text-align: center; text-transform: uppercase; text-shadow: 0 0 20px rgba(0,0,0,0.5); margin: 0; }

.dss-container {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.dss-split {
    position: absolute;
    top: 0;
    height: 100%;
    background-size: cover;
    background-position: center center;
    overflow: hidden;
    z-index: 1;
}

.dss-content {
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 90%;
    max-width: 450px;
    box-sizing: border-box;
    padding: 2rem;
    transition: opacity 0.6s ease-out;
    /* NEW: 내용이 패널 높이를 넘어도 잘리지 않고 스크롤되도록(안전장치) */
    max-height: 100%;
    overflow-y: auto;
    /* 스크롤바 숨김(시각적 깔끔) */
    scrollbar-width: none;
}
.dss-content::-webkit-scrollbar { display: none; }

.dss-content h1,
.dss-content p {
    opacity: 1;
    transition: opacity 0.6s ease-out;
}

/* 두 번째 서브타이틀 기본 스타일 (숨김 + 높이 접힘) */
.dss-subtitle2 {
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.5;
    margin: 0;                 /* idle 시 여백 0 (높이 차지 안 함) */
    opacity: 0;
    max-height: 0;             /* NEW: idle 시 높이 접어 오버플로우 방지 */
    overflow: hidden;
    transform: translateY(10px);
    transition: opacity 0.4s ease-out, transform 0.4s ease-out, max-height 0.5s ease-out, margin 0.4s ease-out;
}

/* 버튼 래퍼도 동일하게 idle 시 접힘 */
.dss-explore-btn-wrap {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transform: translateY(10px);
    transition: opacity 0.4s ease-out, transform 0.4s ease-out, max-height 0.5s ease-out, margin 0.4s ease-out;
}

/* 패널 활성화(hover로 확장) 시: 서브타이틀과 버튼 펼침 */
.dss-split.is-active .dss-subtitle2 {
    opacity: 1;
    transform: translateY(0);
    max-height: 60vh;
    margin: 1.5rem 0 0.5rem;
}
.dss-split.is-active .dss-explore-btn-wrap {
    opacity: 1;
    transform: translateY(0);
    max-height: 200px;
    margin-top: 20px;
    transition-delay: 0.1s;    /* 버튼이 살짝 늦게 */
}

/* always_show="yes" 일 때는 항상 펼쳐서 표시 */
.dss-always-show .dss-subtitle2 {
    opacity: 1;
    transform: translateY(0);
    max-height: 60vh;
    margin: 1.5rem 0 0.5rem;
}
.dss-always-show .dss-explore-btn-wrap {
    opacity: 1;
    transform: translateY(0);
    max-height: 200px;
    margin-top: 20px;
}

.dss-content h1 { font-size: 29px!important; font-weight: 500!important; margin-bottom: 1rem; text-transform: uppercase; text-shadow: 0 0 5px rgba(0,0,0,0.5); color:#fff !important;}
.dss-content p { font-size:  17px !important;  line-height: 1.6; margin-bottom: 1.5rem; opacity: 0.9; }
.dss-content h3 { font-size: 15px !important; line-height: 1.6;color:#fff!important; }
.dss-explore-btn { display: inline-block; padding: 10px 20px; border: 1px solid white; color: white; text-decoration: none; text-transform: uppercase; letter-spacing: -0.03em; font-size: 0.9rem; font-weight: 400; }
.dss-explore-btn:hover { background-color: white; color: black; }

.dss-brand-logo, .dss-nav { color: white; z-index: 200; text-decoration: none; }
.dss-brand-logo { position: absolute; top: 40px; left: 50%; transform: translateX(-50%); border: 1px solid white; padding: 8px 15px; font-size: 1rem; letter-spacing: 2px; }
.dss-nav { position: absolute; top: 50px; font-size: 0.9rem; text-transform: uppercase; }
.dss-nav.dss-nav-left { left: 0; }
.dss-nav.dss-nav-right { right: 0; }

/* =========================================================
   NEW: 모바일 대응 — JS가 .dss-is-mobile 클래스를 붙이면
   가로 분할 대신 세로로 쌓아서(각 패널 전체 표시) 가독성 확보.
   ========================================================= */
.dss-wrapper.dss-is-mobile {
    height: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.dss-wrapper.dss-is-mobile .dss-container {
    height: auto;
}
.dss-wrapper.dss-is-mobile .dss-split {
    position: relative !important;
    width: 100% !important;
    left: 0 !important;
    height: auto !important;     /* 내용 길이에 맞춰 자동(잘림 방지) */
    min-height: 60vw;
    overflow: visible !important;
    background-position-x: center !important;
}
.dss-wrapper.dss-is-mobile .dss-content {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    margin: 0 auto;
    width: 100%;
    max-width: 90%;
    max-height: none;
    overflow: visible;
    padding: 2.5rem 1.5rem;
    background: rgba(0,0,0,0.35); /* 글자 가독성 보조 */
}
/* 모바일에서는 서브타이틀/버튼 항상 표시 */
.dss-wrapper.dss-is-mobile .dss-subtitle2,
.dss-wrapper.dss-is-mobile .dss-explore-btn-wrap {
    opacity: 1;
    max-height: none;
    transform: none;
    overflow: visible;
}
.dss-wrapper.dss-is-mobile .dss-subtitle2 { margin: 1.2rem 0 0.5rem; }
.dss-wrapper.dss-is-mobile .dss-explore-btn-wrap { margin-top: 18px; }
.dss-wrapper.dss-is-mobile .dss-main-title { display: none; }
