diff --git a/src/main/resources/static/sass/layout/_header.scss b/src/main/resources/static/sass/layout/_header.scss index 2777586..3d30889 100644 --- a/src/main/resources/static/sass/layout/_header.scss +++ b/src/main/resources/static/sass/layout/_header.scss @@ -58,6 +58,11 @@ height: 112px; transition: all 0.3s ease; border-bottom: 1px solid #dddddd; + + // Index page header with light blue background + &.index-header { + background-color: #E5F8FF; + } } .header-content { diff --git a/src/main/resources/static/sass/main.scss b/src/main/resources/static/sass/main.scss index db6dcf4..2e0b06b 100644 --- a/src/main/resources/static/sass/main.scss +++ b/src/main/resources/static/sass/main.scss @@ -58,6 +58,7 @@ @import 'pages/user-management'; @import 'pages/commission'; @import 'pages/terms-agreements'; +@import 'pages/api-statistics'; // 6. Themes @import 'themes/dark'; diff --git a/src/main/resources/static/sass/pages/_terms-agreements.scss b/src/main/resources/static/sass/pages/_terms-agreements.scss index ec24c1c..3ad490d 100644 --- a/src/main/resources/static/sass/pages/_terms-agreements.scss +++ b/src/main/resources/static/sass/pages/_terms-agreements.scss @@ -1,5 +1,5 @@ // ----------------------------------------------------------------------------- -// Terms and Agreements Page - Modern Design +// Terms and Agreements Page - Modern Design (Figma: 3003-1988) // 이용약관 및 개인정보처리방침 페이지 // ----------------------------------------------------------------------------- @@ -17,27 +17,31 @@ .terms-container { max-width: $container-max-width; margin: 0 auto; + position: relative; + padding: 20px; } -// Page Header +// Page Header - Title Bar (Figma: 타이틀백바) .terms-header { - margin-bottom: $spacing-3xl; + background: #f6f9fb; + border-radius: 12px; + padding: 20px 40px; + margin-bottom: $spacing-xl; @media (max-width: $breakpoint-sm) { - margin-bottom: $spacing-2xl; + padding: $spacing-md $spacing-lg; + margin-bottom: $spacing-lg; } .page-title { - font-size: $font-size-3xl; + font-size: 28px; font-weight: $font-weight-bold; color: $text-dark; - margin-bottom: $spacing-md; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - background-clip: text; + margin: 0; + line-height: 1; @media (max-width: $breakpoint-sm) { - font-size: $font-size-2xl; + font-size: $font-size-xl; } } @@ -45,6 +49,7 @@ font-size: $font-size-base; color: $text-gray; line-height: $line-height-normal; + margin-top: $spacing-sm; @media (max-width: $breakpoint-sm) { font-size: $font-size-sm; @@ -60,16 +65,16 @@ overflow: hidden; } -// Tab Navigation +// Tab Navigation (Figma: 질문제목box) .terms-tabs { display: flex; gap: 0; - background: $gray-bg; - padding: $spacing-xs; - border-bottom: 1px solid $border-gray; + background: transparent; + padding: 0; + border-bottom: none; @media (max-width: $breakpoint-sm) { - padding: $spacing-xs; + padding: 0; } .tab-link { @@ -78,184 +83,118 @@ align-items: center; justify-content: center; gap: $spacing-sm; - padding: $spacing-md $spacing-lg; - font-size: $font-size-base; - font-weight: $font-weight-semibold; - color: $text-gray; + padding: 18px $spacing-lg; + font-size: 22px; + font-weight: $font-weight-bold; + color: #8c959f; text-decoration: none; - background: transparent; - border-radius: $border-radius-md; + background: #eceff4; transition: $transition-base; text-align: center; + position: relative; + + border-radius: 12px 12px 0 0; @media (max-width: $breakpoint-sm) { - padding: $spacing-sm $spacing-md; - font-size: $font-size-sm; + padding: $spacing-md $spacing-md; + font-size: $font-size-base; gap: $spacing-xs; } i { - font-size: $font-size-md; - transition: $transition-base; - - @media (max-width: $breakpoint-sm) { - font-size: $font-size-base; - } + display: none; // 아이콘 숨김 (Figma 디자인에 없음) } &:hover { color: $primary-blue; - background: rgba($primary-blue, 0.05); - - i { - transform: scale(1.1); - } + background: #e4e8ed; } &.active { color: $white; - background: $primary-blue; - box-shadow: $shadow-sm; + background: #3ba4ed; + font-weight: $font-weight-bold; - i { - color: $white; - } } } } -// Version Selector +// Version Selector (Figma: 검색창 986-2208) .terms-selector { - padding: $spacing-lg $spacing-2xl; - background: $light-bg; - border-bottom: 1px solid $border-gray; + padding: $spacing-lg; + background: #F6F9FB; + border-bottom: none; @media (max-width: $breakpoint-sm) { - padding: $spacing-md $spacing-lg; + padding: $spacing-md 0; } form { - max-width: 400px; + max-width: 340px; } - .custom-select { - position: relative; + // Native select styling (Figma: 검색입력창) + .terms-select { + width: 340px; + height: 44px; + padding: 9px 22px 9px 20px; + background: $white; + border: 1px solid #dadada; + border-radius: 12px; + font-family: 'Noto Sans KR', sans-serif; + font-size: 14px; + font-weight: 400; + color: #212529; cursor: pointer; + transition: $transition-base; + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + // 드롭다운 화살표 아이콘 (색상: #515961) + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='5' viewBox='0 0 10 5'%3E%3Cpath fill='%23515961' d='M5 5L0 0h10z'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: right 16px center; + background-size: 10px 5px; - .select-selected { - display: flex; - align-items: center; - gap: $spacing-sm; - padding: $spacing-md $spacing-lg; - background: $white; - border: 2px solid $border-gray; - border-radius: $border-radius-md; - font-size: $font-size-sm; - font-weight: $font-weight-medium; - color: $text-dark; - transition: $transition-base; - cursor: pointer; - - @media (max-width: $breakpoint-sm) { - padding: $spacing-sm $spacing-md; - font-size: $font-size-xs; - } - - i { - &:first-child { - color: $primary-blue; - } - - &:last-child { - margin-left: auto; - font-size: $font-size-xs; - color: $text-gray; - transition: $transition-base; - } - } - - span { - font-weight: $font-weight-semibold; - color: $primary-blue; - } - - &:hover { - border-color: $primary-blue; - box-shadow: 0 0 0 3px rgba($primary-blue, 0.1); - } - - &.select-arrow-active { - border-color: $primary-blue; - - i:last-child { - transform: rotate(180deg); - } - } + @media (max-width: $breakpoint-sm) { + width: 100%; + height: 40px; + padding: $spacing-sm 36px $spacing-sm $spacing-md; + font-size: $font-size-xs; } - .select-items { - position: absolute; - top: calc(100% + $spacing-xs); - left: 0; - right: 0; - background: $white; - border: 2px solid $primary-blue; - border-radius: $border-radius-md; - box-shadow: $shadow-lg; - max-height: 240px; - overflow-y: auto; - z-index: $z-index-dropdown; - list-style: none; - padding: $spacing-xs; - margin: 0; + &:hover { + border-color: $primary-blue; + } - &.select-hide { - display: none; - } + &:focus { + outline: none; + border-color: $primary-blue; + } - li { - padding: $spacing-sm $spacing-md; - font-size: $font-size-sm; - color: $text-dark; - border-radius: $border-radius-sm; - cursor: pointer; - transition: $transition-base; - - @media (max-width: $breakpoint-sm) { - padding: $spacing-xs $spacing-sm; - font-size: $font-size-xs; - } - - &:hover { - background: $light-bg; - color: $primary-blue; - } - - &.selected { - background: $primary-blue; - color: $white; - font-weight: $font-weight-semibold; - } - } + option { + padding: $spacing-sm $spacing-md; + font-size: 14px; + color: #212529; } } } -// Terms Content +// Terms Content (Figma: 컨텐츠 영역) .terms-content { - padding: $spacing-3xl $spacing-2xl; + padding: 0 $spacing-xl; min-height: 400px; + background-color: #F6F9FB; @media (max-width: $breakpoint-sm) { - padding: $spacing-2xl $spacing-lg; + padding: $spacing-lg 0; min-height: 300px; } .content-body { - font-size: $font-size-base; + font-size: 16px; color: $text-dark; - line-height: $line-height-loose; - white-space: pre-wrap; + line-height: 1.8; word-wrap: break-word; @media (max-width: $breakpoint-sm) { @@ -271,39 +210,44 @@ } } - h1, h2, h3, h4, h5, h6 { + // 장 제목 (제1장 총칙) + h1, .chapter-title { + font-size: 20px; + font-weight: $font-weight-bold; + color: $text-dark; margin-top: $spacing-xl; margin-bottom: $spacing-md; - font-weight: $font-weight-semibold; - color: $text-dark; - line-height: $line-height-tight; + line-height: 1.4; &:first-child { margin-top: 0; } - } - - h1 { - font-size: $font-size-2xl; - font-weight: $font-weight-bold; - padding-bottom: $spacing-md; - border-bottom: 2px solid $border-gray; @media (max-width: $breakpoint-sm) { - font-size: $font-size-xl; + font-size: 18px; } } - h2 { - font-size: $font-size-xl; + // 조 제목 (제1조 (목적)) + h2, .article-title { + font-size: 18px; + font-weight: $font-weight-bold; + color: $text-dark; + margin-top: $spacing-lg; + margin-bottom: $spacing-sm; + line-height: 1.4; @media (max-width: $breakpoint-sm) { - font-size: $font-size-lg; + font-size: 16px; } } h3 { font-size: $font-size-lg; + font-weight: $font-weight-semibold; + color: $text-dark; + margin-top: $spacing-md; + margin-bottom: $spacing-sm; @media (max-width: $breakpoint-sm) { font-size: $font-size-base; @@ -332,24 +276,18 @@ ul, ol { margin: $spacing-md 0; - padding-left: $spacing-2xl; + padding-left: 0; + list-style: none; @media (max-width: $breakpoint-sm) { - padding-left: $spacing-lg; + padding-left: 0; } } - ul { - list-style-type: disc; - } - - ol { - list-style-type: decimal; - } - li { - margin-bottom: $spacing-sm; - line-height: $line-height-normal; + margin-bottom: $spacing-xs; + line-height: 1.8; + padding-left: 0; &:last-child { margin-bottom: 0; diff --git a/src/main/resources/templates/views/fragment/kjbank/header_container.html b/src/main/resources/templates/views/fragment/kjbank/header_container.html index 26d6559..b5e5e73 100644 --- a/src/main/resources/templates/views/fragment/kjbank/header_container.html +++ b/src/main/resources/templates/views/fragment/kjbank/header_container.html @@ -2,9 +2,9 @@ - + -