diff --git a/css/gallery.css b/css/gallery.css index 8521742..bd187b3 100644 --- a/css/gallery.css +++ b/css/gallery.css @@ -302,13 +302,39 @@ overflow: hidden; } -.panorama-preview { +.panorama-preview-image { width: 100%; height: 100%; - background-size: cover; - background-position: center; - background-repeat: no-repeat; - position: relative; + object-fit: cover; + transition: var(--transition); +} + +.panorama-play-button { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 80px; + height: 80px; + background: rgba(255, 136, 0, 0.9); + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + font-size: var(--font-2xl); + color: var(--text-white); + transition: var(--transition); + box-shadow: 0 8px 25px rgba(255, 136, 0, 0.3); + backdrop-filter: blur(10px); +} + +.panorama-play-button i { + margin-left: 3px; /* 플레이 아이콘 중앙 정렬 보정 */ +} + +.panorama-clickable:hover .panorama-play-button { + transform: translate(-50%, -50%) scale(1.1); + box-shadow: 0 12px 35px rgba(255, 136, 0, 0.4); } .panorama-controls { @@ -386,7 +412,7 @@ 20%, 80% { opacity: 1; } } -/* Pannellum 360도 이미지 전체화면 모달 */ +/* 개선된 360도 이미지 전체화면 모달 */ .panorama-modal { display: none; position: fixed; @@ -396,21 +422,48 @@ height: 100vh; background: rgba(0, 0, 0, 0.95); z-index: 2000; + cursor: grab; } .panorama-modal.active { - display: block; + display: flex; + align-items: center; + justify-content: center; +} + +.panorama-modal:active { + cursor: grabbing; } .panorama-modal-content { position: relative; - width: 100vw; - height: 100vh; + width: 90vw; + height: 70vh; + max-width: 1200px; + border-radius: var(--border-radius); + overflow: hidden; + box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5); } .panorama-modal-viewer { + position: relative; width: 100%; height: 100%; + overflow: hidden; + border-radius: var(--border-radius); + background: #000; +} + +.panorama-modal-image { + position: absolute; + top: 0; + left: 0; + height: 100%; + object-fit: cover; + transition: transform 0.1s ease-out; + will-change: transform; + user-select: none; + pointer-events: none; } .panorama-modal-controls { @@ -490,6 +543,31 @@ font-weight: bold; } +.panorama-modal-help-text { + position: absolute; + top: var(--spacing-xl); + right: var(--spacing-xl); + background: rgba(0, 0, 0, 0.9); + color: var(--text-white); + padding: var(--spacing-lg); + border-radius: var(--border-radius); + font-size: var(--font-sm); + max-width: 250px; + z-index: 10; + backdrop-filter: blur(10px); + border: 1px solid rgba(255, 255, 255, 0.1); + display: none; +} + +.panorama-modal-help-text p { + margin: 0 0 var(--spacing-xs) 0; +} + +.panorama-modal-help-text strong { + color: var(--primary-color); + font-size: var(--font-base); +} + .panorama-modal-help { position: absolute; top: var(--spacing-lg); diff --git a/gallery.html b/gallery.html index cd25683..d9d651d 100644 --- a/gallery.html +++ b/gallery.html @@ -40,8 +40,8 @@ - - + + @@ -132,9 +132,15 @@
+
+