/* pns_visual_borad module style */ /* 💡 [수정] 슬라이더 크기를 부모 요소에 정확히 맞춤 */ .pns-visual-slider { width: 100%; height: 850px; margin: 0 auto; position: relative; overflow: hidden; background: #000; } /* 💡 [수정] 이미지를 꽉 채우되(cover), 컨테이너가 이미지 비율과 같으므로 잘리지 않음 */ .visual-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: 100% 100% ; background-position: center; background-repeat: no-repeat; /*transition: transform 7s;*/ image-rendering: -webkit-optimize-contrast; image-rendering: crisp-edges; -ms-interpolation-mode: bicubic; } .swiper-slide-active .visual-bg { transform: scale(1.1); } /* 미세한 줌 효과 */ /* 오버레이 제거 (투명) */ .visual-bg::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0); pointer-events: none; } .visual-content { position: relative; z-index: 10; height: 100%; display: flex; flex-direction: column; justify-content: center; color: #fff; padding: 0 10%; } .visual-title { font-size: 3.5rem; font-weight: 800; line-height: 1.2; margin-bottom: 20px; word-break: keep-all; text-shadow: 2px 2px 10px rgba(0,0,0,0.5); } .visual-desc { font-size: 1.3rem; line-height: 1.6; margin-bottom: 40px; font-weight: 300; opacity: 0.9; text-shadow: 1px 1px 5px rgba(0,0,0,0.5); } .visual-btn { display: inline-block; padding: 15px 45px; border: 2px solid #fff; color: #fff; text-decoration: none; font-size: 1rem; transition: 0.3s; width: fit-content; cursor: pointer; } .visual-btn:hover { background: #fff; color: #000; } /* 라이트박스 스타일 */ .image-lightbox { display: none; position: fixed; z-index: 9999; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.85); justify-content: center; align-items: center; animation: fadeIn 0.3s; flex-direction: column; } .lightbox-content { max-width: 90%; max-height: 80%; object-fit: contain; animation: zoomIn 0.3s; cursor: pointer; } .lightbox-close { position: absolute; top: 20px; right: 40px; color: #fff; font-size: 40px; font-weight: bold; transition: 0.3s; cursor: pointer; z-index: 10001; } .lightbox-close:hover { color: #bbb; } /* 라이트박스 내 바로가기 버튼 스타일 */ .lightbox-link-btn { display: none; margin-top: 20px; padding: 12px 30px; background-color: #009fe3; color: #fff; text-decoration: none; font-size: 16px; font-weight: bold; border-radius: 5px; transition: background-color 0.3s; z-index: 10001; } .lightbox-link-btn:hover { background-color: #007bb5; } /* Swiper 네비게이션 버튼 스타일 */ .swiper-button-next, .swiper-button-prev { color: #fff !important; text-shadow: 0 0 5px rgba(0,0,0,0.5); } .swiper-pagination-bullet { background: #fff !important; opacity: 0.5; } .swiper-pagination-bullet-active { opacity: 1; background: #009fe3 !important; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes zoomIn { from { transform: scale(0.8); } to { transform: scale(1); } } /* 💡 [수정] 모바일 반응형 처리 (비율 유지) */ @media (max-width: 1240px) { .pns-visual-slider { height: auto; aspect-ratio: 1240 / 890; /* 비율 유지 */ } } @media (max-width: 768px) { .visual-title { font-size: 2rem; } .visual-desc { font-size: 1rem; } }