/* PC 고급 프리미엄 슬라이더 스타일 (독립 구현) */
:root {
  --lux-bg:#031546; /* 메인 컬러 적용 */
  --lux-grad:linear-gradient(135deg,#031546 0%,#062a63 45%,#0b3c7d 75%,#0f549c 100%);
  --lux-gold:#ec6627; /* 보조 컬러(포인트) */
  --lux-gold-soft:#ff9058;
  --lux-text:#f5f7fa;
  --lux-text-dim:#b7c2d4;
  --lux-accent:#ec6627; /* 메인 포인트로 통합 */
  --lux-accent-soft:#ff9a66;
  --lux-secondary:#143c8a;
  --lux-border:rgba(255,255,255,0.14);
  --lux-radius-xl:42px;
  --lux-radius-lg:28px;
  --lux-radius-md:16px;
  --lux-shadow:0 14px 42px -10px rgba(0,0,0,0.55),0 6px 24px -6px rgba(0,0,0,0.55);
  --lux-transition:0.7s cubic-bezier(.22,.8,.32,1);
}

.lux-premium-section { 
  position:relative; 
  padding:140px 0 140px; 
  background:
    radial-gradient(circle at 65% 35%,rgba(255,145,80,0.20),transparent 62%),
    radial-gradient(circle at 15% 78%,rgba(255,255,255,0.08),transparent 70%),
    var(--lux-bg);
  overflow:hidden;
  font-family:'Pretendard Variable','Pretendard','Apple SD Gothic Neo',sans-serif;
  display:none; /* 기본적으로 모바일 숨김, PC 미디어쿼리에서 표시 */
}

@media (min-width:768px){
  .lux-premium-section {display:block;}
}

.lux-premium-section:before, .lux-premium-section:after {content:"";position:absolute;inset:0;pointer-events:none;}
.lux-premium-section:before {background:radial-gradient(circle at 20% 80%,rgba(255,225,170,0.07),transparent 70%);} 
.lux-premium-section:after {background:linear-gradient(180deg,rgba(3,7,18,0) 0%,rgba(3,7,18,0.9) 95%,#030712 100%);} 

.lux-premium-inner {width:100%; margin:0 auto; position:relative; z-index:2;}
.lux-premium-head {width:min(1420px,90%); margin:0 auto 72px;}

.lux-premium-head {text-align:center; margin-bottom:72px;}
.lux-premium-title {font-size:54px; line-height:1.15; letter-spacing:1px; font-weight:600; background:linear-gradient(90deg,#ffffff,#ffdfcf); -webkit-background-clip:text; background-clip:text; color:transparent; margin:0 0 28px; position:relative;}
.lux-premium-title .lux-accent {color:var(--lux-accent); background:linear-gradient(90deg,#ffb794,#ec6627); -webkit-background-clip:text; background-clip:text;}
.lux-premium-subtitle {font-size:20px; font-weight:400; color:var(--lux-text-dim); margin:0; letter-spacing:.5px;}

/* 슬라이더 기본 */
.lux-slider {position:relative; width:100vw; left:50%; transform:translateX(-50%);} /* 풀 블리드 */
.lux-slider-viewport {overflow:visible; position:relative;}
.lux-slides {display:flex; gap:40px; list-style:none; margin:0; padding:0 7vw; will-change:transform;}
.lux-slide {position:relative; flex:0 0 auto; width:100vw; max-width:1000px; aspect-ratio:16/9; height:500px; overflow:hidden; isolation:isolate; border-radius:38px; box-shadow:var(--lux-shadow);} 
.lux-slides {align-items:center;}
/* 비활성 슬라이드 축소 및 흐림 처리 */
.lux-slide {opacity:.55; transition:transform 0.9s cubic-bezier(.22,.8,.32,1), opacity 0.9s ease, filter 1s ease; transform-origin:center center; will-change:transform;}
.lux-slide:not(.is-active) {transform:scale(.65);} 
.lux-slide.is-active {transform:scale(1); opacity:1; z-index:12;}
.lux-slide.is-active .lux-slide-img-wrap img {filter:brightness(.92) saturate(1.25);} 
.lux-slide:not(.is-active) .lux-slide-img-wrap img {filter:brightness(.65) saturate(1.05);}

/* 축소 시 좌우 여백이 과하게 보일 경우 조정 (중간 해상도) */
@media (max-width:1600px){
  .lux-slide:not(.is-active) {transform:scale(.93);}
}
@media (max-width:1360px){
  .lux-slide:not(.is-active) {transform:scale(.95);}
}
.lux-slide-img-wrap {position:absolute; inset:0; overflow:hidden;}
.lux-slide-img-wrap img {width:100%;height:100%;object-fit:cover; transform:scale(1.12); filter:brightness(.78) saturate(1.18); transition:transform 6s linear, filter 1.2s ease;}
.lux-slide.is-active .lux-slide-img-wrap img {transform:scale(1.22); filter:brightness(.9) saturate(1.22);} 

.lux-overlay-gradient {position:absolute; inset:0; background:linear-gradient(115deg,rgba(3,21,70,0.78) 0%,rgba(8,40,108,0.55) 45%,rgba(236,102,39,0.20) 100%); mix-blend-mode:normal;}

.lux-slide-content {position:absolute; bottom:0; left:0; padding:40px 50px 40px; max-width:820px; z-index:2;}
.lux-badge {display:inline-block; padding:10px 22px 9px; font-size:13px; letter-spacing:2px; font-weight:600; border:1px solid rgba(255,255,255,0.2); color:var(--lux-accent-soft); backdrop-filter:blur(18px); background:linear-gradient(90deg,rgba(236,102,39,0.24),rgba(255,149,92,0.18)); border-radius:100px; margin:0 0 5px; position:relative; overflow:hidden; box-shadow:0 0 0 1px rgba(255,255,255,0.06) inset,0 4px 14px -4px rgba(236,102,39,0.5);} 
.lux-badge:before {content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,0.05),rgba(255,255,255,0));}

.lux-slide-title {
    font-size:42px; 
    line-height:1.04; 
    margin:0 0px; 
    font-weight:600; letter-spacing:.5px; background:linear-gradient(90deg,#ffffff 100%,#ffe1d1 100%); -webkit-background-clip:text; background-clip:text; color:transparent; text-shadow:0 6px 20px rgba(0,0,0,0.45);} 
.lux-slide-desc {font-size:20px; line-height:1.62; color:var(--lux-text-dim); margin:0; font-weight:400; max-width:800px;}

/* 네비게이션 */
.lux-nav {position:absolute; top:50%; transform:translateY(-50%); width:80px; height:80px; border:1px solid rgba(255,255,255,0.18); background:linear-gradient(140deg,rgba(3,21,70,0.72),rgba(12,52,120,0.62)); backdrop-filter:blur(18px); color:#fff; font-size:30px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .45s, color .45s, border-color .45s, box-shadow .45s; z-index:8; box-shadow:0 10px 26px -6px rgba(0,0,0,0.55);} 
.lux-nav:hover {background:linear-gradient(140deg,rgba(236,102,39,0.85),rgba(255,149,92,0.75)); border-color:rgba(255,255,255,0.4); box-shadow:0 10px 32px -4px rgba(236,102,39,0.55);} 
.lux-prev {left:38px;} .lux-next {right:38px;}
.lux-nav-ico {display:block; line-height:1;}

/* 진행 바 */
/* 새로운 진행 모션: 중앙 축소 캡슐 + Fill & Shimmer */
.lux-progress {position:absolute; left:50%; bottom:-34px; transform:translateX(-50%); width:62%; height:10px; background:rgba(255,255,255,0.08); overflow:hidden; border-radius:100px; box-shadow:0 4px 14px -4px rgba(0,0,0,0.45),0 0 0 1px rgba(255,255,255,0.08) inset; backdrop-filter:blur(8px);}
.lux-progress-bar {position:absolute; inset:0; background:linear-gradient(110deg,var(--lux-accent) 0%,var(--lux-accent-soft) 28%,#ffffff 46%,var(--lux-accent-soft) 62%,var(--lux-accent) 90%); background-size:280% 100%; transform-origin:left center; transform:scaleX(0); box-shadow:0 0 0 1px rgba(255,255,255,0.28) inset,0 0 22px -4px rgba(236,102,39,0.7); border-radius:inherit;}
.lux-progress-bar.is-running {animation:luxProgressFill var(--lux-progress-duration,6000ms) linear forwards, luxProgressShimmer 2400ms linear infinite;}

@keyframes luxProgressFill {from {transform:scaleX(0);} to {transform:scaleX(1);} }
@keyframes luxProgressShimmer {0% {background-position:0% 50%;} 100% {background-position:100% 50%;}}

/* 페이지네이션 (점 + 숫자 혼합) */
.lux-pagination {
    position:absolute; 
    bottom:150px; 
    right:10%;
    display:flex; 
    flex-direction:column;
    gap:14px; 
    z-index:4;
}
.lux-pagination button {all:unset; cursor:pointer; width:16px; height:16px; border-radius:50%; background:linear-gradient(120deg,rgba(255,255,255,0.45),rgba(255,255,255,0.15)); position:relative; transition:background .45s, transform .45s, box-shadow .45s; box-shadow:0 0 0 1px rgba(255,255,255,0.25) inset;} 
.lux-pagination button:before {
    content:attr(data-num);
    position:absolute; 
    left:-50%; 
    top:50%;
    transform:translate(-50%,-50%);
    font-size:11px; 
    letter-spacing:1px; color:var(--lux-text-dim); opacity:0; transition:opacity .45s, color .45s; font-weight:500;}
.lux-pagination button.is-active {background:linear-gradient(120deg,var(--lux-accent),var(--lux-accent-soft)); transform:scale(1.34); box-shadow:0 4px 14px -2px rgba(236,102,39,0.6);} 
.lux-pagination button.is-active:before {opacity:1; color:var(--lux-accent-soft);} 

/* 전환 효과 */
.lux-slides.is-animating {transition:transform var(--lux-transition);} 

/* 접근성: 포커스 */
.lux-nav:focus-visible, .lux-pagination button:focus-visible {outline:2px solid var(--lux-accent); outline-offset:3px;}

/* 반응형 일부 축소 */
@media (max-width:1400px){
  .lux-slide-title {font-size:50px;}
  .lux-premium-title {font-size:50px;}
}
@media (max-width:1200px){
  .lux-slide-title {font-size:46px;}
  .lux-slide-content {padding:60px 64px 72px;}
}
@media (max-width:768){
  .lux-premium-section {display:none !important;}
}

/* aspect-ratio 미지원 브라우저 폴백 */
@supports not (aspect-ratio: 1 / 1) {
  .lux-slide {height:auto;}
  .lux-slide::before {content:""; display:block; padding-top:56.25%;}
  .lux-slide-img-wrap, .lux-overlay-gradient, .lux-slide-content {position:absolute; inset:0;}
}
