/* ======================================== 메인 페이지 팝업 스타일 ======================================== */ /* 팝업 오버레이 */ .popup-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); z-index: 9998; animation: fadeIn 0.3s ease; } .popup-overlay.active { display: flex; justify-content: center; align-items: center; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } /* 팝업 컨테이너 */ .popup-container { position: relative; background: linear-gradient(135deg, #fff 0%, #fff8f0 100%); border-radius: 20px; box-shadow: 0 20px 60px rgba(255, 136, 0, 0.3); max-width: 500px; width: 90%; max-height: 90vh; overflow-y: auto; overflow-x: hidden; animation: popupSlideIn 0.4s ease; z-index: 9999; } /* 팝업 스크롤바 커스텀 디자인 */ .popup-container::-webkit-scrollbar { width: 10px; } .popup-container::-webkit-scrollbar-track { background: rgba(255, 136, 0, 0.1); border-radius: 10px; } .popup-container::-webkit-scrollbar-thumb { background: linear-gradient(135deg, #ff8800 0%, #ff9933 100%); border-radius: 10px; border: 2px solid rgba(255, 255, 255, 0.3); } .popup-container::-webkit-scrollbar-thumb:hover { background: linear-gradient(135deg, #ff9933 0%, #ffaa44 100%); } /* Firefox 스크롤바 */ .popup-container { scrollbar-width: thin; scrollbar-color: #ff8800 rgba(255, 136, 0, 0.1); } @keyframes popupSlideIn { from { transform: scale(0.8) translateY(-20px); opacity: 0; } to { transform: scale(1) translateY(0); opacity: 1; } } /* 팝업 헤더 */ .popup-header { background: linear-gradient(135deg, #ff8800 0%, #ff9933 100%); padding: 25px 20px; text-align: center; position: relative; overflow: hidden; } .popup-title { font-size: 1.5rem; font-weight: 800; color: white; margin: 0; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2); } .popup-subtitle { font-size: 1rem; font-weight: 600; color: white; margin: 8px 0 0 0; } .popup-badge { display: inline-block; background: rgba(255, 255, 255, 0.3); backdrop-filter: blur(10px); color: white; padding: 6px 16px; border-radius: 50px; font-size: 1.1rem; font-weight: 700; margin-top: 8px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); } /* 팝업 바디 */ .popup-body { padding: 20px; } .popup-section { margin-bottom: 15px; } .popup-section-title { font-size: 0.95rem; font-weight: 700; color: #ff8800; margin-bottom: 12px; } /* 팝업 혜택 리스트 */ .popup-benefits-list { display: flex; flex-direction: column; gap: 12px; } .popup-benefit-item { background: white; border-radius: 12px; padding: 15px; display: flex; align-items: flex-start; gap: 15px; border: 2px solid #ffe8cc; transition: all 0.3s ease; } .popup-benefit-item:hover { border-color: #ff8800; box-shadow: 0 4px 12px rgba(255, 136, 0, 0.2); } .benefit-number { flex-shrink: 0; width: 40px; height: 40px; background: linear-gradient(135deg, #FF80AB 0%, #FF4081 100%); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; font-weight: 800; color: white; box-shadow: 0 2px 8px rgba(255, 64, 129, 0.3); } .benefit-content { flex: 1; } .benefit-content h4 { font-size: 1rem; font-weight: 700; color: #FF4081; margin: 0 0 6px 0; line-height: 1.3; } .benefit-content p { font-size: 0.875rem; color: #42A5F5; margin: 0; line-height: 1.4; } /* 공지사항 */ .popup-notice { background: #fff8f0; border-left: 3px solid #ff8800; padding: 10px; border-radius: 6px; margin-bottom: 15px; } .popup-notice p { margin: 0; font-size: 0.85rem; color: #666; } /* CTA 버튼 컨테이너 */ .popup-buttons { display: flex; flex-direction: column; gap: 8px; } /* CTA 버튼 */ .popup-cta { background: linear-gradient(135deg, #ff8800 0%, #ff9933 100%); color: white; text-align: center; padding: 14px; border-radius: 10px; font-size: 1rem; font-weight: 700; cursor: pointer; transition: all 0.3s ease; border: none; width: 100%; box-shadow: 0 4px 15px rgba(255, 136, 0, 0.3); } .popup-cta:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255, 136, 0, 0.4); } /* 서브 CTA 버튼 (서비스 내용 보기) */ .popup-cta-secondary { background: white; color: #ff8800; border: 2px solid #ff8800; box-shadow: 0 2px 8px rgba(255, 136, 0, 0.15); } .popup-cta-secondary:hover { background: #fff8f0; box-shadow: 0 4px 12px rgba(255, 136, 0, 0.25); } /* 팝업 바디 하단 여백 조정 */ .popup-body { padding: 20px 20px 30px 20px; } /* X 닫기 버튼 */ .popup-close-x { position: absolute; top: 12px; right: 12px; background: rgba(255, 255, 255, 0.3); backdrop-filter: blur(10px); border: none; color: white; font-size: 1.3rem; width: 30px; height: 30px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; z-index: 2; } .popup-close-x:hover { background: rgba(255, 255, 255, 0.5); transform: rotate(90deg); } /* 모바일 반응형 */ @media (max-width: 768px) { .popup-container { max-width: 95%; margin: 20px; } .popup-header { padding: 20px 15px; } .popup-title { font-size: 1.3rem; } .popup-subtitle { font-size: 0.95rem; } .popup-badge { font-size: 1rem; padding: 5px 14px; } .popup-body { padding: 15px; } .benefit-content h4 { font-size: 0.95rem; } .benefit-content p { font-size: 0.8rem; } }