feat: 시즌별 마케팅 + 공지사항 관리 기능 추가
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m15s
TaxBaik Browser E2E / browser-e2e (push) Successful in 1m31s

- 연간 세무 캘린더(7개 시즌) 기반 자동 Hero 섹션 전환
- 시즌 감지 시 D-Day 카운트다운, 긴박감 배지, 시즌 CTA 표시
- 서비스 카드 순서 시즌 관련 항목 우선 정렬
- 어드민 공지사항 CRUD (등록·수정·삭제, 기간·유형 설정)
- 홈페이지 상단 공지 배너 자동 노출 (일반/배너/긴급)
- CLAUDE.md에 세무 캘린더 및 마케팅 방향 하네스 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-27 22:45:55 +09:00
parent 6af9221fab
commit cc72a67355
27 changed files with 1184 additions and 144 deletions
+87
View File
@@ -554,3 +554,90 @@ img {
background-color: rgba(200, 157, 110, 0.15) !important;
color: var(--color-primary) !important;
}
/* ===== 공지사항 배너 ===== */
.announcement-bar {
border-bottom: 1px solid rgba(0,0,0,0.08);
font-size: 0.9rem;
}
.announcement-bar--info {
background: #E8F4FD;
color: #1565C0;
}
.announcement-bar--banner {
background: #FFF8E1;
color: #E65100;
}
.announcement-bar--urgent {
background: #FFEBEE;
color: #C62828;
}
.announcement-icon {
flex-shrink: 0;
}
.announcement-text {
flex: 1;
}
/* ===== 시즌 Hero ===== */
.hero-section--seasonal {
background: linear-gradient(135deg, #1F3A30 0%, #2E5C4E 60%, #3D7A68 100%);
}
.bg-danger-badge {
background-color: rgba(198, 40, 40, 0.85) !important;
color: #fff !important;
letter-spacing: 0.5px;
}
/* D-Day 카운트다운 위젯 */
.seasonal-deadline-badge {
display: inline-flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 220px;
height: 220px;
border-radius: 50%;
border: 4px solid rgba(255,255,255,0.25);
background: rgba(255,255,255,0.08);
color: white;
backdrop-filter: blur(4px);
}
.deadline-label {
font-size: 0.85rem;
opacity: 0.75;
letter-spacing: 2px;
text-transform: uppercase;
}
.deadline-date {
font-size: 1.6rem;
font-weight: 800;
line-height: 1.2;
margin: 0.25rem 0;
}
.deadline-days {
font-size: 2.8rem;
font-weight: 900;
color: #FFD54F;
line-height: 1;
}
/* ===== 서비스 카드 시즌 강조 ===== */
.service-card--featured {
border: 2px solid var(--color-primary) !important;
position: relative;
}
.service-card-badge {
position: absolute;
top: -12px;
left: 50%;
transform: translateX(-50%);
background: var(--color-primary);
color: white;
font-size: 0.75rem;
font-weight: 700;
padding: 3px 14px;
border-radius: 20px;
white-space: nowrap;
letter-spacing: 0.5px;
}