/* apps/dm/app/(landing)/reuse/reuse.module.css */ .hero { position: relative; min-height: 100vh; overflow: hidden; font-family: "NotoSansKR", sans-serif; } .heroBg { position: absolute; inset: 0; background: url("/images/landing/hero_bg.jpg") center/cover no-repeat; transform: scale(1.02); } .heroOverlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.50); } /* ===== Side Indicator (첨부 이미지 스타일) ===== */ .sideIndicator { position: fixed; right: 28px; top: 50%; transform: translateY(-50%); z-index: 40; /* 원형 배지 폭만큼만 */ width: 60px; /* (디자인처럼) 스크롤 영역 위에 뜨되 클릭 가능 */ pointer-events: none; } /* 세로 라인: 연한 하늘색 + 점선(도트) 느낌 */ .sideIndicatorLine { position: absolute; left: 50%; top: -150px; bottom: -150px; width: 2px; transform: translateX(-50%); background: rgba(46, 177, 235, 0.25); background-size: 2px 16px; background-repeat: repeat-y; z-index: -1; } /* 리스트는 가운데 정렬로 수직 배치 */ .sideIndicatorList { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; align-items: center; gap: 56px; /* 4개 간격(시안에 맞게 조절) */ pointer-events: auto; } .sideIndicatorItem { display: flex; justify-content: center; } /* 공통 버튼 */ .indicatorBtn { border: 0; background: transparent; padding: 0; cursor: pointer; position: relative; z-index: 2; display: grid; place-items: center; } /* ✅ 기본: 작은 점 */ .indicatorDot { width: 8px; height: 8px; border-radius: 999px; background: rgba(30, 167, 225, 0.55); border: 1px solid rgba(30, 167, 225, 0.7); } /* ✅ 활성: 커지는 큰 원(텍스트 포함) */ .indicatorActive { width: 83px; height: 83px; border-radius: 999px; transition: transform 0.15s ease, box-shadow 0.15s ease; } /* Main 활성: 흰 배경 + 검정 텍스트 */ .indicatorMainActive { background: #ffffff; border: 2px solid rgba(0, 0, 0, 0.15); color: rgba(0, 0, 0, 0.75); } /* 섹션 활성: 파란 배경 + 흰 텍스트 */ .indicatorSectionActive { background: #1ea7e1; border: 2px solid rgba(30, 167, 225, 0.85); color: #ffffff; /* box-shadow: 0 0 0 8px rgba(30, 167, 225, 0.18); */ } /* 활성 텍스트 */ .indicatorText { font-size: 12px; font-weight: 700; line-height: 1.1; text-align: center; padding: 0 8px; word-break: keep-all; white-space: normal; } /* 공통 원형 버튼 */ .sideIndicatorDot { width: 58px; height: 58px; border-radius: 999px; display: grid; place-items: center; cursor: pointer; user-select: none; transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease; /* 라인 위로 올라오게 */ position: relative; z-index: 1; pointer-events: auto; } .sideIndicatorDotText { font-size: 12px; font-weight: 600; line-height: 1.1; text-align: center; padding: 0 8px; /* 긴 텍스트도 배지 안에서 줄바꿈 가능 */ word-break: keep-all; white-space: normal; } /* Main: 흰색 원형 + 회색 텍스트 */ .sideIndicatorDotMain { background: #ffffff; border: 2px solid rgba(0, 0, 0, 0.15); color: rgba(0, 0, 0, 0.65); } /* 섹션: 파란 원형 + 흰색 텍스트 */ .sideIndicatorDotSection { background: #1ea7e1; border: 2px solid rgba(30, 167, 225, 0.85); color: #ffffff; } /* 활성 섹션: 더 진한 파랑 + 살짝 글로우 */ .sideIndicatorDotActive { transform: scale(1.02); box-shadow: 0 0 0 8px rgba(30, 167, 225, 0.18); } /* hover 효과(이미지 느낌으로 아주 약하게만) */ .sideIndicatorDot:hover { transform: translateY(-1px); } /* 반응형: 모바일에서는 숨김(원하시면 제거) */ @media (max-width: 768px) { .sideIndicator { display: none; } } /* 중앙 배지 */ .sideIndicatorBadge { width: 58px; height: 58px; border-radius: 999px; display: grid; place-items: center; font-size: 12px; font-weight: 600; text-align: center; z-index: 1; } /* Main 배지 */ .badgeMain { background: #fff; border: 2px solid rgba(0,0,0,.15); color: rgba(0,0,0,.65); } /* Section 배지 */ .badgeSection { background: #1ea7e1; border: 2px solid rgba(30, 167, 225, 0.85); color: #fff; box-shadow: 0 0 0 8px rgba(30, 167, 225, 0.18); } /* 작은 점 */ .sideIndicatorDotSmall { width: 7px; height: 7px; border-radius: 999px; background: rgba(30,167,225,.6); } /* 점 그룹 */ .sideIndicatorDotsTop, .sideIndicatorDotsBottom { display: flex; flex-direction: column; align-items: center; gap: 18px; } .sideIndicatorDotsTop { margin-bottom: 18px; } .sideIndicatorDotsBottom { margin-top: 22px; }