/* Extracted from /news/index.php for browser caching. */
/* 카테고리 네비: 바 전체 하단 보더 없음 — 선택된 탭만 카테고리 색 밑줄(--nav-tab-accent, JS가 설정) */
body .news-nav .nav-btn.active,
body .news-nav a.nav-btn.active,
.news-nav .nav-btn.active,
.news-nav a.nav-btn.active {
    color: #0f172a;
    font-weight: 700;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    text-decoration: none;
    border: none;
    border-bottom: 3px solid var(--nav-tab-accent, #1e3a8a);
    opacity: 1;
    padding: 10px 16px 7px;
}

body .news-nav .nav-btn.active:hover,
body .news-nav a.nav-btn.active:hover,
.news-nav .nav-btn.active:hover,
.news-nav a.nav-btn.active:hover {
    color: #0f172a;
    background: transparent;
    border-bottom-color: var(--nav-tab-accent, #172554);
}

/* 전체 레이아웃 */
body {
    background: #ffffff !important;
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* 🔥 헤더 스타일은 improved_header.css에서 body.main-page로 통합 관리 */
/* 로고 스타일도 improved_header.css에서 완전히 관리하므로 여기서 오버라이드하지 않음 */

/* 헤더 네비게이션 — 공용 improved_header.css와 동일하게 검정(#000). 회색(#374151)은 흐릿해 보임 */
.improved-header .nav-btn {
    color: #000000 !important;
}

.improved-header .nav-btn:hover {
    color: #1e40af !important;
}

/* 🔥 헤더의 nav-btn.active (카테고리 네비게이션 제외) */
.improved-header .nav-btn.active:not(.news-nav .nav-btn) {
    color: #1e40af !important;
    font-weight: 600 !important;
}

/* 헤더의 ::before 도트는 improved_header.css에서 제어 */

/* 비로그인 햄버거만 회색·파랑 호버 (전체 .hamburger-menu에 주면 .logged-in 초록을 특이도로 덮어씀) */
.improved-header .hamburger-menu.not-logged-in {
    color: #374151 !important;
}

.improved-header .hamburger-menu.not-logged-in:hover {
    color: #1e40af !important;
}

.news-container {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    padding-top: 70px; /* 헤더 높이(70px) + 여유(30px) */
    background: white;
    box-sizing: border-box;
}

/* 헤더 */
.news-header {
    padding: 5px 0 0 0;
    margin-bottom: 10px;
}

.news-header-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: 0;
    border-bottom: none;
    margin-bottom: 10px;
    gap: 20px;
}

/* MBTI 심리테스트 링크 (RSS와 동일한 스타일) */
.mbti-link-title {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px !important;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    color: white !important;
    text-decoration: none !important;
    border-radius: 12px !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 4px rgba(102, 126, 234, 0.3) !important;
}

.mbti-link-title:hover {
    background: linear-gradient(135deg, #764ba2 0%, #667eea 100%) !important;
    box-shadow: 0 4px 8px rgba(102, 126, 234, 0.4) !important;
    transform: translateY(-1px);
    opacity: 1 !important;
}

.news-title-section {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.news-title {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    margin: 0;
}

/* 1행: is보험 뉴스 + RSS + MBTI / 2행: 부제 span (PC만) */
.news-title-cluster {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    min-width: 0;
    width: 100%;
}

.news-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 12px;
    min-width: 0;
}

.news-title-badges {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.news-title-brand-sub {
    display: none;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #64748b;
    line-height: 1.35;
    max-width: 100%;
}

@media (min-width: 1025px) {
    .news-title-brand-sub {
        display: block;
    }
}

/* is보험 뉴스 타이틀: 텍스트만(페이지 기본 폰트 계열 유지) */
.news-title-brand {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-width: 0;
    padding: 0;
    text-decoration: none;
    color: inherit;
    background: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
    transition: opacity 0.2s ease;
}

.news-title-brand:hover {
    opacity: 0.82;
}

.news-title-brand-head {
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: inherit;
}

.news-title-ai {
    font-weight: 600;
    color: inherit;
}

/* RSS 뱃지 스타일 */
.rss-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px !important;
    background: #f97316 !important;
    color: white !important;
    text-decoration: none !important;
    border-radius: 12px !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 4px rgba(249, 115, 22, 0.2) !important;
    vertical-align: middle;
}

.rss-badge:hover {
    background: #ea580c !important;
    box-shadow: 0 4px 8px rgba(249, 115, 22, 0.3) !important;
    transform: translateY(-1px);
    opacity: 1 !important;
}

.rss-badge i {
    font-size: 0.7rem;
}

/* 📊 시세 정보 스타일 (모바일 전용) */
.market-info-container {
    display: none; /* 기본적으로 숨김 (모바일에서만 표시) */
    gap: 5px;
    align-items: flex-start;
    align-self: flex-start;
    padding-top: 0;
    margin-right: 0;
    flex-shrink: 0;
}

/* 📊 시세 배너 스타일 (PC 전용 - 보험나이/BMI/직업급수 하단) */
.market-banner-section {
    display: block;
}

.market-banner-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    padding: 0;
    background: transparent;
    border: none;
}

.market-banner-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 6px 4px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.market-banner-label {
    font-size: 0.7rem;
    color: #333;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1;
}

.market-banner-value {
    font-size: 0.8rem;
    font-weight: 600;
    color: #6b7280; /* 회색으로 통일 */
    line-height: 1.1;
}

.market-banner-change {
    font-size: 0.65rem;
    font-weight: 600;
    line-height: 1;
}

/* 상승/하락에 따른 색상 적용 (직관적인 정보 제공) - 모든 시장 지수에 적용 */
.market-banner-item.up .market-banner-value {
    color: #ef4444 !important; /* 상승: 빨간색 */
}

.market-banner-item.up .market-banner-change {
    color: #ef4444 !important; /* 상승: 빨간색 */
}

.market-banner-item.down .market-banner-value {
    color: #3b82f6 !important; /* 하락: 파란색 */
}

.market-banner-item.down .market-banner-change {
    color: #3b82f6 !important; /* 하락: 파란색 */
}

/* 금과 USD도 상승/하락 색상 적용 (up/down 클래스가 없을 때만 기본 색상) */
.market-banner-item.gold:not(.up):not(.down) .market-banner-value {
    color: #000000; /* 기본 색상 */
}

.market-banner-item.usd:not(.up):not(.down) .market-banner-value {
    color: #000000; /* 기본 색상 */
}

.market-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 4px 6px;
    background: transparent;
    transition: all 0.3s ease;
    min-width: 80px;
}

.market-item:hover {
    transform: translateY(-1px);
}

.market-label {
    font-size: 0.75rem;
    color: #000000;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.market-value {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #6b7280; /* 회색으로 통일 */
    line-height: 1.2;
}

.market-change {
    font-size: 0.8rem;
    font-weight: 600;
}

/* 수치 값은 회색 유지, 변화율만 빨강/파랑 */
.market-item.up .market-value {
    color: #6b7280; /* 회색 유지 */
}

.market-item.up .market-change {
    color: #ef4444; /* 빨강 */
}

.market-item.down .market-value {
    color: #6b7280; /* 회색 유지 */
}

.market-item.down .market-change {
    color: #3b82f6; /* 파랑 */
}

.market-item.gold .market-value {
    color: #6b7280; /* 회색으로 통일 */
}

.market-item.usd .market-value {
    color: #6b7280; /* 회색으로 통일 */
}

/* 🔍 검색창 — 통합 pill + 포커스 링 (사이드바 톤과 맞춤) */
.search-container {
    display: flex;
    align-items: flex-start;
    align-self: flex-start;
    padding-top: 0;
    flex-shrink: 0;
}

.search-form {
    margin: 0;
}

.search-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: min(100%, 320px);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 4px 14px rgba(30, 64, 175, 0.06);
    transition: border-color 0.2s ease, box-shadow 0.22s ease;
}

.search-input-wrapper:focus-within {
    border-color: #93c5fd;
    box-shadow:
        0 0 0 3px rgba(59, 130, 246, 0.18),
        0 8px 24px rgba(37, 99, 235, 0.1);
}

.search-input-leading {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 0.88rem;
    pointer-events: none;
    z-index: 1;
}

.search-input {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 12px 52px 12px 40px;
    border: none;
    border-radius: 14px;
    background: transparent;
    font-size: 0.9rem;
    font-weight: 500;
    color: #0f172a;
    letter-spacing: -0.01em;
    outline: none;
}

.search-input-wrapper:has(.search-clear) .search-input {
    padding-right: 88px;
}

.search-input::placeholder {
    color: #94a3b8;
    font-weight: 400;
}

.search-btn {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #2563eb 0%, #1d4ed8 100%);
    color: #fff;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    font-size: 0.78rem;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.35);
    transition: transform 0.15s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.search-btn:hover {
    filter: brightness(1.06);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.45);
}

.search-btn:active {
    transform: translateY(-50%) scale(0.96);
}

.search-clear {
    position: absolute;
    right: 48px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #f1f5f9;
    color: #64748b;
    text-decoration: none;
    cursor: pointer;
    font-size: 0.72rem;
    transition: background 0.15s ease, color 0.15s ease;
}

.search-clear:hover {
    background: #fee2e2;
    color: #dc2626;
}

/* 🔍 모바일 검색창 대응 */
@media (max-width: 1024px) {
    /* 모바일에서 시세 배너 숨김 */
    .market-banner-section {
        display: none !important;
    }
    
    /* 모바일: 뉴스 헤더 시세(코스피·코스닥 등) 숨김 — PC는 .market-info-container 기본 display:none 유지 */
    .market-info-container {
        display: none !important;
    }
    
    .news-header-top {
        flex-direction: column;
        gap: 12px;
        align-items: stretch;
        border-bottom: none;
        padding-bottom: 0;
    }
    
    /* 모바일: MBTI 링크 크기 조정 */
    .mbti-link-title {
        padding: 3px 8px !important;
        font-size: 0.65rem !important;
        border-radius: 10px !important;
    }
    
    .news-title-section {
        width: 100%;
    }
    
    /* 모바일에서 검색창 숨김 */
    .search-container {
        display: none !important;
    }
    
    
    /* 메인 페이지 콘텐츠 상단 여백 제거 */
    .index-main-content {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .article-meta {
        margin-bottom: 0px !important;
    }
}

/* 뉴스 카테고리 네비 — 미니멀(박스/그라데이션 없음, 스크롤 탭 + 선택만 강조) */
.news-nav {
    display: flex;
    gap: 2px;
    align-items: flex-end;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    border-bottom: none;
    margin-bottom: 8px;
    padding: 4px 0 0;
    background: transparent;
    border-radius: 0;
    border: none;
    box-shadow: none;
}

/* 홈·카테고리 뷰: 네비 하단 전체 구분선 없음 (선택 탭 밑줄만) */
.news-nav.category-nav,
.news-nav.home-nav {
    border-radius: 0;
    border-bottom: none;
}

.news-nav::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

/* 뉴스 카테고리 탭 (헤더 네비 .nav-btn 과 구분) */
.news-nav .nav-btn {
    padding: 10px 14px 8px;
    margin-bottom: 0;
    border: none;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: #64748b;
    text-decoration: none;
    font-weight: 500;
    font-size: 0.94rem;
    letter-spacing: -0.02em;
    cursor: pointer;
    position: relative;
    white-space: nowrap;
    flex-shrink: 0;
    border-radius: 0;
    transition: color 0.15s ease, border-bottom-color 0.15s ease;
    box-shadow: none;
}

.news-nav .nav-btn:hover {
    color: #1e40af;
    background: transparent;
    text-decoration: none;
    border-bottom-color: #e2e8f0;
}

.news-nav .nav-btn:active {
    transform: none;
}

/* 마우스 클릭 포커스 링 제거 — 키보드는 :focus-visible에서 밑줄만 */
.news-nav .nav-btn:focus:not(:focus-visible) {
    outline: none;
}

.news-nav .nav-btn:focus-visible {
    outline: none;
    color: #1e40af;
    border-bottom-color: #60a5fa;
}

.news-nav .nav-btn.active:focus-visible {
    border-bottom-color: var(--nav-tab-accent, #172554);
}

/* 선택 탭 밑줄·글자색: 상단 body .news-nav … .active */

/* 카테고리 네비게이션 도트 제거 (모든 상태에서) */
.news-nav .nav-btn::before {
    display: none !important;
    transition: none !important;
}

.news-nav .nav-btn:hover::before {
    display: none !important;
    transition: none !important;
}

/* 관리자 버튼 스타일 */
.admin-actions {
    display: flex;
    gap: 10px;
    margin-top: 15px;
}

.admin-btn {
    padding: 8px 16px;
    border: none;
    border-radius: 6px;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.admin-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

/* PC/모바일 공통: FAB (심플 — 흰 바탕·검정 보더·검정 아이콘) */
.admin-fab-container {
    display: block;
    position: fixed;
    right: 20px;
    bottom: 100px;
    z-index: 9999;
}

.admin-fab-trigger {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid #000000;
    box-shadow: none;
    color: #000000;
    font-size: 19px;
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.admin-fab-trigger:hover {
    transform: scale(1.05);
    background: #f9fafb;
}

.admin-fab-trigger.active {
    background: #ffffff;
    border-color: #000000;
    color: #000000;
    transform: rotate(45deg);
}

.admin-fab-menu {
    position: absolute;
    bottom: 62px;
    right: 0;
    display: none;
    flex-direction: column;
    gap: 8px;
    padding: 10px;
    background: #ffffff;
    border: 2px solid #000000;
    border-radius: 14px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
    min-width: 168px;
    max-height: 70vh;
    overflow-y: auto;
}

.admin-fab-menu.show {
    display: flex;
    animation: fadeInUp 0.3s ease;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.admin-fab-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 14px;
    border-radius: 10px;
    border: 1px solid #000000;
    font-size: 14px;
    font-weight: 500;
    background: #ffffff;
    color: #000000;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
    text-decoration: none;
    white-space: nowrap;
}

.admin-fab-item:hover {
    transform: translateX(-3px);
    background: #f3f4f6;
}

.admin-fab-item i {
    width: 20px;
    text-align: center;
    color: #000000;
}

/* PC/모바일 공통: 기존 관리자 버튼 숨김 - FAB으로 대체 */
.admin-actions {
    display: none !important;
}

/* 메인 레이아웃 */
.news-layout {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 0px;
    margin-top: 10px;
}

/* 보험뉴스 카테고리: 좌우 레이아웃 유지 (우측 사이드바 유지) */
.news-layout.insurance-news-full-width {
    grid-template-columns: 5fr 2fr !important;
}

/* 보험뉴스 세로 나열 레이아웃 */
.insurance-news-vertical-layout {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    margin-top: 20px;
}

.insurance-news-left-column {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.insurance-news-column {
    display: flex;
    flex-direction: column;
}

.insurance-news-column-header {
    padding: 12px 16px;
    border-radius: 8px 8px 0 0;
    margin-bottom: 0;
}

.insurance-news-column-list {
    list-style: none;
    padding: 0;
    margin: 0;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-top: none;
    border-radius: 0 0 8px 8px;
    padding: 16px;
    max-height: 400px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #d1d5db #f3f4f6;
}

.insurance-news-column-list::-webkit-scrollbar {
    width: 6px;
}

.insurance-news-column-list::-webkit-scrollbar-track {
    background: #f3f4f6;
    border-radius: 3px;
}

.insurance-news-column-list::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 3px;
}

.insurance-news-column-list::-webkit-scrollbar-thumb:hover {
    background: #9ca3af;
}

.insurance-news-column-item {
    padding: 12px 0;
    border-bottom: 1px solid #f3f4f6;
}

.insurance-news-column-item:last-child {
    border-bottom: none;
}

.insurance-news-column-item h4 a:hover {
    color: #1e40af;
    text-decoration: underline;
}

/* 메인배너 슬라이더 컨테이너 - 이펙트 효과 제거, 단순 출력 */
.main-banner-slider {
    position: relative;
    margin-bottom: 5px;
    overflow: hidden;
    border-radius: 12px;
    width: 100%; /* 배너 너비 고정 */
    background: transparent; /* 배경 효과 제거 */
}

/* 메인배너 슬라이더 배경 글로우 효과 제거 */
/* .main-banner-slider::before {
    content: '';
    position: absolute;
    inset: -40px;
    background:
        radial-gradient(circle at 0% 50%, rgba(56, 189, 248, 0.55), transparent 55%),
        radial-gradient(circle at 100% 0%, rgba(129, 140, 248, 0.45), transparent 55%),
        conic-gradient(from 210deg,
            rgba(56, 189, 248, 0.6),
            rgba(236, 72, 153, 0.5),
            rgba(16, 185, 129, 0.5),
            rgba(56, 189, 248, 0.6));
    opacity: 0.9;
    filter: blur(26px);
    transform: translate3d(0, 0, 0);
    animation: mainBannerGlow 26s linear infinite;
    z-index: 0;
}

@keyframes mainBannerGlow {
    0% {
        transform: translate3d(0, 0, 0) rotate(0deg);
    }
    50% {
        transform: translate3d(-12px, 6px, 0) rotate(180deg);
    }
    100% {
        transform: translate3d(0, 0, 0) rotate(360deg);
    }
} */

/* ============================================
   🎨 SERVICE HIGHLIGHT BANNER
   ============================================ */

/* 메인배너 슬라이더 컨테이너 - 이펙트 효과 제거 */
.main-banner-slider {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    background: transparent; /* 배경 효과 제거 */
}

/* 새 배너 이미지 컨테이너 — 실제 에셋 규격 1536×294 (약분 시 256×49와 동일 비율) */
/* 실제 표시 크기 계산:
   - 전체 컨테이너: 1200px (max-width)
   - 좌우 padding: 20px씩 = 40px
   - 실제 콘텐츠 너비: 1200 - 40 = 1160px
   - 그리드 레이아웃: 2fr 1fr (좌측 2/3, 우측 1/3)
   - 좌측 영역 너비: 1160 * (2/3) = 약 773.33px
   - 비율 1536:294 기준 높이: 773.33 * (294/1536) = 약 148px
   포토샵 작업 크기: 1536px × 294px 권장
*/
/* 구글 애드센스 광고 스타일 제거됨 */

.dazabi-banner-image-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-bottom: 16px;
}
.dazabi-banner-image-container img.dazabi-banner-slide {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    object-position: center;
}

/* 배너 롤링: 3장 교차 페이드 — 표시 비율 1536×294(=256:49), 에셋과 맞춰 추가 크롭 최소화 */
.dazabi-banner-rolling {
    position: relative;
}
.dazabi-banner-rolling-3 {
    aspect-ratio: 1536 / 294;
    width: 100%;
}
.dazabi-banner-rolling-3 .dazabi-banner-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
}
/* 위 일반 규칙보다 구체적으로: 1번도 절대배치 + cover, 중앙 기준(미세 오차만 보정) */
.dazabi-banner-image-container.dazabi-banner-rolling-3 img.dazabi-banner-slide-1 {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
    animation: dazabiBanner3Fade1 15s ease-in-out infinite;
}
.dazabi-banner-rolling-3 .dazabi-banner-slide-2 {
    animation: dazabiBanner3Fade2 15s ease-in-out infinite;
}
.dazabi-banner-rolling-3 .dazabi-banner-slide-3 {
    animation: dazabiBanner3Fade3 15s ease-in-out infinite;
}
.dazabi-banner-rolling-3 .dazabi-banner-link-slide {
    text-decoration: none;
    display: block;
    overflow: hidden;
    box-sizing: border-box;
    line-height: 0;
}
.dazabi-banner-rolling-3 .dazabi-banner-link-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}
@keyframes dazabiBanner3Fade1 {
    0%, 28% { opacity: 1; z-index: 2; }
    33%, 94% { opacity: 0; z-index: 0; }
    97%, 100% { opacity: 1; z-index: 2; }
}
@keyframes dazabiBanner3Fade2 {
    0%, 28% { opacity: 0; z-index: 0; }
    33%, 61% { opacity: 1; z-index: 2; }
    66%, 100% { opacity: 0; z-index: 0; }
}
@keyframes dazabiBanner3Fade3 {
    0%, 61% { opacity: 0; z-index: 0; }
    66%, 94% { opacity: 1; z-index: 2; }
    97%, 100% { opacity: 0; z-index: 0; }
}

/* 홈 페이지 배너: 사방 radius, 보더 없음 */
.dazabi-banner-image-container.home-banner {
    border-radius: 12px;
}
.dazabi-banner-image-container.home-banner .dazabi-banner-slide-1,
.dazabi-banner-image-container.home-banner .dazabi-banner-link-slide {
    border-radius: 12px;
}

/* 카테고리 페이지 배너 */
.dazabi-banner-image-container.category-banner {
    border-radius: 10px;
}
.dazabi-banner-image-container.category-banner .dazabi-banner-slide-1,
.dazabi-banner-image-container.category-banner .dazabi-banner-link-slide {
    border-radius: 10px;
}
.dazabi-banner-image-container.category-banner .dazabi-banner-link-slide {
    margin-bottom: 0;
}

/* 카테고리별 배너: 은은한 그라데이션만(왼쪽 세로 띠는 제거) — --banner-accent 는 PHP/JS에서 설정 */
.banner-cat-tone::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    z-index: 5;
    pointer-events: none;
    background: linear-gradient(115deg, var(--banner-accent, #2563eb) 0%, transparent 52%);
    opacity: 0.2;
}

/* 배너 이미지 애니메이션 효과 제거 - 단순 출력 */
/* @keyframes bannerImageReveal {
    0% {
        opacity: 0;
        transform: scale(0.95) translateY(10px);
        filter: blur(4px);
    }
    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
        filter: blur(0);
    }
} */

/* 배너 위에 오버레이 텍스트 효과 */
.dazabi-banner-overlay {
    position: absolute;
    top: 0;
    left: 140px; /* 좌측 인물 영역 제외 */
    right: 140px; /* 우측 인물 영역 제외 */
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 1;
    padding: 20px;
}

.dazabi-banner-text {
    color: #000000; /* 검정색 */
    font-size: 2rem;
    font-weight: 700;
    text-shadow: none; /* 텍스트 쉐도우 제거 */
    white-space: normal; /* 여러 줄 허용 */
    overflow: hidden;
    opacity: 0;
    transform-origin: left center; /* 왼쪽 기준 */
    line-height: 1.2; /* 줄간격 좁힘 */
    letter-spacing: 0.05em;
    text-align: center; /* 컨테이너는 중앙 정렬 */
    width: 100%;
}

/* 타이핑 효과용 텍스트 */
.dazabi-banner-text.typing {
    animation: textTyping 3s steps(20, end) forwards;
}

/* 2줄 텍스트 스타일 */
.banner-text-line {
    display: inline-block;
    margin: 0;
    padding: 0;
    line-height: 1.2; /* 줄간격 좁힘 */
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    text-align: left; /* 왼쪽 정렬 */
}

.banner-text-line:first-child {
    margin-bottom: 0.1em; /* 줄간격 좁힘 (0.3em → 0.1em) */
    font-size: 0.85em; /* 조금 작게 */
    animation: textTypingLine1 2s steps(15, end) forwards;
    opacity: 0;
    text-align: left; /* 왼쪽 정렬 */
    display: block; /* 블록으로 변경하여 왼쪽 정렬 적용 */
}

.banner-text-line:last-child {
    font-size: 1.15em; /* 지금 크기보다 조금 크게 */
    animation: textTypingLine2WithSlide 3s steps(18, end) 2s forwards; /* 첫 줄 완료 후 시작 (2초 딜레이) */
    opacity: 0;
    transform: translateY(30px); /* 아래에서 시작 */
    text-align: left; /* 왼쪽 정렬 */
    display: block; /* 블록으로 변경하여 왼쪽 정렬 적용 */
}

/* 첫 번째 줄 타이핑 효과 */
@keyframes textTypingLine1 {
    0% {
        width: 0;
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    100% {
        width: 100%;
        opacity: 1;
    }
}

/* 두 번째 줄 타이핑 효과 (기존) */
@keyframes textTypingLine2 {
    0% {
        width: 0;
        opacity: 0;
    }
    10% {
        opacity: 1;
    }
    100% {
        width: 100%;
        opacity: 1;
    }
}

/* 두 번째 줄: 아래에서 위로 슬라이드하며 타이핑되는 효과 */
@keyframes textTypingLine2WithSlide {
    0% {
        width: 0;
        opacity: 0;
        transform: translateY(30px);
    }
    20% {
        opacity: 1;
        transform: translateY(15px);
    }
    50% {
        transform: translateY(5px);
    }
    100% {
        width: 100%;
        opacity: 1;
        transform: translateY(0);
    }
}

/* 커서는 마지막 줄에만 표시 (타이핑 완료 후) */
.banner-text-line:last-child::after {
    content: '|';
    animation: typingCursor 1s infinite 3.5s;
    margin-left: 4px;
    opacity: 0;
    animation-fill-mode: forwards;
}

/* 효과 1: 글씨가 말려서 펴지는 효과 (Unroll) */
@keyframes textUnroll {
    0% {
        opacity: 0;
        transform: rotateX(90deg) translateY(50px);
        letter-spacing: -20px;
    }
    60% {
        opacity: 1;
        transform: rotateX(0deg) translateY(0);
        letter-spacing: 2px;
    }
    100% {
        opacity: 1;
        transform: rotateX(0deg) translateY(0);
        letter-spacing: 0px;
    }
}

/* 효과 2: 글씨가 타이핑되는 효과 (Typing) */
@keyframes textTyping {
    0% {
        width: 0;
        opacity: 0;
        border-right: 2px solid rgba(255, 255, 255, 0.8);
    }
    50% {
        opacity: 1;
        border-right: 2px solid rgba(255, 255, 255, 0.8);
    }
    99% {
        border-right: 2px solid rgba(255, 255, 255, 0.8);
    }
    100% {
        width: 100%;
        opacity: 1;
        border-right: none;
    }
}

/* 타이핑 커서 깜빡임 효과 */
@keyframes typingCursor {
    0%, 50% {
        opacity: 1;
    }
    51%, 100% {
        opacity: 0;
    }
}

/* 효과 3: 글씨가 파도치듯 나타나는 효과 (Wave) */
@keyframes textWave {
    0%, 100% {
        transform: translateY(0);
    }
    25% {
        transform: translateY(-10px);
    }
    75% {
        transform: translateY(10px);
    }
}

/* 효과 4: 글씨가 확대되며 나타나는 효과 (Zoom) */
@keyframes textZoom {
    0% {
        opacity: 0;
        transform: scale(0.3) rotate(-10deg);
    }
    60% {
        opacity: 1;
        transform: scale(1.1) rotate(2deg);
    }
    100% {
        opacity: 1;
        transform: scale(1) rotate(0deg);
    }
}

/* 효과 5: 글씨가 흔들리며 나타나는 효과 (Shake) */
@keyframes textShake {
    0%, 100% {
        transform: translateX(0);
    }
    10%, 30%, 50%, 70%, 90% {
        transform: translateX(-5px);
    }
    20%, 40%, 60%, 80% {
        transform: translateX(5px);
    }
}

/* 효과 6: 글씨가 회전하며 나타나는 효과 (Rotate) */
@keyframes textRotate {
    0% {
        opacity: 0;
        transform: rotate(-180deg) scale(0);
    }
    100% {
        opacity: 1;
        transform: rotate(0deg) scale(1);
    }
}

/* 효과 7: 글씨가 슬라이드하며 나타나는 효과 (Slide) */
@keyframes textSlide {
    0% {
        opacity: 0;
        transform: translateX(-100px);
        letter-spacing: 20px;
    }
    100% {
        opacity: 1;
        transform: translateX(0);
        letter-spacing: 0px;
    }
}

/* 효과 8: 글씨가 점점 나타나는 효과 (Fade In Letters) */
@keyframes fadeInLetters {
    0% {
        opacity: 0;
        letter-spacing: -10px;
    }
    100% {
        opacity: 1;
        letter-spacing: 0px;
    }
}

@media (max-width: 1024px) {

    .news-nav.category-nav {
        margin-bottom: 6px;
    }
    .dazabi-banner-image-container {
        overflow: hidden;
        margin-bottom: 5px;
    }
    .dazabi-banner-image-container.home-banner,
    .dazabi-banner-image-container.home-banner .dazabi-banner-slide-1,
    .dazabi-banner-image-container.home-banner .dazabi-banner-link-slide {
        border-radius: 10px;
    }
    .dazabi-banner-image-container.category-banner,
    .dazabi-banner-image-container.category-banner .dazabi-banner-slide-1,
    .dazabi-banner-image-container.category-banner .dazabi-banner-link-slide {
        border-radius: 10px;
    }
    
    .dazabi-banner-text {
        font-size: 1.2rem; /* 모바일에서 폰트 크기 조정 */
        padding: 0 10px;
    }
    
    .dazabi-banner-overlay {
        padding: 15px;
        left: 80px; /* 모바일에서 좌측 여백 축소 */
        right: 80px; /* 모바일에서 우측 여백 축소 */
    }

    /* 🔥 모바일에서 하단 광고 숨김 (연속 광고 방지) */
    .bottom-ad-section {
        display: none !important;
    }
}

/* 메인배너 슬라이더 내부 슬라이드 (주석처리됨) */
.main-banner-slider .insurance-consult-banner.main-banner-slide {
    display: none;
    opacity: 0;
    transition: opacity 0.5s ease;
    height: auto;
    min-height: 88px;
    width: 100%;
}

.main-banner-slider .insurance-consult-banner.main-banner-slide.active {
    display: block;
    opacity: 1;
}

/* 배너 기본 스타일 */
.insurance-consult-banner {
    padding: 16px 24px;
    color: #ffffff;
    width: 100%;
    text-decoration: none;
}

/* 배너 내부 레이아웃 */
.banner-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

/* 왼쪽: 메인 메시지 */
.banner-main {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;
}

.banner-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}

.banner-text h3 {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 4px 0;
    color: #ffffff;
}

.banner-text p {
    font-size: 0.8rem;
    margin: 0;
    color: rgba(255, 255, 255, 0.6);
}

/* 오른쪽: 서비스 태그들 */
.banner-services {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.banner-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.9);
    white-space: nowrap;
    transition: all 0.3s ease;
    cursor: default;
    backdrop-filter: blur(4px);
}

.banner-tag:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.banner-tag i {
    font-size: 0.7rem;
    opacity: 0.8;
    transition: transform 0.3s ease;
}

.banner-tag:hover i {
    transform: scale(1.2);
}

/* 배너 아이콘 기본 애니메이션 */
.banner-icon {
    transition: all 0.3s ease;
}

.banner-icon:hover {
    transform: scale(1.1) rotate(5deg);
}

/* 배너 텍스트 호버 효과 */
.banner-text h3 {
    transition: all 0.3s ease;
}

.banner-main:hover .banner-text h3 {
    letter-spacing: 0.5px;
}

/* 숨김 요소들 */
.insurance-consult-banner__badge,
.insurance-consult-banner__text,
.insurance-consult-banner__logo,
.insurance-consult-banner__logo-img,
.insurance-consult-banner__compliance,
.insurance-consult-banner__cta,
.insurance-consult-banner__headlines,
.insurance-consult-banner__headline,
.insurance-consult-banner__footer,
.insurance-consult-banner__note,
.banner-glow-orb,
.banner-visual,
.years-highlight,
.years-number {
    display: none;
}

/* ============================================
   슬라이드별 컬러 테마 + 애니메이션
   ============================================ */

/* 슬라이드 1: 보험 뉴스 - 블루 그라데이션 + 물결 효과 */
.banner-slide--news {
    background: linear-gradient(120deg, #0c1929 0%, #1e3a5f 40%, #2563eb 100%);
    background-size: 200% 200%;
    animation: gradientShift 8s ease infinite;
    position: relative;
    overflow: hidden;
}

.banner-slide--news::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(59, 130, 246, 0.15) 0%, transparent 50%);
    animation: pulseGlow 4s ease-in-out infinite;
}

.banner-slide--news .banner-icon {
    background: rgba(59, 130, 246, 0.25);
    color: #60a5fa;
    box-shadow: 0 0 20px rgba(59, 130, 246, 0.3);
}

.banner-slide--news .banner-tag {
    background: rgba(59, 130, 246, 0.2);
    border: 1px solid rgba(96, 165, 250, 0.3);
}

/* 슬라이드 2: 종합 포털 - 퍼플 그라데이션 + 파티클 효과 */
.banner-slide--portal {
    background: linear-gradient(135deg, #1e1b4b 0%, #4c1d95 50%, #7c3aed 100%);
    background-size: 200% 200%;
    animation: gradientShift 8s ease infinite;
    position: relative;
    overflow: hidden;
}

.banner-slide--portal::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 20% 80%, rgba(167, 139, 250, 0.2) 0%, transparent 30%),
        radial-gradient(circle at 80% 20%, rgba(139, 92, 246, 0.15) 0%, transparent 30%);
    animation: floatBg 6s ease-in-out infinite;
}

.banner-slide--portal .banner-icon {
    background: rgba(139, 92, 246, 0.25);
    color: #a78bfa;
    box-shadow: 0 0 20px rgba(139, 92, 246, 0.3);
}

.banner-slide--portal .banner-tag {
    background: rgba(139, 92, 246, 0.2);
    border: 1px solid rgba(167, 139, 250, 0.3);
}

/* 슬라이드 3: AI 서비스 - 다크 + 네온 효과 */
.banner-slide--ai {
    background: linear-gradient(135deg, #030712 0%, #111827 50%, #1f2937 100%);
    position: relative;
    overflow: hidden;
}

.banner-slide--ai::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 200%;
    height: 100%;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(16, 185, 129, 0.05) 25%, 
        rgba(16, 185, 129, 0.1) 50%, 
        rgba(16, 185, 129, 0.05) 75%, 
        transparent 100%);
    animation: scanLine 3s linear infinite;
}

.banner-slide--ai::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, #10b981, transparent);
    animation: lineGlow 2s ease-in-out infinite;
}

.banner-slide--ai .banner-icon {
    background: rgba(16, 185, 129, 0.2);
    color: #34d399;
    box-shadow: 0 0 25px rgba(16, 185, 129, 0.4);
    animation: iconPulse 2s ease-in-out infinite;
}

.banner-slide--ai .banner-tag {
    background: rgba(16, 185, 129, 0.15);
    border: 1px solid rgba(52, 211, 153, 0.3);
}

.banner-slide--ai .banner-text h3 {
    text-shadow: 0 0 20px rgba(16, 185, 129, 0.5);
}

/* 애니메이션 정의 */
@keyframes gradientShift {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

@keyframes pulseGlow {
    0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.5; }
    50% { transform: translate(-50%, -50%) scale(1.2); opacity: 0.8; }
}

@keyframes floatBg {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-10px) rotate(2deg); }
}

@keyframes scanLine {
    0% { left: -100%; }
    100% { left: 100%; }
}

@keyframes lineGlow {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 1; }
}

@keyframes iconPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

/* 슬라이드 4: 보험사 서비스 - 오렌지/골드 */
.banner-slide--service {
    background: linear-gradient(135deg, #78350f 0%, #b45309 50%, #d97706 100%);
    background-size: 200% 200%;
    animation: gradientShift 8s ease infinite;
    position: relative;
    overflow: hidden;
}

.banner-slide--service::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: 
        radial-gradient(circle at 30% 70%, rgba(251, 191, 36, 0.2) 0%, transparent 40%),
        radial-gradient(circle at 70% 30%, rgba(245, 158, 11, 0.15) 0%, transparent 40%);
    animation: floatBg 6s ease-in-out infinite;
}

.banner-slide--service .banner-icon {
    background: rgba(251, 191, 36, 0.25);
    color: #fcd34d;
    box-shadow: 0 0 20px rgba(251, 191, 36, 0.3);
}

.banner-slide--service .banner-tag {
    background: rgba(251, 191, 36, 0.2);
    border: 1px solid rgba(252, 211, 77, 0.3);
}

/* (구) Creator 배너 - 사용안함 */

/* (구) Beta 배너 - 사용안함 */

.banner-slide--coming {
    border-color: rgba(251, 146, 60, 0.98);
    box-shadow:
        0 0 0 1px rgba(251, 146, 60, 0.8),
        0 20px 42px rgba(249, 115, 22, 0.85);
    background:
        radial-gradient(circle at 100% 0%, rgba(251, 191, 36, 0.6), transparent 55%),
        radial-gradient(circle at 0% 100%, rgba(248, 113, 113, 0.4), transparent 55%),
        linear-gradient(135deg, rgba(15, 23, 42, 0.98), rgba(30, 64, 175, 0.92));
}

/* AI 배너 스타일 */
.main-banner-ai {
    background: #1e293b;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    cursor: default;
    pointer-events: auto;
    height: 120px; /* PC/모바일 공통 높이 고정 (1600×240 이미지 기준) */
    width: 100%; /* 배너 너비 고정 */
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px;
    align-items: center;
    padding: 12px 24px;
    overflow: hidden;
}

/* 배경 이미지가 있을 경우 배경색 위에 표시 */
.main-banner-ai[data-bg-image] {
    background-image: var(--ai-banner-bg-image);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.main-banner-ai:hover {
    transform: none;
    box-shadow: none;
}

/* AI 기술 이펙트 컨테이너 */
.main-banner-ai-effects {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}

/* 그리드 패턴 효과 */
.ai-effect-grid {
    position: absolute;
    inset: 0;
    background-image: 
        linear-gradient(rgba(99, 102, 241, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(99, 102, 241, 0.1) 1px, transparent 1px);
    background-size: 40px 40px;
    animation: ai-grid-move 20s linear infinite;
    opacity: 0.4;
}

@keyframes ai-grid-move {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(40px, 40px);
    }
}

/* 파티클 효과 */
.ai-effect-particles {
    position: absolute;
    inset: 0;
}

.ai-effect-particles span {
    position: absolute;
    width: 4px;
    height: 4px;
    background: rgba(139, 92, 246, 0.6);
    border-radius: 50%;
    animation: ai-particle-float 8s ease-in-out infinite;
    box-shadow: 0 0 10px rgba(139, 92, 246, 0.8);
}

.ai-effect-particles span:nth-child(1) { left: 10%; top: 20%; animation-delay: 0s; }
.ai-effect-particles span:nth-child(2) { left: 30%; top: 60%; animation-delay: 1s; }
.ai-effect-particles span:nth-child(3) { left: 50%; top: 30%; animation-delay: 2s; }
.ai-effect-particles span:nth-child(4) { left: 70%; top: 70%; animation-delay: 3s; }
.ai-effect-particles span:nth-child(5) { left: 90%; top: 40%; animation-delay: 4s; }
.ai-effect-particles span:nth-child(6) { left: 20%; top: 80%; animation-delay: 5s; }
.ai-effect-particles span:nth-child(7) { left: 60%; top: 10%; animation-delay: 6s; }
.ai-effect-particles span:nth-child(8) { left: 80%; top: 50%; animation-delay: 7s; }
.ai-effect-particles span:nth-child(9) { left: 15%; top: 50%; animation-delay: 1.5s; }
.ai-effect-particles span:nth-child(10) { left: 85%; top: 25%; animation-delay: 3.5s; }

@keyframes ai-particle-float {
    0%, 100% {
        transform: translateY(0) translateX(0);
        opacity: 0.3;
    }
    25% {
        transform: translateY(-20px) translateX(10px);
        opacity: 0.8;
    }
    50% {
        transform: translateY(-10px) translateX(-10px);
        opacity: 0.6;
    }
    75% {
        transform: translateY(-30px) translateX(5px);
        opacity: 0.9;
    }
}

/* 데이터 스트림 효과 */
.ai-effect-streams {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.stream-line {
    position: absolute;
    width: 2px;
    height: 100%;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(99, 102, 241, 0.4),
        transparent
    );
    animation: ai-stream-flow 3s ease-in-out infinite;
}

.stream-line:nth-child(1) {
    left: 20%;
    animation-delay: 0s;
}

.stream-line:nth-child(2) {
    left: 50%;
    animation-delay: 1s;
    width: 1px;
}

.stream-line:nth-child(3) {
    left: 80%;
    animation-delay: 2s;
}

@keyframes ai-stream-flow {
    0% {
        transform: translateY(-100%);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: translateY(100%);
        opacity: 0;
    }
}

/* 왼쪽 AI 이미지 영역 */
.main-banner-ai-image {
    flex-shrink: 0;
    width: 70px;
    height: 70px;
    border-radius: 8px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.main-banner-ai-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

/* 가운데 텍스트 영역 (스와이프 가능) */
.main-banner-ai-text-wrapper {
    position: relative;
    z-index: 1;
    width: 100%;
    overflow: hidden;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.main-banner-ai-text-wrapper:active {
    cursor: grabbing;
}

.main-banner-ai-text-container {
    display: flex;
    transition: transform 0.3s ease;
    will-change: transform;
}

.main-banner-ai-title {
    min-width: 100%;
    font-size: 1.1rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    padding: 0 8px;
    text-align: left;
    opacity: 0;
    transform: translateX(20px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.main-banner-ai-title.active {
    opacity: 1;
    transform: translateX(0);
}

/* 스와이프 힌트 */
.main-banner-ai-swipe-hint {
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.6);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    white-space: nowrap;
}

.main-banner-ai-text-wrapper:hover .main-banner-ai-swipe-hint {
    opacity: 1;
}

.main-banner-ai-swipe-hint i {
    font-size: 0.6rem;
    animation: swipe-hint-pulse 1.5s ease-in-out infinite;
}

@keyframes swipe-hint-pulse {
    0%, 100% { opacity: 0.6; transform: translateX(0); }
    50% { opacity: 1; transform: translateX(3px); }
}

.main-banner-ai-swipe-hint i:first-child {
    animation-direction: reverse;
}


.main-banner-ai-text-rotator {
    position: relative;
    width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.main-banner-ai-title {
    position: absolute;
    width: 100%;
    font-size: 1.5rem;
    font-weight: 800;
    background: linear-gradient(135deg, #ffffff 0%, #e0e7ff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: 0 0 30px rgba(139, 92, 246, 0.5);
    letter-spacing: -0.01em;
    line-height: 1.4;
    margin: 0;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-in-out, transform 0.8s ease-in-out;
    pointer-events: none;
}

.main-banner-ai-title.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

@media (max-width: 1024px) {
    .main-banner-slider {
        border-radius: 12px;
    }
    
    .main-banner-slider .insurance-consult-banner.main-banner-slide {
        display: none;
        min-height: 80px;
    }
    
    .main-banner-slider .insurance-consult-banner.main-banner-slide.active {
        display: block;
    }
    
    .insurance-consult-banner {
        padding: 12px 16px;
    }
    
    .banner-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .banner-main {
        gap: 12px;
    }
    
    .banner-icon {
        width: 40px;
        height: 40px;
        font-size: 16px;
        border-radius: 10px;
    }
    
    .banner-text h3 {
        font-size: 0.95rem;
        margin-bottom: 2px;
    }
    
    .banner-text p {
        font-size: 0.7rem;
    }
    
    .banner-services {
        gap: 6px;
    }
    
    .banner-tag {
        padding: 4px 8px;
        font-size: 0.65rem;
        gap: 4px;
    }
    
    .banner-tag i {
        font-size: 0.6rem;
    }
    
    /* AI 배너 모바일 스타일 */
    .main-banner-ai {
        grid-template-columns: auto 1fr;
        gap: 12px;
        min-height: 80px !important;
        width: 100% !important;
        padding: 10px 16px;
    }
    
    .main-banner-ai-image {
        width: 50px;
        height: 50px;
    }
    
    .main-banner-ai-text-wrapper {
        overflow: hidden;
    }
    
    .main-banner-ai-title {
        font-size: 0.95rem;
        line-height: 1.3;
        padding: 0 4px;
    }
    
    .main-banner-ai-swipe-hint {
        bottom: -18px;
        font-size: 0.6rem;
    }
    
    .ai-effect-grid {
        background-size: 25px 25px;
    }
    
    .ai-effect-particles span {
        width: 3px;
        height: 3px;
    }

    .insurance-consult-banner__logo {
        grid-row: 1;
        grid-column: 1;
        margin: 0;
        padding: 0;
        align-self: center;
    }

    .insurance-consult-banner__logo-img {
        max-height: 18px;
        filter: brightness(0) invert(1);
    }

    .insurance-consult-banner__text {
        grid-column: 1 / -1;
        display: contents;
    }

    .insurance-consult-banner__headlines {
        grid-column: 1 / -1;
        display: contents;
    }

    .insurance-consult-banner__headline:first-child {
        grid-row: 1;
        grid-column: 2;
        font-size: 0.8rem;
        line-height: 1.2;
        text-align: left;
        margin: 0;
        align-self: center;
    }

    .insurance-consult-banner__headline:last-child {
        grid-row: 2;
        grid-column: 1 / -1;
        font-size: 1rem;
        line-height: 1.2;
        text-align: left;
        margin: 0;
    }

    .insurance-consult-banner__footer {
        grid-row: 3;
        grid-column: 1 / -1;
        gap: 2px;
        text-align: left;
        margin-top: 2px;
    }

    .insurance-consult-banner__note {
        font-size: 0.55rem;
        line-height: 1.2;
    }

    .insurance-consult-banner__compliance {
        font-size: 0.6rem;
    }

    .insurance-consult-banner__cta {
        grid-row: 1;
        grid-column: 3;
        font-size: 0.7rem;
        padding: 6px 10px;
        white-space: nowrap;
        align-self: center;
    }

    .breaking-news-section {
        margin: 0 0 0 0px !important;
        box-shadow: none !important;
    }
}

/* 첫 기사 히어로 스타일 개선 */
.main-article {
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 30px;
    background: white;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    position: relative;
}

.main-article:hover {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
}

.main-article-content-wrapper {
    position: relative;
    min-height: 400px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
}

/* 이미지가 있을 때: 배경 이미지 + 오버레이 */
.main-article-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.main-article-image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.7) 100%);
    z-index: 2;
}

.main-article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.main-article:hover .main-article-image img {
    transform: scale(1.05);
}

.main-article-text {
    position: relative;
    z-index: 3;
    padding: 40px;
    width: 100%;
    color: white;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
}

/* 이미지가 없을 때: 일반 카드 스타일 */
.main-article.no-image .main-article-content-wrapper {
    min-height: auto;
    flex-direction: column;
    align-items: flex-start;
    padding: 32px;
}

.main-article.no-image .main-article-text {
    position: static;
    padding: 0;
    background: none;
    color: #111827;
    width: 100%;
}

.main-article-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.85rem;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.main-article.no-image .main-article-meta {
    color: #6b7280;
}

.main-article-meta span:not(.category-tag) {
    opacity: 0.9;
}

.main-article.no-image .main-article-meta span:not(.category-tag) {
    opacity: 1;
    color: #6b7280;
}

.category-tag {
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(10px);
    color: white;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    border: 1px solid rgba(255, 255, 255, 0.3);
    transition: all 0.3s ease;
}

.main-article.no-image .category-tag {
    background: #1e40af;
    color: white;
    border: none;
}

.main-article:hover .category-tag {
    background: rgba(255, 255, 255, 0.35);
    transform: scale(1.05);
}

.main-article-title {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.3;
    margin-bottom: 16px;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.main-article.no-image .main-article-title {
    font-size: 1.8rem;
    text-shadow: none;
    color: #111827;
}

.main-article-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.main-article-title a:hover {
    color: #60a5fa;
}

.main-article.no-image .main-article-title a:hover {
    color: #1e40af;
}

.main-article-summary {
    font-size: 1.05rem;
    line-height: 1.7;
    margin: 0;
    opacity: 0.95;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.main-article.no-image .main-article-summary {
    color: #4b5563;
    opacity: 1;
    font-size: 1rem;
}

/* 카테고리별 최신 기사 제목(플레인 텍스트) */
.article-list-heading {
    margin: 0;
    margin-top: 10px;
    font-size: calc(1.4rem - 4px);
    font-weight: 700;
    color: #111827;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.article-list-heading--press {
    margin-top: 0;
}

.article-list-header .article-list-heading {
    margin-top: 10px;
}

/* 기사 목록 */
.article-list {
    list-style: none;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    max-width: 100%;
}

.article-load-more {
    margin-top: 24px;
    text-align: center;
    margin-bottom: 15px;
}

.load-more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: 999px;
    border: none;
    background: linear-gradient(135deg, #1e3a8a, #2563eb);
    color: #ffffff;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.25);
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

.load-more-btn:hover:not([disabled]) {
    transform: translateY(-2px);
    box-shadow: 0 16px 28px rgba(37, 99, 235, 0.3);
}

.load-more-btn:disabled {
    cursor: not-allowed;
    opacity: 0.7;
}

.load-more-spinner {
    margin-top: 16px;
    font-size: 0.95rem;
    color: #1e3a8a;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 500;
}

.load-more-complete {
    margin-top: 16px;
    color: #6b7280;
    font-size: 0.95rem;
}

@media (max-width: 1024px) {
    .load-more-btn {
        width: 100%;
    }
}

.article-item {
    display: flex;
    padding: 10px 0;
    border-bottom: 1px solid #f3f4f6;
    align-items: flex-start;  /* 상단 정렬 */
    gap: 15px;
    box-sizing: border-box;
    max-width: 100%;
    position: relative;
    transition: padding-left 0.3s ease;
}

.article-item:last-child {
    border-bottom: none;
}

.article-number {
    background: #1e40af;
    color: white;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.9rem;
    flex-shrink: 0;
}

.article-thumbnail {
    flex-shrink: 0;
}

.article-thumbnail img {
    transition: transform 0.3s ease;
}

.article-thumbnail img:hover {
    transform: scale(1.05);
}

.article-content {
    flex: 1;
    align-self: flex-start;  /* 이미지와 상단 정렬 */
}

.article-title {
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.4;
    margin-top: 0;  /* 상단 여백 제거 - 이미지와 제목 상단 정렬 */
    margin-bottom: 8px;
}

.article-title a {
    color: #111827;
    text-decoration: none;
}

.article-title a:hover {
    color: #1e40af;
}

.article-meta {
    font-size: 0.85rem;
    color: #9ca3af;
    margin-bottom: 8px;
}

.article-summary {
    font-size: 0.9rem;
    color: #6b7280;
    line-height: 1.5;
}

/* 사이드바 */
.sidebar {
    position: relative;
    background: #ffffff;
    border-radius: 8px;
    padding: 0 0 20px 0;
    height: fit-content;
    min-width: 0; /* Grid 아이템이 비율을 정확히 따르도록 */
}

/* 우측 통합 카드: 계정·날씨·시세 한 박스 */
.sidebar-dashboard-card {
    position: relative;
    margin: 0px 0 16px 25px;
    border-radius: var(--news-panel-radius);
    border: 1px solid rgba(148, 163, 184, 0.38);
    background: linear-gradient(165deg, #ffffff 0%, #f8fafc 52%, #f1f5f9 100%);
    box-shadow:
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 8px 28px rgba(15, 23, 42, 0.07);
    box-sizing: border-box;
    /* 드롭다운(.sidebar-login-box)이 카드 밖으로 펼쳐지므로 hidden 금지 */
    overflow: visible;
}
.sidebar-dash-divider {
    height: 1px;
    margin: 0 14px;
    background: linear-gradient(90deg, transparent 0%, rgba(203, 213, 225, 0.95) 12%, rgba(203, 213, 225, 0.95) 88%, transparent 100%);
    border: 0;
    flex-shrink: 0;
}
.sidebar-dash-market {
    padding: 6px 12px;
    box-sizing: border-box;
}
.sidebar-dashboard-card .sidebar-unified-box.sidebar-unified-box--dashboard {
    margin: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    padding: 14px 16px 12px;
    z-index: 2;
}
.sidebar-dashboard-card .sidebar-login-box {
    z-index: 10050;
}
.sidebar-dashboard-card .sidebar-weather-banner.sidebar-weather-banner--dashboard {
    margin: 0;
    margin-left: 0;
    margin-bottom: 0;
    border: none;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.5);
    padding: 12px 16px;
    box-shadow: none;
}

.sidebar-unified-box {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px 16px;
    margin: 40px 0 10px 25px;
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, 0.3);
    background: #fff;
    box-sizing: border-box;
}
.sidebar-unified-row1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
}
.sidebar-unified-spacer { flex: 1; min-width: 12px; }
.sidebar-unified-row2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px 5px;
    width: 100%;
    margin-left: 10px;
}
.sidebar-unified-row2-right {
    display: flex;
    align-items: center;
    gap: 6px 8px;
}
.sidebar-unified-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    color: #64748b;
    text-decoration: none;
    position: relative;
    transition: all 0.2s;
    background:  #eeeeee;
    border-radius: 50%;

}
.sidebar-unified-icon:hover { background: #f1f5f9; color: #334155; }
.sidebar-stat-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.sidebar-stat-item i {
    font-size: 14px;
    color: #64748b;
}
.sidebar-stat-item .sidebar-stat-num {
    font-weight: 600;
    color: #334155;
}
.sidebar-stat-today {
    font-size: 13px;
    color: #64748b;
    line-height: 1.35;
}
.sidebar-stat-today .sidebar-stat-num { font-weight: 700; color: #334155; }
.sidebar-login-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100px;
    padding: 8px;
    background: #55b0f2;
    color: #fff;
    border-radius: 6px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    flex-shrink: 0;
}
.sidebar-login-btn:hover { background: #02b351; color: #fff; }

.sidebar-profile-trigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 10px;
    background: #f1f5f9;
    border-radius: 20px;
    cursor: pointer;
    flex-shrink: 0;
    border: 1px solid #e2e8f0;
}
.sidebar-profile-trigger:hover { background: #e2e8f0; }
.sidebar-trigger-avatar {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    object-fit: cover;
}
.sidebar-trigger-name { font-size: 13px; font-weight: 500; color: #334155; max-width: 80px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-unified-box .sidebar-stat-item { font-size: 13px; }
.sidebar-inquiry-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, 0.4);
    background: #fff;
    color: #334155;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}
.sidebar-inquiry-chip:hover {
    background: #f1f5f9;
    border-color: #94a3b8;
}
.sidebar-trigger-arrow { font-size: 10px; color: #64748b; transition: transform 0.2s; }
.sidebar-profile-trigger.open .sidebar-trigger-arrow { transform: rotate(180deg); }

.sidebar-login-box {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 8px;
    background: #fff;
    border-radius: var(--news-banner-radius);
    box-shadow: 0 10px 40px rgba(0,0,0,0.12);
    border: 1px solid #e2e8f0;
    padding: 16px;
    z-index: 1000;
    display: none;
}
.sidebar-login-box.visible { display: block; }
.sidebar-login-box-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e2e8f0;
    margin-bottom: 12px;
}
.sidebar-login-box-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}
.sidebar-login-box-name { font-size: 16px; font-weight: 600; color: #111827; }
.sidebar-login-box-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 12px;
}
.sidebar-login-box-links a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: var(--news-control-radius);
    color: #334155;
    text-decoration: none;
    font-size: 14px;
}
.sidebar-login-box-links a:hover { background: #f1f5f9; color: #1e40af; }
.sidebar-login-box-agent {
    background: #f8fafc;
    border-radius: var(--news-control-radius);
    padding: 12px;
    margin-bottom: 12px;
    font-size: 13px;
}
.sidebar-login-box-agent-title { font-weight: 600; color: #334155; margin-bottom: 8px; }
.sidebar-login-box-agent-row { display: flex; justify-content: space-between; gap: 8px; padding: 4px 0; }
.sidebar-login-box-agent-row span:first-child { color: #64748b; }
.sidebar-login-box-agent-row span:last-child { font-weight: 500; }
.sidebar-login-box-footer {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}
.sidebar-login-box-btn {
    padding: 8px 16px;
    border-radius: var(--news-control-radius);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    color: #334155;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
}
.sidebar-login-box-btn:hover { background: #e2e8f0; color: #111827; }
.sidebar-login-box-btn.logout { color: #dc2626; }
.sidebar-login-box-btn.logout:hover { background: #fef2f2; color: #b91c1c; }
.sidebar-login-box-footer--stacked {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
}
.sidebar-login-box-btn--block {
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    justify-content: center;
}
.sidebar-login-box-admin-stats {
    font-size: 12px;
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
    border: 1px solid #e2e8f0;
    border-radius: var(--news-banner-radius);
    padding: 10px 12px;
}
.sidebar-login-box-admin-stats-title {
    font-weight: 700;
    color: #475569;
    margin-bottom: 8px;
    font-size: 11px;
    letter-spacing: 0.04em;
    display: flex;
    align-items: center;
    gap: 6px;
}
.sidebar-login-box-admin-stats-title i { color: #64748b; }
.sidebar-login-box-admin-stats-row {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 4px 0;
    border-bottom: 1px solid #e2e8f0;
}
.sidebar-login-box-admin-stats-row:last-child { border-bottom: none; }
.sidebar-login-box-admin-stats-row span:first-child { color: #64748b; }
.sidebar-login-box-admin-stats-row strong { color: #0f172a; font-weight: 600; }

.sidebar-section {
    padding-top: 5px !important;
    padding-left: 25px !important;
    padding-right: 0 !important;
    padding-bottom: 10px !important;
}

.sidebar-section-box {
    padding: 5px 16px !important;
    margin: 0 0 10px 25px !important;
    border-radius: var(--news-panel-radius);
    border: 1px solid rgba(148, 163, 184, 0.3);
    background: #fff;
    box-sizing: border-box;
}

/* 공지사항 등 마지막 sidebar-section-box: 하단 보더·라운드가 잘리지 않도록 여백 확보 */
.sidebar-section-box:last-of-type {
    margin-bottom: 20px !important;
}

/* 토크·타임라인 박스: 카드 하단 보더가 잘리지 않도록 */
.sidebar-section-box.home-fc-notice-box {
    overflow: visible;
    padding-bottom: 12px !important;
}

.home-fc-notice-sidebar-title {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 2px;
}
.home-fc-notice-sidebar-badge {
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
    letter-spacing: -0.02em;
}
.home-fc-notice-empty {
    padding: 12px 0;
    color: #9ca3af;
    font-size: 0.85rem;
    text-align: center;
    margin: 0;
}

/* 홈 사이드바: 토크 공지 타임라인 (보험뉴스형 썸네일 + 세로 타임라인) */
.home-fc-notice-timeline {
    border-left: 2px solid #e2e8f0;
    margin-left: 6px;
    padding-left: 14px;
    margin-top: 4px;
    padding-bottom: 4px;
}
.home-fc-notice-item {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 0 14px 0;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid #f1f5f9;
}
/* 마지막 줄도 목록 구분선 유지(이전에는 border 제거로 하단이 비어 보임) */
.home-fc-notice-item:last-child {
    padding-bottom: 2px;
}
.home-fc-notice-item::before {
    content: '';
    position: absolute;
    left: -21px;
    top: 18px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #94a3b8;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px #cbd5e1;
    flex-shrink: 0;
}
.home-fc-notice-item:hover .home-fc-notice-title {
    color: #065f46;
}
.home-fc-notice-thumb-wrap {
    width: 88px;
    min-width: 88px;
    height: 58px;
    border-radius: 6px;
    overflow: hidden;
    background: #f1f5f9;
    flex-shrink: 0;
}
.home-fc-notice-thumb-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.home-fc-notice-thumb-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 4px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #e2e8f0;
}
.home-fc-notice-thumb-label {
    display: block;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.2;
    text-align: center;
    color: #064e3b;
    word-break: keep-all;
}
.home-fc-notice-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.home-fc-notice-date {
    font-size: 0.7rem;
    font-weight: 700;
    color: #047857;
    letter-spacing: 0.02em;
}
.home-fc-notice-title {
    margin: 0;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.35;
    color: #111827;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.home-fc-notice-meta {
    font-size: 0.72rem;
    color: #94a3b8;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
}
.home-fc-notice-cat {
    font-weight: 600;
    color: #64748b;
    flex-shrink: 0;
}

/* 타임라인 본문과 「공지 더보기」사이 구분선 — Elements에서 .home-fc-notice-more 로 검색 */
.home-fc-notice-more {
    margin-top: 10px;
    padding-top: 10px;
    text-align: center;
    border-top: 1px solid #e2e8f0;
}
.home-fc-notice-more a {
    font-size: 0.85rem;
    font-weight: 500;
    color: #047857;
    text-decoration: none;
}
.home-fc-notice-more a:hover {
    color: #065f46;
    text-decoration: underline;
}

/* 홈 사이드바: 인수·채용 리쿠르팅 원줄 배너 (토크 타임라인 하단) */
.sidebar-section-box.home-recruit-incar-banner-wrap {
    padding: 0 !important;
    margin-top: 12px !important;
    margin-bottom: 16px !important;
    overflow: visible;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}
.home-recruit-incar-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: 100%;
    padding: 11px 14px;
    min-height: 44px;
    box-sizing: border-box;
    text-decoration: none;
    color: #0f172a;
    background: linear-gradient(90deg, #eef2ff 0%, #f8fafc 55%, #f1f5f9 100%);
    border: 1px solid #c7d2fe;
    border-radius: var(--news-banner-radius);
    line-height: 1.35;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.home-recruit-incar-banner:hover {
    background: linear-gradient(90deg, #e0e7ff 0%, #f1f5f9 100%);
    border-color: #a5b4fc;
    box-shadow: 0 1px 4px rgba(79, 70, 229, 0.12);
    color: #0f172a;
}
.home-recruit-incar-banner-badge {
    flex-shrink: 0;
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    padding: 4px 8px;
    border-radius: 5px;
    background: #4f46e5;
    color: #fff;
    line-height: 1.15;
}
.home-recruit-incar-banner-text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    overflow: hidden;
}
.home-recruit-incar-banner-text strong {
    flex: 1;
    min-width: 0;
    font-size: 0.81rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.4;
    word-break: keep-all;
}
.home-recruit-incar-banner-chev {
    flex-shrink: 0;
    font-size: 0.7rem;
    color: #6366f1;
    opacity: 0.85;
    align-self: center;
}
.home-recruit-incar-banner.home-recruit-incar-banner--img {
    display: block;
    padding: 0;
    min-height: 0;
    line-height: 0;
    background: transparent;
    border: none;
    border-radius: var(--news-banner-radius);
    overflow: hidden;
}
.home-recruit-incar-banner--img:hover {
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.12);
}
.home-recruit-incar-banner-img {
    display: block;
    width: 100%;
    height: auto;
    vertical-align: middle;
}

/* 인기 기사: 토크·피드와 동일 헤더(아이콘 + 소제목) + 세로 타임라인(숫자 순위 없음) */
.sidebar-section-box.home-popular-articles-box {
    overflow: visible;
    padding-bottom: 12px !important;
}
.home-popular-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    margin-top: 6px;
    flex-wrap: wrap;
}
.home-popular-title-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 !important;
    margin-bottom: 2px;
}
.home-popular-title-icon {
    font-size: 1rem;
    color: #ea580c;
    flex-shrink: 0;
}
.home-popular-title-main {
    font-size: inherit;
    font-weight: inherit;
}
.home-popular-title-badge {
    font-size: 0.72rem;
    font-weight: 600;
    color: #64748b;
    letter-spacing: -0.02em;
}
.home-popular-filter {
    padding: 6px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 0.82rem;
    background: #fff;
    cursor: pointer;
    color: #334155;
    max-width: 140px;
}
.home-popular-timeline {
    list-style: none;
    margin: 0;
    padding: 0;
    border-left: 2px solid #e2e8f0;
    margin-left: 6px;
    padding-left: 14px;
    margin-top: 4px;
    padding-bottom: 4px;
}
.home-popular-row {
    margin: 0;
    padding: 0;
}
.home-popular-item {
    position: relative;
    display: block;
    padding: 10px 0 14px 0;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid #f1f5f9;
}
.home-popular-row:last-child .home-popular-item {
    padding-bottom: 2px;
    border-bottom: none;
}
.home-popular-item::before {
    content: '';
    position: absolute;
    left: -21px;
    top: 14px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #94a3b8;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px #cbd5e1;
    flex-shrink: 0;
}
.home-popular-item:hover .home-popular-article-title {
    color: #1d4ed8;
}
.home-popular-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.home-popular-date {
    font-size: 0.7rem;
    font-weight: 700;
    color: #2563eb;
    letter-spacing: 0.02em;
}
.home-popular-article-title {
    margin: 0;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1.35;
    color: #111827;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.home-popular-meta {
    font-size: 0.72rem;
    color: #94a3b8;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}
.home-popular-cat {
    font-weight: 600;
    color: #64748b;
    flex-shrink: 0;
}
.home-popular-views {
    flex-shrink: 0;
}
.home-popular-empty {
    list-style: none;
    padding: 16px 0;
    margin: 0;
    text-align: center;
    font-size: 0.85rem;
    color: #94a3b8;
}

.sidebar-banner-slider {
    background: transparent;
    border-radius: var(--news-banner-radius);
    border: 1px solid rgba(148, 163, 184, 0.4);
    overflow: hidden;
    position: relative;
}

.sidebar-banner-slider .banner-slide {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 10px 14px;
    color: #f8fafc;
    text-decoration: none;
    transition: opacity 0.35s ease, background 0.35s ease;
}

/* 각 배너별 배경색 */
.sidebar-banner-slider .banner-slide.banner-insurance {
    background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%);
    border-radius: var(--news-banner-radius);
}

.sidebar-banner-slider .banner-slide.banner-business {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%);
    border-radius: var(--news-banner-radius);
}

.sidebar-banner-slider .banner-slide.banner-medicine {
    background: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);
    border-radius: var(--news-banner-radius);
}

.sidebar-banner-slider .banner-slide.banner-ai-platform {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);
    border-radius: var(--news-banner-radius);
    position: relative;
    overflow: hidden;
}

.sidebar-banner-slider .banner-slide.banner-ai-platform::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.15) 0%, transparent 70%);
    animation: ai-shimmer 3s ease-in-out infinite;
    pointer-events: none;
}

@keyframes ai-shimmer {
    0%, 100% {
        transform: translate(-50%, -50%) rotate(0deg);
        opacity: 0.3;
    }
    50% {
        transform: translate(-50%, -50%) rotate(180deg);
        opacity: 0.6;
    }
}

.sidebar-banner-slider .banner-slide.active {
    display: flex;
}

.banner-slide-left {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

.banner-badge {
    padding: 2px 8px;
    border-radius: 999px;
    background: #facc15;
    color: #1f2937;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.banner-badge.badge-life {
    background: #a855f7;
    color: #f5f3ff;
}

.banner-badge.badge-ai {
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
    color: #1f2937;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    box-shadow: 0 2px 8px rgba(251, 191, 36, 0.4);
    animation: ai-badge-pulse 2s ease-in-out infinite;
}

.banner-badge.badge-ai i {
    font-size: 0.7rem;
    animation: ai-sparkle 1.5s ease-in-out infinite;
}

@keyframes ai-badge-pulse {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 2px 8px rgba(251, 191, 36, 0.4);
    }
    50% {
        transform: scale(1.05);
        box-shadow: 0 4px 12px rgba(251, 191, 36, 0.6);
    }
}

@keyframes ai-sparkle {
    0%, 100% {
        opacity: 1;
        transform: scale(1) rotate(0deg);
    }
    50% {
        opacity: 0.7;
        transform: scale(1.2) rotate(180deg);
    }
}

.banner-text {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}

.banner-text strong {
    font-size: 0.95rem;
    font-weight: 600;
    color: #f8fafc;
}

.banner-text span {
    font-size: 0.8rem;
    color: rgba(248, 250, 252, 0.85);
}

.banner-ai-platform .banner-text strong {
    background: linear-gradient(135deg, #ffffff 0%, #e0e7ff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.banner-ai-platform .banner-text span {
    color: rgba(255, 255, 255, 0.95);
    font-weight: 500;
}

.banner-ai-platform:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(99, 102, 241, 0.4);
}

.banner-slide-icon {
    font-size: 1rem;
    opacity: 0.8;
}

.banner-ai-icon {
    position: relative;
    font-size: 1.5rem;
    color: rgba(255, 255, 255, 0.95);
    animation: ai-float 3s ease-in-out infinite;
}

.banner-ai-icon i {
    position: relative;
    z-index: 2;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
}

.ai-pulse {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    animation: ai-pulse-ring 2s ease-out infinite;
    z-index: 1;
}

@keyframes ai-float {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-5px);
    }
}

@keyframes ai-pulse-ring {
    0% {
        transform: translate(-50%, -50%) scale(0.8);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) scale(1.5);
        opacity: 0;
    }
}

.sidebar-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 1px;
    padding-bottom: 10px;
    margin-top: 10px;
}

/* 사이드바 보험 서비스 - 1줄 6개 */
.sidebar-services-grid {
    display: flex;
    gap: 1px;
    justify-content: space-between;
}

.sidebar-service-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 0;
    background: transparent;
    text-decoration: none;
    transition: all 0.2s ease;
    flex: 1;
}

.sidebar-service-item:hover {
    transform: translateY(-2px);
}

.sidebar-service-item:hover .sidebar-service-icon {
    transform: scale(1.1);
}

.sidebar-service-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.3rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    transition: all 0.2s ease;
}

.sidebar-service-item span {
    font-size: 0.8rem;
    font-weight: 600;
    color: #374151;
    text-align: center;
    line-height: 1.2;
}

/* 서비스 탭 스타일 */
.service-tab {
    background: none;
    border: none;
    padding: 8px 0;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    color: #9ca3af;
    position: relative;
    transition: all 0.3s;
}

.service-tab.active {
    color: #1e40af;
}

.service-tab.active::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    right: 0;
    height: 2px;
    background: #1e40af;
}

.service-tab:hover {
    color: #1e40af;
}

.service-tab:focus {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
}

.service-tab:active {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
}

/* 알림 아이콘 스타일 */
.notification-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #f3f4f6;
    border-radius: 50%;
    text-decoration: none;
    color: #6b7280;
    transition: all 0.3s ease;
    cursor: pointer;
}

.notification-icon:hover {
    background: #e5e7eb;
    color: #374151;
    transform: scale(1.1);
}

.notification-icon:hover .notification-badge {
    animation: pulse 0.5s ease-in-out;
}

.notification-inquiry:hover {
    background: #fde68a !important;
    color: #d97706 !important;
}

.notification-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    background: #ef4444;
    color: white;
    border-radius: 50%;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 600;
    border: 2px solid white;
    padding: 0 4px;
    box-sizing: border-box;
    white-space: nowrap;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.2); }
}

/* 모바일 반응형 */
@media (max-width: 1024px) {
    /* PC 전용 알림 아이콘 - 모바일에서 숨김 (햄버거 메뉴에서 표시) */
    .pc-only-notification {
        display: none !important;
    }
    
    .notification-icons-wrapper {
        flex-wrap: wrap;
        gap: 6px !important;
    }
    
    .notification-icon {
        width: 32px;
        height: 32px;
    }
    
    .notification-icon i {
        font-size: 14px !important;
    }
    
    .notification-badge {
        width: 16px;
        height: 16px;
        font-size: 9px;
        top: -3px;
        right: -3px;
        min-width: 16px;
    }
    
}

/* 서비스 패널 (보험/생활 서비스 그리드용) */
.service-panel {
    display: none;
    padding: 0px;
}

.service-panel.active {
    display: block;
}

/* 계산기 래퍼 (보험나이 / BMI) - 하단 좌우 radius 노출 */
.insurance-calculator-wrapper {
    padding: 0;
    background: white;
    border-radius: 10px 10px 6px 6px;
    overflow: visible;
    position: relative; /* 패널 위치 기준 */
    min-height: 80px; /* 최소 높이 보장 - 레이아웃 시프트 방지 */
}

/* 계산기 탭 */
.calculator-tabs {
    display: flex;
    background: #a0a0a0;
    position: relative;
    z-index: 1;
    border-radius: 6px 6px 0px 0px;
}

.calc-tab .calc-tab-icon {
    color: #fff;
    margin-right: 6px;
    font-size: 0.9em;
}
.calc-tab.active .calc-tab-icon {
    color: #fff;
}
.calc-tab {
    flex: 1;
    padding: 10px;
    border: none;
    background: transparent;
    color: #e5e7eb;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    border-bottom: 2px solid transparent;
}

.calc-tab:hover {
    color: #4b5563; /* 회색 계열 */
    border-bottom: 2px solid #d1d5db; /* 회색 띠 */
}

.calc-tab:focus {
    outline: none !important;
    box-shadow: none !important;
}

.calc-tab:active {
    outline: none !important;
    box-shadow: none !important;
}

.calc-tab.active {
    background: transparent;
    color: #fff;
    border-bottom: 2px solid #333;
    font-weight: 600;
}

/* 계산기 패널 컨테이너 - 레이아웃 시프트 방지 */
.insurance-calculator-wrapper::after {
    content: '';
    display: block;
    clear: both;
}

/* 계산기 패널 - 레이아웃 시프트 방지 */
.calculator-panel {
    display: none;
    padding: 7px;
    min-height: 50px;
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 0 0 6px 6px;
}

.calculator-panel.active {
    display: block;
}

.calculator-input-group {
    display: flex;
    gap: 5px;
    margin-bottom: 0;
}

.calculator-input {
    flex: 1;
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    font-size: 0.85rem;
    transition: border-color 0.2s;
}

.calculator-input:focus {
    border-color: #9ca3af; /* 회색 계열 */
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(156, 163, 175, 0.1) !important;
}

.calculator-btn {
    padding: 8px 12px;
    background: #6b7280; /* 회색 계열 */
    color: white;
    border: none;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    flex-shrink: 0;
}

.calculator-btn:hover {
    background: #4b5563; /* 회색 계열 */
}

.calculator-result {
    padding: 12px;
    background: #f3f4f6;
    border-radius: 6px;
    text-align: center;
    font-size: 1rem;
    font-weight: 700;
    color: #374151; /* 회색 계열 */
    display: none;
    border: 1px solid #e5e7eb; /* 회색 계열 */
}

.calculator-result.show {
    display: block;
}

/* 보험 핵심 서비스 - 심플 스타일 (메인 콘텐츠용 - 삭제됨) */
.insurance-quick-services {
    margin-bottom: 30px;
}

.services-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 15px;
    padding-bottom: 8px;
    border-bottom: 2px solid #e5e7eb;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
}

.service-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 15px 10px;
    background: white;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s ease;
    border: 1px solid #e5e7eb;
}

.service-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-color: #d1d5db;
}

.service-icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.4rem;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

.service-link:hover .service-icon {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);
}

.service-link span {
    font-size: 0.85rem;
    font-weight: 600;
    color: #374151;
    text-align: center;
}

.service-link:hover span {
    color: #1e40af;
}

/* 반응형 */
@media (max-width: 1024px) {
    .services-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
    }
    
    .service-link {
        padding: 12px 8px;
    }
    
    .service-icon {
        width: 42px;
        height: 42px;
        font-size: 1.2rem;
    }
    
    .service-link span {
        font-size: 0.75rem;
    }
}

/* 보험모집 광고 배너 스타일 (나중 사용을 위해 주석 처리) */
/*
.fc-recruitment-banner {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 12px;
    padding: 25px;
    color: white;
    text-align: center;
    box-shadow: 0 10px 30px rgba(102, 126, 234, 0.3);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}

.fc-recruitment-banner:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(102, 126, 234, 0.4);
}

.fc-recruitment-banner h6 {
    color: white;
    font-size: 0.85rem;
    font-weight: 500;
    margin-bottom: 10px;
    opacity: 0.9;
}

.fc-recruitment-banner h3 {
    font-size: 1.4rem;
    font-weight: 700;
    margin-bottom: 15px;
    color: white;
}

.fc-recruitment-banner p {
    font-size: 0.95rem;
    margin-bottom: 20px;
    opacity: 0.95;
    line-height: 1.6;
}

.fc-recruitment-banner ul {
    list-style: none;
    padding: 0;
    margin-bottom: 20px;
    text-align: left;
}

.fc-recruitment-banner ul li {
    padding: 8px 0;
    font-size: 0.9rem;
    position: relative;
    padding-left: 25px;
}

.fc-recruitment-banner ul li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #10b981;
    font-weight: bold;
    font-size: 1.2rem;
}

.fc-recruitment-banner .btn {
    background: white;
    color: #667eea;
    border: none;
    padding: 12px 30px;
    border-radius: 25px;
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
}

.fc-recruitment-banner .btn:hover {
    background: #f0f0f0;
    transform: scale(1.05);
}
*/

/* 메인 콘텐츠 영역 */
.index-main-content {
    min-width: 800px; /* Grid 아이템이 비율을 정확히 따르도록 */
    overflow: hidden; /* 콘텐츠가 넘치지 않도록 */
}

/* 🔥 AJAX 콘텐츠 영역 - 배너와 네비게이션은 제외 */
.ajax-content-area {
    opacity: 1;
    transition: opacity 0.16s ease;
}

.ajax-content-area.is-news-ajax-loading {
    opacity: 0.72;
    pointer-events: none;
}

/* 속보 섹션 스타일 - 한 줄: 속보 | 기사 | 새로고침 */
.breaking-news-section {
    margin: 0 0 30px 0;
    padding: 0 16px 0 20px;
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid #8f8f8f;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    min-height: 52px;
}

.breaking-news-header {
    flex-shrink: 0;
    padding: 8px 12px 8px 0;
    background: transparent;
    border: none;
}

.breaking-news-refresh-btn {
    flex-shrink: 0;
    margin-left: 8px;
}

/* 언론사 뉴스 섹션 스타일 */
.press-news-section {
    margin-top: 10px;
    padding: 0;
    background: #ffffff;
    overflow: hidden;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* 홈 보험뉴스: 하단 구분선 (카테고리 박스와 동일 톤 — 아래 정책뉴스 등과 시각 정렬) */
#insuranceNewsSection.press-news-section {
    border-bottom: 2px solid #e5e7eb;
}

/* 홈 언론사 뉴스: 외곽만 살짝 구분, 본문(기사)은 흰 배경·테두리 없음 */
#pressNewsSection.press-news-section--wire {
    margin-top: 12px;
    border-radius: 0;
    border: none;
    background: #ffffff;
    box-shadow: none;
}

#pressNewsSection .press-news-header--wire {
    padding: 12px 4px 10px 0;
    background: transparent;
    border-bottom: none;
    align-items: flex-start;
}

.press-news-header-titlewrap {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.press-news-header-accent {
    width: 4px;
    min-height: 2.5rem;
    border-radius: 4px;
    background: linear-gradient(180deg, #0f172a 0%, #2563eb 55%, #38bdf8 100%);
    flex-shrink: 0;
}

.press-news-header-textcol {
    min-width: 0;
}

.press-news-title-text {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #0f172a;
    line-height: 1.2;
}

.press-news-title-sub {
    margin: 4px 0 0;
    font-size: 0.78rem;
    font-weight: 500;
    color: #64748b;
    letter-spacing: -0.02em;
}

a.press-news-more-link {
    flex-shrink: 0;
    margin-top: 4px;
    padding: 0;
    border-radius: 0;
    font-size: 0.88rem;
    font-weight: 600;
    color: #2563eb;
    background: transparent;
    border: none;
    box-shadow: none;
    text-decoration: none;
    transition: color 0.15s ease;
}

a.press-news-more-link:hover {
    color: #1d4ed8;
    text-decoration: underline;
    text-underline-offset: 3px;
}

#pressNewsSection .press-news-content {
    padding: 4px 0 8px 0;
    background: #ffffff;
}

/* 기사 한 줄: 카드/테두리 없음 (뱃지 + 제목 + 시간만) */
.press-news-line {
    margin-bottom: 12px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}

.press-news-line:last-child {
    margin-bottom: 0;
}

.press-news-line:hover {
    border: none;
    box-shadow: none;
}

.press-news-line .article-header {
    margin-bottom: 0;
}

.press-news-time {
    color: #94a3b8;
    font-size: 0.8rem;
    font-weight: 600;
    white-space: nowrap;
    flex-shrink: 0;
    margin-left: auto;
    font-variant-numeric: tabular-nums;
}

#pressNewsSection .press-news-item .article-title .press-badge {
    background: #eeeeee;
    color: #374151;
    border: none;
    box-shadow: 0 2px 4px rgba(100, 116, 139, 0.2);
}

#pressNewsSection .press-news-item .article-title .press-badge:hover {
    background: linear-gradient(135deg, #64748b 0%, #475569 100%);
    color: #f8fafc;
}

/* 모바일 홈: 언론사·보험뉴스 사이 시세 바 — PC 숨김 */
.mobile-home-market-strip {
    display: none;
}

@media (max-width: 1024px) {
    /* 패딩 있는 .news-container 안에서도 뷰포트 가로 전체(풀블리드) */
    .mobile-home-market-strip {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        width: 100vw;
        max-width: 100vw;
        box-sizing: border-box;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding: 0px;
        background: #ffffff;
        border-top: 1px solid #e2e8f0;
        border-bottom: 1px solid #e2e8f0;
        gap: 0;
    }

    .mobile-home-market-strip .mobile-home-market-cell {
        min-width: 0;
        padding: 6px 3px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1px;
        background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
        border-right: 1px solid #e2e8f0;
        box-sizing: border-box;
    }

    .mobile-home-market-strip .mobile-home-market-cell:last-child {
        border-right: none;
    }

    .mobile-home-market-strip .market-label {
        font-size: 0.62rem;
        color: #64748b;
        font-weight: 600;
        letter-spacing: -0.03em;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }

    .mobile-home-market-strip .market-value {
        font-size: 0.72rem;
        font-weight: 700;
        font-variant-numeric: tabular-nums;
        line-height: 1.15;
        color: #475569;
    }

    .mobile-home-market-strip .market-change {
        font-size: 0.58rem;
        font-weight: 600;
        line-height: 1.1;
        color: #64748b;
    }

    /* PC market-banner와 동일: 상승 빨강·하락 파랑을 지수(.market-value)에도 적용 */
    .mobile-home-market-strip .market-item.up .market-value {
        color: #ef4444;
    }

    .mobile-home-market-strip .market-item.up .market-change {
        color: #ef4444;
    }

    .mobile-home-market-strip .market-item.down .market-value {
        color: #3b82f6;
    }

    .mobile-home-market-strip .market-item.down .market-change {
        color: #3b82f6;
    }
}

.press-news-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0px;
    background: #ffffff;
    color: #111827;
    border-bottom: 1px solid #e5e7eb;
}

.press-news-header h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #111827 !important;
}

.press-news-header h3.article-list-heading {
    font-size: calc(1.4rem - 4px);
    color: #111827 !important;
}

.press-news-content {
    padding: 20px 0px;
    min-height: auto;
    position: relative;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.press-news-item {
    display: none;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.press-news-item.active {
    display: block;
    opacity: 1;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.press-news-item .article-header {
    margin-bottom: 10px;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    flex: none !important;
    flex-shrink: 0 !important;
}

/* 언론사 홈: 줄 간격은 .press-news-line만 사용 */
#pressNewsSection .press-news-item .press-news-line .article-header {
    margin-bottom: 0;
}

.press-news-item .article-title {
    margin: 0 0 8px 0;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    word-wrap: break-word !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
    flex: none !important;
    flex-shrink: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.press-news-item .article-title .press-badge {
    display: inline-block;
    padding: 4px 10px;
    background: #eeeeee;
    font-size: 0.75rem;
    font-weight: 600;
    border-radius: 12px;
    white-space: nowrap;
    flex-shrink: 0;
    line-height: 1.4;
    box-shadow: 0 2px 4px rgba(100, 116, 139, 0.25);
    transition: all 0.2s ease;
}

.press-news-item .article-title .press-badge:hover {
    background: linear-gradient(135deg, #64748b 0%, #475569 100%);
    box-shadow: 0 4px 8px rgba(71, 85, 105, 0.35);
    transform: translateY(-1px);
}

/* 보험뉴스 카테고리 스타일 */
.insurance-news-title {
    margin: 0 0 8px 0;
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.45;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    word-wrap: break-word !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
    flex: none !important;
    flex-shrink: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    display: block !important;
}

.insurance-news-title a {
    color: #111827;
    text-decoration: none;
    font-weight: inherit;
    transition: color 0.2s;
    display: inline !important;
    flex: 1 !important;
    min-width: 0 !important;
    word-wrap: break-word !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.insurance-news-title a:hover {
    color: #1e40af;
}

/* 한국보험신문 뱃지 스타일 */
.press-badge-insnews {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
    box-shadow: 0 2px 4px rgba(245, 158, 11, 0.2) !important;
}

.press-badge-insnews:hover {
    background: linear-gradient(135deg, #d97706 0%, #b45309 100%) !important;
    box-shadow: 0 4px 8px rgba(245, 158, 11, 0.3) !important;
    transform: translateY(-1px);
}

.press-news-item .article-title a {
    color: #111827;
    text-decoration: none;
    transition: color 0.2s;
    display: inline !important;
    flex: 1 !important;
    min-width: 0 !important;
    word-wrap: break-word !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
}

.press-news-item .article-title .category-box-time {
    flex-shrink: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.press-news-item .article-title a:hover {
    color: #1e40af;
}

.press-news-item .article-source-time {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.85rem;
    color: #6b7280;
    margin-bottom: 10px;
}

.press-news-item .press-name {
    font-weight: 500;
    color: #3b82f6;
}

.press-news-item .article-time {
    display: flex;
    align-items: center;
    gap: 4px;
}

.press-news-item .article-views {
    display: flex;
    align-items: center;
    gap: 4px;
}

.press-news-item .article-summary {
    color: #4b5563;
    line-height: 1.5;
    font-size: 0.9rem;
    margin-top: 8px;
    margin-bottom: 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    max-height: 3em;
}

.press-news-item + .press-news-item {
    margin-top: 0px;
}

.breaking-news-header h3 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: #111827 !important;
}

.breaking-news-header .fas.fa-bolt {
    color: #f59e0b !important;
}

.refresh-btn {
    background: #f3f4f6;
    color: #6b7280;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 6px 12px;
    cursor: pointer;
    font-size: 0.85rem;
    transition: all 0.2s;
}

.refresh-btn:hover {
    background: #e5e7eb;
    color: #111827;
}

.refresh-btn:active {
    transform: scale(0.95);
}

.breaking-news-content {
    flex: 1;
    min-width: 0;
    height: 50px !important;
    max-height: 50px !important;
    overflow: hidden !important;
    position: relative !important;
    background: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
}

.breaking-news-content .breaking-news-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.breaking-news-slide-container {
    position: relative;
    width: 100%;
    height: 100%;
}

.breaking-news-slide-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 12px;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    box-sizing: border-box;
}

.breaking-news-slide-item.active {
    opacity: 1;
    z-index: 1;
}

.breaking-news-slide-content {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.breaking-news-slide-title {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    flex-wrap: nowrap;
    overflow: hidden;
}

.breaking-news-slide-title a {
    color: #111827;
    text-decoration: none;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color 0.2s;
}

.breaking-news-slide-title a:hover {
    color: #1e40af;
}

.breaking-news-slide-title .press-badge {
    flex-shrink: 0;
}

.breaking-news-empty {
    text-align: center;
    padding: 30px 20px;
    color: #9ca3af;
}

.breaking-news-error {
    text-align: center;
    padding: 20px;
    color: #ef4444;
    background: #fef2f2;
    border-radius: 8px;
    margin: 10px 0;
}

/* 모바일에서 속보 섹션 폰트 크기 조정 */
@media (max-width: 1024px) {
    .breaking-news-header h3 {
        font-size: 0.9rem !important;
    }
    
    .breaking-news-header {
        padding: 0px !important;
    }
    
    .breaking-news-content {
        height: 45px !important;
        min-height: 45px !important;
        max-height: 45px !important;
    }
    
    .breaking-news-slide-item {
        height: 45px !important;
        padding: 0 12px !important;
    }
    
    .breaking-news-slide-title a {
        font-size: 0.85rem !important;
        line-height: 1.3 !important;
    }
    
    .breaking-news-slide-title .press-badge {
        font-size: 0.7rem !important;
        padding: 3px 8px !important;
    }
    
    .refresh-btn {
        padding: 4px 8px !important;
        font-size: 0.75rem !important;
    }
    .sidebar-ad-container {
        margin-bottom: 0px;
        height: auto;
    }
    
    /* 홈화면에서만 언론사 뉴스 및 보험뉴스 시간/날짜 숨김 (모바일) */
    .home-category-boxes .category-box[data-category-id] .category-box-time {
        display: none !important;
    }
    
    /* 언론사 뉴스 및 보험뉴스 섹션의 시간 숨김 (홈화면에서만) */
    .press-news-section .article-time,
    .press-news-section .article-source-time .article-time,
    .press-news-section .article-title .category-box-time,
    .press-news-section .press-news-item .category-box-time {
        display: none !important;
    }
    
    .breaking-news-section .article-time {
        display: none !important;
    }
    
    /* 모바일에서 보상청구/판례 첫 기사 조회수 숨김 (카테고리 목록에는 조회수 표시) */
    .category-box[data-hide-first-views-mobile="true"] .category-box-first-meta .first-article-views {
        display: none !important;
    }
    
    /* 모바일에서 언론사 뱃지 심플하게 (공간 절약) */
    .press-badge,
    .press-badge-fins,
    .press-badge-insnews {
        padding: 4px 6px !important;
        font-size: 0.65rem !important;
        border-radius: 8px !important;
        line-height: 1.2 !important;
    }
    
    .press-badge-fins {
        background: #10b981 !important;
    }
    
    .press-badge-insnews {
        background: #f59e0b !important;
    }
    
    /* 카테고리 박스 내 언론사 뱃지도 동일하게 */
    .category-box .press-badge,
    .category-box .press-badge-fins,
    .category-box .press-badge-insnews {
        padding: 4px 6px !important;
        font-size: 0.65rem !important;
        border-radius: 8px !important;
        box-shadow: none !important;
        line-height: 1.2 !important;
    }
}

/* 속보 모달 스타일 */
.breaking-news-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.breaking-news-modal.active {
    display: block;
    opacity: 1;
}

.breaking-news-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(2px);
}

.breaking-news-modal-content {
    position: relative;
    width: 90%;
    max-width: 800px;
    max-height: 85vh;
    margin: 50px auto;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transform: scale(0.9);
    transition: transform 0.3s ease;
}

.breaking-news-modal.active .breaking-news-modal-content {
    transform: scale(1);
}

.breaking-news-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid #e5e7eb;
    background: #ffffff;
}

.breaking-news-modal-header h3 {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: #111827;
    display: flex;
    align-items: center;
}

.breaking-news-modal-close {
    background: #f3f4f6;
    border: none;
    border-radius: 8px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #6b7280;
    transition: all 0.2s;
}

.breaking-news-modal-close:hover {
    background: #e5e7eb;
    color: #111827;
}

.breaking-news-modal-body {
    padding: 24px;
    overflow-y: auto;
    flex: 1;
}

.breaking-news-modal-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.breaking-news-modal-item {
    padding: 16px;
    border-bottom: 1px solid #f3f4f6;
    transition: background 0.2s;
}

.breaking-news-modal-item:hover {
    background: #f9fafb;
}

.breaking-news-modal-item:last-child {
    border-bottom: none;
}

.breaking-news-modal-item-link {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    text-decoration: none;
    color: #111827;
}

.breaking-news-modal-item-link:hover {
    color: #1e40af;
}

.breaking-news-modal-item-title {
    flex: 1;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
    margin: 0;
}

/* breaking-news-modal-item-press 제거됨 - press-badge 사용 */

.breaking-news-modal-item-time {
    font-size: 0.75rem;
    color: #9ca3af;
    white-space: nowrap;
    flex-shrink: 0;
    margin-top: 4px;
}

.breaking-news-header {
    cursor: pointer;
    user-select: none;
    transition: background 0.2s;
}

.breaking-news-header:hover {
    background: #f9fafb;
}

.breaking-news-header:active {
    background: #f3f4f6;
}

/* 모바일에서 속보 모달 스타일 */
@media (max-width: 1024px) {
    .breaking-news-modal-content {
        width: 100%;
        max-width: 100%;
        max-height: 90vh;
        margin: 0;
        border-radius: 0;
        height: 100vh;
    }
    
    .breaking-news-modal-header {
        padding: 16px 20px;
    }
    
    .breaking-news-modal-header h3 {
        font-size: 1.1rem;
    }
    
    .breaking-news-modal-body {
        padding: 16px;
    }
    
    .breaking-news-modal-item {
        padding: 12px;
    }
    
    .breaking-news-modal-item-title {
        font-size: 0.9rem;
    }
    
    .breaking-news-modal-item .press-badge {
        font-size: 0.7rem !important;
        padding: 3px 8px !important;
    }
    
    .breaking-news-modal-item-time {
        font-size: 0.7rem;
    }
}

/* PC에서 속보 섹션 스타일 조정 */
@media (min-width: 1025px) {
    /* 헤더: 좌측 타이틀·우측 검색 상단 기준 정렬 (과한 세로 패딩 완화) */
    .news-header {
        padding-top: 0;
    }

    .news-header-top .search-input {
        padding-top: 13px;
        padding-bottom: 13px;
    }

    .breaking-news-section {
        margin: 0px;
        padding: 0px 5px 0px 5px;
    }
    
    .breaking-news-content {
        height: 50px !important;
        max-height: 100px !important;
        min-height: 50px !important;
        overflow: hidden !important;
        position: relative !important;
    }
    
    .breaking-news-slide-item {
        height: 50px !important;
    }
    
    .breaking-news-slide-title a {
        font-size: 1rem;
    }
    
    .breaking-news-slide-title .press-badge {
        font-size: 0.8rem;
    }
}

/* PC에서 모바일 요소 완전히 숨김 (기본값 - 미디어 쿼리 밖) */
.mobile-bottom-weather-search-bar {
    display: none !important;
}

.mobile-profile-modal {
    display: none !important;
}

.mobile-service-panel {
    display: none !important;
}


/* 보험뉴스 세로 나열 레이아웃 반응형 (≤1024) */
@media (max-width: 1024px) {
    .insurance-news-vertical-layout {
        gap: 16px;
    }

    .insurance-news-column-list {
        max-height: 300px;
    }
}

/* 반응형 - 모바일 */
@media (max-width: 1024px) {
    /* 노치·세이프에리어: DevTools와 실제 폰 정렬 차이 완화 (viewport-fit=cover 대응) */
    .news-container {
        padding-top: 40px !important; /* 모바일에서 헤더 높이 줄임 */
        padding-bottom: 15px;
        padding-left: calc(10px + env(safe-area-inset-left, 0px));
        padding-right: calc(10px + env(safe-area-inset-right, 0px));
    }

    .news-layout {
        display: block !important;
        grid-template-columns: none !important;
        gap: 25px;
    }
    
    /* 메인 콘텐츠 영역 모바일 - 좌측 영역 정상 축소, 넘침 방지 */
    .index-main-content {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        padding: 0;
        margin: 0;
        overflow-x: hidden;
    }
    
    .news-header {
        padding: 0;
        margin-bottom: 0px;
    }
    
    .news-header-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        padding-bottom: 0;
        margin-bottom: 8px;
        border-bottom: none;
    }
    
    .news-title-section {
        flex-direction: column;
        gap: 4px;
        align-items: flex-start;
    }
    
    .news-title-cluster {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .news-title-row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 6px 8px;
        width: 100%;
        min-width: 0;
    }

    .news-title-brand-sub {
        display: none !important;
    }

    .news-title-brand {
        gap: 0;
    }

    .news-title-brand-head {
        font-size: 1.22rem;
        line-height: 1.15;
    }
    
    /* 모바일 RSS / MBTI — 타이틀과 더 붙여서 한 줄에 밀착 */
    .rss-badge {
        padding: 3px 8px !important;
        font-size: 0.65rem !important;
        border-radius: 10px !important;
        gap: 3px;
        margin: 0 !important;
        flex-shrink: 0;
    }
    
    .rss-badge i {
        font-size: 0.6rem;
    }

    .mbti-link-title {
        margin: 0 !important;
        flex-shrink: 0;
    }
    
    .news-nav {
        flex-wrap: nowrap;
        gap: 0;
        width: 100%;
        padding: 4px 0 0;
        padding-bottom: 0;
        position: relative;
        align-items: flex-end;
        border-radius: 0;
        border: none;
        background: transparent;
        box-shadow: none;
    }

    .news-layout {
        margin-top: -5px;
    }
    
    .news-nav .nav-btn {
        padding: 0px 8px;
        margin-bottom: 0;
        font-size: 0.88rem;
        font-weight: 500;
        border-radius: 0;
        background: transparent;
    }
    
    /* 모바일: 선택 탭만 카테고리 색 밑줄 (--nav-tab-accent) */
    body .news-nav .nav-btn.active,
    body .news-nav a.nav-btn.active,
    .news-nav .nav-btn.active,
    .news-nav a.nav-btn.active {
        color: #0f172a !important;
        font-weight: 700 !important;
        background: transparent !important;
        padding: 8px 10px 6px !important;
        border-radius: 0 !important;
        border: none !important;
        border-bottom: 3px solid var(--nav-tab-accent, #1e3a8a) !important;
        box-shadow: none !important;
        font-size: 0.88rem !important;
        opacity: 1 !important;
    }

    /* 네비 전체 하단 보더 없음 — PC와 동일하게 선택 탭 밑줄만 */
    
    /* 모바일에서 기존 관리자 버튼 숨김 - FAB으로 대체 */
    .admin-actions {
        display: none !important;
    }
    
    /* 모바일: 하단 검색·날씨 도크와 겹침 방지 — FAB만 위로 */
    .admin-fab-container {
        bottom: calc(136px + env(safe-area-inset-bottom, 0px));
    }
    .admin-fab-trigger {
        width: 48px;
        height: 48px;
        font-size: 17px;
    }
    .admin-fab-menu {
        bottom: 58px;
    }
    
    .main-article {
        margin-bottom: 20px;
        box-sizing: border-box;
    }
    
    .main-article-content-wrapper {
        min-height: 300px;
        padding: 0;
    }
    
    .main-article-image {
        width: 100%;
        height: 100%;
    }
    
    .main-article-text {
        padding: 24px;
        width: 100%;
    }
    
    .main-article-title {
        font-size: 1.5rem;
        margin-bottom: 12px;
    }
    
    .main-article-summary {
        font-size: 0.95rem;
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }
    
    .main-article.no-image .main-article-content-wrapper {
        min-height: auto;
        padding: 20px;
    }
    
    .main-article.no-image .main-article-title {
        font-size: 1.3rem;
    }
    
    .article-list-section {
        box-sizing: border-box;
    }
    
    .article-list-section h3.article-list-heading {
        font-size: 1rem !important;
        margin-top: 6px !important;
        margin-bottom: 12px !important;
    }

    .press-news-section h3.article-list-heading--press {
        font-size: 1rem !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    
    .article-item {
        padding: 10px 0 !important;
        gap: 8px !important;
        box-sizing: border-box;
        max-width: 100%;
    }
    
    .article-number {
        width: 24px !important;
        height: 24px !important;
        font-size: 0.8rem !important;
        flex-shrink: 0;
    }
    
    .article-thumbnail {
        flex-shrink: 0;
        margin-right: 8px;
    }
    
    .article-thumbnail img {
        width: 50px !important;
        height: 50px !important;
        box-sizing: border-box;
        border-radius: 6px !important;
    }
    
    .article-content {
        flex: 1;
        min-width: 0;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    
    .article-title {
        font-size: 0.95rem !important;
        line-height: 1.4 !important;
        box-sizing: border-box;
        word-wrap: break-word;
        margin-bottom: 4px;
    }
    
    .article-meta {
        font-size: 0.95rem !important;
        box-sizing: border-box;
        margin-top: 2px;
    }
    
    .article-summary {
        display: none !important; /* 모바일에서 기사 요약 숨김 */
    }
    
    .sidebar {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* PC용 좌측 25px 들여쓰기 제거 — 통합 카드·계정 패널 */
    .sidebar-dashboard-card {
        margin: 28px 0 14px 0 !important;
    }
    .sidebar-dashboard-card .sidebar-unified-box--dashboard {
        margin: 0 !important;
        padding: 12px 14px 10px !important;
    }
    /* 모바일: 날씨·시세 숨김 시 빈 구분선 제거 */
    .sidebar-dashboard-card .sidebar-dash-divider {
        display: none !important;
    }
    .sidebar-dashboard-card .sidebar-weather-banner--dashboard {
        padding: 10px 14px !important;
    }
    .sidebar-dash-market {
        padding: 4px 10px 12px !important;
    }
    .sidebar-unified-box {
        margin: 28px 0 12px 0 !important;
        padding: 12px 16px !important;
    }

    .sidebar-section {
        padding: 12px 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin: 0 !important;
        box-sizing: border-box;
    }

    .sidebar-section-box {
        margin: 0 0 12px 0 !important;
        padding: 8px 16px !important;
        box-sizing: border-box;
        margin-top: 10px !important;
    }

    .sidebar-section-box:last-of-type {
        margin-bottom: 16px !important;
    }

    .sidebar-section-box.home-fc-notice-box {
        padding-bottom: 14px !important;
    }

    .home-fc-notice-thumb-wrap {
        width: 72px;
        min-width: 72px;
        height: 48px;
    }
    .home-fc-notice-item::before {
        left: -19px;
        top: 14px;
        width: 8px;
        height: 8px;
    }
    .home-fc-notice-thumb-label {
        font-size: 0.56rem;
    }

    .sidebar-section-box.home-popular-articles-box {
        padding-bottom: 14px !important;
    }
    .home-popular-item::before {
        left: -19px;
        top: 12px;
        width: 8px;
        height: 8px;
    }
    .home-popular-title-icon {
        font-size: 0.95rem;
    }
    
    .sidebar-title {
        font-size: 1.1rem;
    }
    
    .sidebar-services-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
    }
    
    .sidebar-service-item {
        padding: 10px 6px;
    }
    
    .sidebar-service-icon {
        width: 36px;
        height: 36px;
        font-size: 1rem;
    }
    
    .sidebar-service-item span {
        font-size: 0.75rem;
    }
    
    @media (max-width: 1024px) {
        /* 계산기 섹션 기본 숨김 (모바일에서만) */
        #insuranceCalculatorSection,
        #financeCalculatorSection {
            display: none !important;
        }
        
        /* 계산기 섹션 활성화 시 표시 */
        #insuranceCalculatorSection.mobile-active,
        #financeCalculatorSection.mobile-active {
            display: block !important;
        }
        
        /* 신규 서비스 배너 기본 숨김 (모바일에서만) */
        .sidebar-section:has(.sidebar-banner-slider) {
            display: none !important;
        }
        
        .sidebar-section:has(.sidebar-banner-slider).mobile-active {
            display: block !important;
        }
        
        /* 모바일 하단 날씨/검색바 숨김 (사이드바 날씨는 PC용) */
        .sidebar-weather-banner {
            display: none !important;
        }
    }
    

    
    /* 모바일/태블릿에서만 표시 (1024px 이하) */
    @media (max-width: 1024px) {
        /* 모바일 서비스 패널 스타일 */
        .mobile-service-panel {
            display: block !important;
            visibility: visible !important;
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background: #ffffff;
            border-radius: 20px 20px 0 0;
            box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
            z-index: 10001;
            transform: translateY(100%);
            transition: transform 0.3s ease-out;
            max-height: 90vh;
            overflow-y: auto;
            overflow-x: hidden;
        }
        
        .mobile-service-panel.active {
            transform: translateY(0);
        }
        
        .mobile-service-panel-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 16px;
            border-bottom: 1px solid #e5e7eb;
            position: sticky;
            top: 0;
            background: #ffffff;
            z-index: 1;
        }
        
        .mobile-service-panel-handle {
            position: absolute;
            top: 8px;
            left: 50%;
            transform: translateX(-50%);
            width: 40px;
            height: 4px;
        }
        
        .swipe-handle-bar {
            width: 100%;
            height: 100%;
            background: #d1d5db;
            border-radius: 2px;
        }
        
        .mobile-swipe-handle {
            position: absolute;
            top: -8px;
            left: 50%;
            transform: translateX(-50%);
            width: 40px;
            height: 4px;
            cursor: grab;
        }
        
        .mobile-swipe-handle:active {
            cursor: grabbing;
        }
        
        .mobile-service-tabs-wrapper {
            display: flex;
            gap: 15px;
            margin-left: auto;
            margin-right: auto;
        }
        
        .mobile-service-tab {
            position: relative;
        }
        
        .mobile-service-tab.active {
            color: #1e40af !important;
        }
        
        .mobile-service-tab.active::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 0;
            right: 0;
            height: 2px;
            background: #1e40af;
        }
        
        .mobile-service-panel-close {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            background: #f3f4f6;
            color: #6b7280;
            border: none;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.2s;
            margin-left: 8px;
        }
        
        .mobile-service-panel-close:active {
            background: #e5e7eb;
        }
        
        .mobile-service-panel-content {
            padding: 16px;
            padding-bottom: 20px;
            min-height: calc(90vh - 80px);
        }
        
        .mobile-service-panel-item {
            display: none;
        }
        
        .mobile-service-panel-item.active {
            display: block;
        }
        
        /* 모바일 계산기 섹션 스타일 */
        .mobile-calculator-section {
            margin-top: 20px;
            padding-top: 20px;
            border-top: 1px solid #e5e7eb;
        }
        
        .mobile-calculator-section .insurance-calculator-wrapper {
            border: 2px solid #9ca3af; /* 회색 계열 */
            border-radius: 10px;
            overflow: hidden;
            min-height: 80px; /* 최소 높이 보장 - 레이아웃 시프트 방지 */
        }
        
        .mobile-calculator-section .calculator-panel {
            padding: 12px;
            min-height: 60px; /* 최소 높이 보장 */
        }
        
        .mobile-calculator-section .calculator-result {
            margin-top: 12px;
            padding: 12px;
            background: #f3f4f6; /* 회색 계열 */
            border-radius: 6px;
            font-size: 0.9rem;
            word-break: keep-all;
            overflow-wrap: break-word;
            color: #374151; /* 회색 계열 */
            border: 1px solid #e5e7eb; /* 회색 계열 */
        }
        
        .mobile-calculator-section .calculator-result.show {
            display: block;
            animation: slideDown 0.3s ease-out;
        }
        
        @keyframes slideDown {
            from {
                opacity: 0;
                transform: translateY(-10px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        .mobile-notification-icons-wrapper {
            display: flex;
            gap: 8px;
            align-items: center;
        }
        
        .mobile-notification-icon {
            position: relative;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #f3f4f6;
            color: #6b7280;
            text-decoration: none;
            transition: all 0.2s;
        }
        
        .mobile-notification-icon:hover {
            background: #e5e7eb;
        }
        
        .mobile-notification-badge {
            position: absolute;
            top: -4px;
            right: -4px;
            min-width: 18px;
            height: 18px;
            padding: 0 4px;
            background: #ef4444;
            color: #ffffff;
            border-radius: 9px;
            font-size: 0.7rem;
            font-weight: 600;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 2px solid #ffffff;
        }
        /* 바 전체는 투명 — 흰 배경은 날씨 줄(.mobile-bottom-bar-dock)에만 (검색 시트 뒤가 하얗게 비치던 원인 제거) */
        .mobile-bottom-weather-search-bar {
            display: flex !important;
            flex-direction: column !important;
            visibility: visible !important;
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background: transparent !important;
            border-top: none !important;
            padding: 0 !important;
            z-index: 10000;
            box-shadow: none !important;
        }
        .mobile-bottom-bar-dock {
            position: relative;
            background: #ffffff;
            border-top: 1px solid #e5e7eb;
            box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
            padding-bottom: calc(12px + env(safe-area-inset-bottom));
            flex-shrink: 0;
        }
        .mobile-bottom-search-sheet {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.38s cubic-bezier(0.32, 0.72, 0, 1), padding 0.38s cubic-bezier(0.32, 0.72, 0, 1);
            padding: 0 14px;
            border-bottom: none !important;
            background: transparent !important;
            box-shadow: none !important;
            flex-shrink: 0;
        }
        .mobile-bottom-search-sheet.is-open {
            max-height: 96px;
            padding: 10px 14px 12px;
        }
        .mobile-bottom-search-sheet-inner {
            display: flex;
            align-items: center;
            gap: 10px;
            max-width: 100%;
            padding: 0;
            background: transparent !important;
            border: none !important;
            box-shadow: none !important;
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
            transform: translateY(14px);
            transition: transform 0.4s cubic-bezier(0.22, 1.12, 0.36, 1);
        }
        .mobile-bottom-search-sheet.is-open .mobile-bottom-search-sheet-inner {
            transform: translateY(0);
        }
        /* 바깥(시트)은 투명 유지 — 입력 폼 안만 흰 카드 */
        .mobile-search-form.mobile-search-form--sheet {
            flex: 1;
            min-width: 0;
            height: 46px;
            padding: 0 12px 0 10px !important;
            background: #ffffff !important;
            border: 1px solid rgba(15, 23, 42, 0.1) !important;
            border-radius: 14px !important;
            box-shadow: 0 1px 4px rgba(15, 23, 42, 0.06) !important;
        }
        .mobile-bottom-search-sheet.is-open .mobile-search-form.mobile-search-form--sheet {
            box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08) !important;
        }
        .mobile-search-form--sheet .mobile-search-slot-icon {
            color: #1e40af;
            font-size: 1rem;
            opacity: 0.95;
        }
        .mobile-search-form--sheet .mobile-search-input {
            font-size: 1rem;
            font-weight: 500;
            letter-spacing: -0.02em;
            color: #0f172a;
        }
        .mobile-search-form--sheet .mobile-search-input::placeholder {
            color: #94a3b8;
            font-weight: 400;
        }
        .mobile-search-sheet-close {
            width: 44px;
            height: 44px;
            min-width: 44px;
            border-radius: 0;
            background: transparent !important;
            border: none !important;
            box-shadow: none !important;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #64748b;
            cursor: pointer;
            flex-shrink: 0;
            padding: 0;
            font-size: 1.15rem;
            -webkit-tap-highlight-color: transparent;
            transition: color 0.2s ease, transform 0.15s ease;
        }
        .mobile-bottom-search-sheet.is-open .mobile-search-sheet-close {
            box-shadow: none !important;
        }
        .mobile-search-sheet-close:active {
            color: #0f172a;
            transform: scale(0.92);
        }
        .mobile-bottom-search-toggle {
            width: 40px;
            height: 40px;
            min-width: 40px;
            padding: 0;
            border: none;
            border-radius: 8px;
            background: #e2e8f0;
            color: #475569;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            flex-shrink: 0;
            font-size: 0.95rem;
            -webkit-tap-highlight-color: transparent;
        }
        .mobile-bottom-search-toggle:active {
            background: #cbd5e1;
        }
        .mobile-bottom-search-toggle.is-open {
            background: #1e293b;
            color: #ffffff;
        }
        .mobile-bottom-scroll-wrap {
            display: flex;
            overflow-x: hidden;
            overflow-y: hidden;
            flex-shrink: 0;
        }
        .mobile-bottom-scroll-wrap::-webkit-scrollbar {
            display: none;
        }
        .mobile-bottom-slide {
            flex: 1 1 100%;
            width: 100%;
            min-width: 0;
            height: 48px;
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 8px 16px 0;
            box-sizing: content-box;
        }
        .mobile-bottom-slide-weather {
            justify-content: space-between;
        }
        .mobile-weather-left {
            display: flex;
            align-items: center;
            gap: 8px;
            flex: 1;
            min-width: 0;
        }
        .mobile-login-right {
            display: flex;
            align-items: center;
            gap: 8px 10px;
            flex-shrink: 0;
        }
        .mobile-bottom-login-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 4px;
            min-height: 34px;
            padding: 0 9px;
            background: #03c75a;
            color: #fff;
            border-radius: 9px;
            font-size: 11px;
            font-weight: 800;
            letter-spacing: 0;
            text-decoration: none;
            white-space: nowrap;
            -webkit-tap-highlight-color: transparent;
            box-sizing: border-box;
        }
        .mobile-bottom-profile-btn {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 10px;
            background: #f1f5f9;
            border-radius: 20px;
            text-decoration: none;
            color: #334155;
        }
        .mobile-bottom-avatar { width: 20px; height: 20px; border-radius: 50%; object-fit: cover; }
        .mobile-bottom-name { font-size: 11px; font-weight: 500; max-width: 45px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        
        .mobile-search-form {
            flex: 1;
            min-width: 0;
            display: flex;
            align-items: center;
            gap: 8px;
            height: 45px;
            padding: 0 12px;
            background: #f1f5f9;
            border-radius: 8px;
        }
        .mobile-search-slot-icon { color: #94a3b8; font-size: 0.9rem; }
        .mobile-search-input {
            flex: 1;
            min-width: 0;
            border: none;
            background: transparent;
            font-size: 0.9rem;
            outline: none;
        }
        
        .mobile-weather-icon {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: rgba(59, 130, 246, 0.1);
            color: #3b82f6;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.2rem;
            flex-shrink: 0;
        }
        
        .mobile-weather-info {
            flex: 1;
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 2px;
        }
        
        .mobile-weather-temp {
            font-size: 1rem;
            font-weight: 700;
            color: #111827;
            line-height: 1.2;
        }
        
        .mobile-weather-desc {
            font-size: 0.75rem;
            color: #6b7280;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        
        .mobile-weather-location {
            font-size: 0.75rem;
            font-weight: 600;
            color: #6b7280;
            white-space: nowrap;
            flex-shrink: 0;
            cursor: pointer;
            transition: color 0.2s;
            padding: 4px 8px;
            border-radius: 4px;
        }
        
        .mobile-weather-location:hover {
            color: #1e40af;
            background: rgba(59, 130, 246, 0.1);
        }
        
        .mobile-weather-location:active {
            background: rgba(59, 130, 246, 0.2);
        }
        
        /* 모바일 프로필 모달 (PC 로그인박스와 동일, 하단에서 위로 슬라이드업) */
        .mobile-profile-modal {
            display: none;
            position: fixed;
            inset: 0;
            z-index: 10100;
            align-items: flex-end;
            justify-content: center;
        }
        .mobile-profile-modal.visible {
            display: flex !important;
        }
        .mobile-profile-modal-content {
            position: relative;
            width: 100%;
            max-width: 480px;
            background: #fff;
            border-radius: 16px 16px 0 0;
            padding: 20px 20px calc(20px + env(safe-area-inset-bottom));
            box-shadow: 0 -4px 24px rgba(0,0,0,0.15);
            transform: translateY(100%);
            transition: transform 0.3s ease;
            max-height: 82vh;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
        }
        .mobile-profile-modal.visible .mobile-profile-modal-content {
            transform: translateY(0);
        }
        .mobile-profile-modal .mobile-profile-ai-dash {
            margin: 4px 0 12px;
        }
        .mobile-profile-modal .mobile-profile-ai-playlist {
            margin-bottom: 12px;
        }
        .mobile-profile-modal .mobile-profile-ai-playlist .sidebar-ai-playlist-tracks {
            max-height: 42vh;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
        }
        .mobile-profile-modal .mobile-profile-ai-music-empty {
            margin: 0 0 12px;
            padding: 10px 12px;
            font-size: 13px;
            line-height: 1.45;
            color: #64748b;
            background: #f8fafc;
            border-radius: 10px;
        }
        .mobile-profile-modal .mobile-ai-audio-row {
            display: flex;
            align-items: center;
            gap: 8px;
            margin: 0 0 10px;
            padding: 4px 0 2px;
        }
        .mobile-profile-modal .mobile-ai-skip-btn {
            width: 42px;
            height: 42px;
            flex-shrink: 0;
            border: none;
            border-radius: 50%;
            background: #f1f5f9;
            color: #334155;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 0.95rem;
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
            transition: background 0.15s ease, transform 0.12s ease, opacity 0.15s ease;
        }
        .mobile-profile-modal .mobile-ai-skip-btn:active:not(:disabled) {
            transform: scale(0.94);
            background: #e2e8f0;
        }
        .mobile-profile-modal .mobile-ai-skip-btn:disabled {
            opacity: 0.38;
            cursor: not-allowed;
        }
        .mobile-profile-modal .mobile-ai-audio-wrap {
            flex: 1;
            min-width: 0;
            margin: 0;
        }
        .mobile-profile-modal .mobile-ai-audio-wrap .mobile-ai-playlist-audio,
        .mobile-profile-modal .mobile-ai-playlist-audio {
            width: 100%;
            max-height: 44px;
            vertical-align: middle;
        }
        .mobile-profile-modal .mobile-ai-playlist-panel-outer {
            margin: 0;
            padding: 0 2px 8px;
            box-sizing: border-box;
            background: rgba(255, 250, 244, 0.35);
            border-radius: 0 0 12px 12px;
        }
        .mobile-profile-modal .mobile-ai-playlist-panel-outer[hidden] {
            display: none !important;
        }
        .mobile-profile-modal-header {
            display: flex;
            align-items: center;
            gap: 12px;
            padding-bottom: 12px;
            border-bottom: 1px solid #e2e8f0;
            margin-bottom: 12px;
        }
        .mobile-profile-modal-close {
            margin-left: auto;
            width: 36px;
            height: 36px;
            border: none;
            background: #f1f5f9;
            border-radius: 8px;
            color: #64748b;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
        }
        .mobile-profile-modal-close:active { background: #e2e8f0; }
        .mobile-profile-modal-avatar {
            width: 48px;
            height: 48px;
            border-radius: 50%;
            object-fit: cover;
        }
        .mobile-profile-modal-name { font-size: 16px; font-weight: 600; color: #111827; }
        .mobile-profile-modal-links {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 8px;
            margin-bottom: 12px;
        }
        .mobile-profile-modal-links a {
            display: flex;
            align-items: center;
            justify-content: flex-start;
            gap: 6px;
            padding: 12px 10px;
            border-radius: 10px;
            color: #334155;
            text-decoration: none;
            font-size: 13px;
            font-weight: 600;
            background: #f8fafc;
            min-width: 0;
            box-sizing: border-box;
        }
        .mobile-profile-modal-links a i {
            flex-shrink: 0;
            font-size: 0.95rem;
        }
        .mobile-profile-modal-links a:active { background: #e2e8f0; }
        .mobile-profile-modal-agent {
            background: #f1f5f9;
            border-radius: 10px;
            padding: 12px;
            margin-bottom: 12px;
            font-size: 13px;
        }
        .mobile-profile-modal-agent-title { font-weight: 600; color: #334155; margin-bottom: 8px; }
        .mobile-profile-modal-agent-row { display: flex; justify-content: space-between; gap: 8px; padding: 4px 0; }
        .mobile-profile-modal-agent-row span:first-child { color: #64748b; }
        .mobile-profile-modal-agent-row span:last-child { font-weight: 500; }
        .mobile-profile-modal-footer {
            display: flex;
            gap: 10px;
            justify-content: flex-end;
        }
        .mobile-profile-modal-footer--stacked {
            flex-direction: column;
            align-items: stretch;
        }
        .mobile-profile-modal-btn {
            padding: 10px 18px;
            border-radius: 10px;
            font-size: 14px;
            font-weight: 500;
            text-decoration: none;
            color: #334155;
            background: #e2e8f0;
        }
        .mobile-profile-modal-btn--block {
            width: 100%;
            box-sizing: border-box;
            text-align: center;
            justify-content: center;
        }
        .mobile-profile-modal-btn:active { background: #cbd5e1; }
        .mobile-profile-modal-btn.logout { color: #dc2626; background: #fef2f2; }
        .mobile-profile-modal-btn.logout:active { background: #fee2e2; }
        .mobile-profile-modal-admin-stats {
            font-size: 12px;
            background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
            border: 1px solid #e2e8f0;
            border-radius: 10px;
            padding: 10px 12px;
        }
        .mobile-profile-modal-today-stats {
            margin-bottom: 12px;
        }
        .mobile-profile-modal-footer .mobile-profile-modal-admin-extra-stats {
            margin-top: 10px;
        }
        .mobile-profile-modal-admin-stats-title {
            font-weight: 700;
            color: #475569;
            margin-bottom: 8px;
            font-size: 11px;
            letter-spacing: 0.04em;
            display: flex;
            align-items: center;
            gap: 6px;
        }
        .mobile-profile-modal-admin-stats-title i { color: #64748b; }
        .mobile-profile-modal-admin-stats-row {
            display: flex;
            justify-content: space-between;
            gap: 8px;
            padding: 4px 0;
            border-bottom: 1px solid #e2e8f0;
        }
        .mobile-profile-modal-admin-stats-row:last-child { border-bottom: none; }
        .mobile-profile-modal-admin-stats-row span:first-child { color: #64748b; }
        .mobile-profile-modal-admin-stats-row strong { color: #0f172a; font-weight: 600; }
        
    }
    
    /* FC 모집 배너 모바일 스타일 (나중 사용을 위해 주석 처리)
    .fc-recruitment-banner {
        padding: 20px;
    }
    
    .fc-recruitment-banner h6 {
        font-size: 0.8rem;
    }
    
    .fc-recruitment-banner h3 {
        font-size: 1.2rem;
    }
    
    .fc-recruitment-banner p {
        font-size: 0.9rem;
    }
    
    .fc-recruitment-banner ul li {
        font-size: 0.85rem;
        padding: 6px 0;
    }
    
    .fc-recruitment-banner .btn {
        padding: 10px 24px;
        font-size: 0.9rem;
    }
    */
}

/* 카테고리별 기사 박스 스타일 (네이버 모바일 스타일) */
.category-boxes-container {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 5px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.category-box {
    background: white;
    border-bottom: 2px solid #e5e7eb;
    padding: 20px 0px;
    transition: background-color 0.2s ease;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.category-box:hover {
    background-color: #f9fafb;
}

.category-box-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    padding-bottom: 12px;
}

.category-box-header-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.category-box-name {
    font-size: 1rem;
    font-weight: 700;
    color: #111827;
}

.category-box-time {
    font-size: 0.85rem;
    color: #9ca3af;
    font-weight: 500;
    white-space: nowrap;
    flex-shrink: 0;
    margin-left: auto;
}

.category-box-more-btn {
    padding: 6px 12px;
    background: #acacac;
    color: white;
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 600;
    border-radius: 6px;
    transition: background-color 0.2s ease;
}

.category-box-more-btn:hover {
    background: #2563eb;
}

/* 첫 번째 기사 (썸네일 포함, 가로 레이아웃: 썸네일 1/3, 제목+생성일 2/3) */
.category-box-first-article {
    display: flex;
    flex-direction: row;
    gap: 16px;
    margin-bottom: 0px;
    padding-bottom: 0px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    align-items: flex-start;
}

/* 이미지가 있을 때만 썸네일 표시 (보험뉴스와 동일 120×80) */
.category-box-thumbnail {
    width: 120px;
    min-width: 120px;
    max-width: 120px;
    height: 80px;
    overflow: hidden;
    border-radius: 6px;
    flex-shrink: 0;
    margin-bottom: 0;
    margin-right: 12px;
    box-sizing: border-box;
    display: block;
}

.category-box-thumbnail img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
    display: block;
}

/* 모바일에서 썸네일이 카테고리 위에 전체 너비로 표시되는 문제 방지 */
@media (max-width: 1024px) {
    .category-box-first-article.has-thumbnail {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
    }
    
    .category-box-thumbnail {
        width: 100px !important;
        min-width: 100px !important;
        max-width: 100px !important;
        height: 80px !important;
        flex-shrink: 0 !important;
        margin-bottom: 0 !important;
        margin-right: 12px !important;
    }
    
    .category-box-thumbnail img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    
    .category-box-first-content {
        flex: 1 !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: none !important;
    }
}

.category-box-thumbnail:hover img {
    transform: scale(1.02);
}

.category-box-first-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* 이미지가 없을 때 제목 영역 스타일 조정 */
.category-box-first-article.no-thumbnail .category-box-first-content {
    padding-top: 0;
    width: 100%;
}

.category-box-first-article.no-thumbnail .category-box-first-title {
    font-size: 1.05rem;
    margin-bottom: 10px;
}

.category-box-first-title {
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.5;
    margin: 0 0 8px 0;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.category-box-first-title a {
    color: #111827;
    text-decoration: none;
    transition: color 0.2s ease;
    word-break: keep-all;
    flex: 1;
    min-width: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.category-box-first-title .press-badge {
    flex-shrink: 0;
}

.category-box-first-title a:hover {
    color: #1e40af;
}

.category-box-first-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    color: #9ca3af;
}

/* 나머지 기사들 (텍스트 목록, 1줄 1칸) */
.category-box-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.category-box-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 0;
}

.category-box-item > div {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.category-box-item .press-badge {
    flex-shrink: 0;
}

.category-box-item:last-child {
    border-bottom: none;
}

.category-box-link {
    flex: 1;
    color: #111827;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.5;
    transition: color 0.2s ease;
    word-break: keep-all;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.category-box-link:hover {
    color: #1e40af;
}

.category-box-date {
    color: #9ca3af;
    font-size: 0.85rem;
    flex-shrink: 0;
    white-space: nowrap;
    margin-left: 12px;
}

/* 홈: 정책뉴스~부동산(메뉴 순) — PC는 언론사 뉴스 제목과 동일 1rem, 모바일은 아래 max-width:1024에서 0.9rem */
.category-box.category-box--unified-mag-font .category-box-first-title {
    font-size: 1rem;
}

.category-box.category-box--unified-mag-font .category-box-first-article.no-thumbnail .category-box-first-title {
    font-size: 1rem;
}

.category-box.category-box--unified-mag-font .category-box-first-title a {
    font-size: 1rem;
}

.category-box.category-box--unified-mag-font .category-box-link {
    font-size: 1rem;
}

/* 반응형 - 모바일 */
@media (max-width: 1024px) {
    .category-box {
        padding: 5px;
    }
    
    .category-box-header {
        margin-bottom: 1px;
        padding-bottom: 10px;
    }
    
    .category-box-name {
        font-size: 1rem;
    }
    
    .category-box-time {
        font-size: 0.8rem;
    }
    
    .category-box-more-btn {
        padding: 5px 10px;
        font-size: 0.8rem;
    }
    
    .category-box-first-article {
        margin-bottom: 0px;
        padding-bottom: 12px;
        gap: 12px;
    }
    
    /* 썸네일과 제목 부분은 위의 모바일 CSS에서 이미 처리됨 */
    
    .category-box-first-title {
        font-size: 1rem;
        margin-bottom: 8px;
    }
    
    .category-box-first-title a {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        word-break: keep-all;
    }
    
    .category-box-first-article.no-thumbnail .category-box-first-title {
        font-size: 1.05rem;
    }

    .category-box.category-box--unified-mag-font .category-box-first-title,
    .category-box.category-box--unified-mag-font .category-box-first-article.no-thumbnail .category-box-first-title {
        font-size: 0.9rem;
    }

    .category-box.category-box--unified-mag-font .category-box-first-title a {
        font-size: 0.9rem;
    }

    .category-box.category-box--unified-mag-font .category-box-link {
        font-size: 0.9rem;
    }
    
    .category-box-first-meta {
        font-size: 0.8rem;
    }
    
    .category-box-item {
        padding: 10px 0;
        gap: 10px;
    }
    
    .category-box-link {
        font-size: 1rem;
    }
    
    .category-box-date {
        font-size: 0.8rem;
    }
}

/*
 * 좁은 폰(≤786)은 기존 모바일 타이포 유지.
 * 태블릿 폭(787~1024)에서만 카테고리·기사·속보 글자 확대 — 1024에서 과하게 작아 보이는 현상 완화
 */
@media (min-width: 787px) and (max-width: 1024px) {
    .news-title-brand-head {
        font-size: 1.3rem;
        line-height: 1.15;
    }

    .news-nav .nav-btn {
        font-size: 1.02rem;
    }

    body .news-nav .nav-btn.active,
    body .news-nav a.nav-btn.active,
    .news-nav .nav-btn.active,
    .news-nav a.nav-btn.active {
        font-size: 1.02rem !important;
    }

    .breaking-news-header h3 {
        font-size: 1rem !important;
    }

    .breaking-news-slide-title a {
        font-size: 0.95rem !important;
    }

    .breaking-news-slide-title .press-badge {
        font-size: 0.78rem !important;
    }

    .main-article-title {
        font-size: 1.58rem;
    }

    .main-article-summary {
        font-size: 1.02rem;
    }

    .main-article.no-image .main-article-title {
        font-size: 1.38rem;
    }

    .article-list-section h3.article-list-heading {
        font-size: 1.08rem !important;
    }

    .press-news-section h3.article-list-heading--press {
        font-size: 1.08rem !important;
    }

    .press-news-header h3 {
        font-size: 1.08rem !important;
    }

    .article-title {
        font-size: 1.05rem !important;
        line-height: 1.42 !important;
    }

    .article-meta {
        font-size: 1.02rem !important;
    }

    .article-number {
        font-size: 0.88rem !important;
    }

    .category-box-name {
        font-size: 1.08rem;
    }

    .category-box-time {
        font-size: 0.88rem;
    }

    .category-box-more-btn {
        font-size: 0.88rem;
    }

    .category-box-first-title {
        font-size: 1.07rem;
    }

    .category-box-first-article.no-thumbnail .category-box-first-title {
        font-size: 1.1rem;
    }

    .category-box.category-box--unified-mag-font .category-box-first-title,
    .category-box.category-box--unified-mag-font .category-box-first-article.no-thumbnail .category-box-first-title {
        font-size: 1rem;
    }

    .category-box.category-box--unified-mag-font .category-box-first-title a {
        font-size: 1rem;
    }

    .category-box.category-box--unified-mag-font .category-box-link {
        font-size: 1rem;
    }

    .category-box-link {
        font-size: 1.06rem;
    }

    .category-box-first-meta {
        font-size: 0.88rem;
    }

    .category-box-date {
        font-size: 0.88rem;
    }

    .mobile-home-market-strip .market-label {
        font-size: 0.72rem;
    }

    .mobile-home-market-strip .market-value {
        font-size: 0.82rem;
    }

    .mobile-home-market-strip .market-change {
        font-size: 0.68rem;
    }

    .sidebar-title {
        font-size: 1.15rem;
    }

    .home-popular-article-title {
        font-size: 0.96rem;
    }

    .home-popular-meta {
        font-size: 0.78rem;
    }

    .home-popular-date {
        font-size: 0.76rem;
    }

    .home-popular-title-icon {
        font-size: 1rem;
    }

    .home-popular-filter {
        font-size: 0.88rem;
    }
}


/* 초소형 모바일 (412px 이하) - 레이아웃 보정 */
@media (max-width: 412px) {
    .container {
        padding: 0 10px !important;
    }

    .news-container {
        padding-top: 5px !important;
        padding-bottom: 5px !important;
        padding-left: calc(10px + env(safe-area-inset-left, 0px)) !important;
        padding-right: calc(10px + env(safe-area-inset-right, 0px)) !important;
    }
    
    .index-main-content {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .article-thumbnail img {
        width: 70px !important;
        height: 50px !important;
        border-radius: 5px !important;
    }
    
    .article-list-header {
        margin-bottom: 0px !important;
    }
    
    .main-article {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    .main-article-content-wrapper {
        padding: 12px !important;
    }
    
    .article-list-section {
        width: 100% !important;
        padding: 0 !important;
    }
    
    .article-item {
        gap: 6px !important;
        padding: 8px 0 !important;
    }
    
    .article-number {
        width: 22px !important;
        height: 22px !important;
        font-size: 0.75rem !important;
    }
    
    .article-thumbnail img {
        width: 70px !important;
        height: 50px !important;
        border-radius: 5px !important;
    }
    
    .article-title {
        font-size: 0.9rem !important;
        line-height: 1.35 !important;
    }
    
    .article-summary {
        font-size: 0.90rem !important;
        line-height: 1.3 !important;
    }
    
    .article-meta {
        font-size: 0.7rem !important;
    }
    
    .sidebar-section {
        padding: 10px !important;
    }
    
    .sidebar-services-grid {
        gap: 6px !important;
    }
    
    .sidebar-service-icon {
        width: 32px !important;
        height: 32px !important;
        font-size: 0.9rem !important;
    }
    
    .sidebar-service-item span {
        font-size: 0.7rem !important;
    }
}

/* 날씨 모달 스타일은 improved_header.css에서 통합 관리 */

/* 모바일에서 보험뉴스 섹션 UI 개선 */
@media (max-width: 1024px) {
    /* 보험뉴스 섹션 썸네일 크기 키우기 */
    .press-news-section .article-thumbnail img {
        width: 140px !important;
        height: 95px !important;
        border-radius: 8px !important;
    }
    
    /* 보험뉴스 섹션 요약 모바일에서 숨김 */
    .press-news-section .article-summary {
        display: none !important;
    }
}

@media (max-width: 480px) {
    .press-news-content {
        padding: 10px 5px;
    }

    .press-news-header {
        padding: 5px;
    }
    
    /* 보험뉴스 섹션 썸네일 크기 (초소형 모바일) */
    .press-news-section .article-thumbnail img {
        width: 100px !important;
        height: 70px !important;
    }
    
    .press-news-item .article-header {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        flex-shrink: 0 !important;
    }
    
    .press-news-item .article-title {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        font-size: 1rem;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: normal !important;
        flex: none !important;
        flex-shrink: 0 !important;
    }
    
    .press-news-item .article-title a {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        display: block !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        word-break: keep-all !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }
}

/* is보험 뉴스 UI 정돈 레이어: 기존 모바일 피드 구조 유지 + 홈/보험 톤 정렬 */
body {
    --news-ink: #0f172a;
    --news-muted: #64748b;
    --news-soft: #f8fafc;
    --news-line: #e5e7eb;
    --news-line-strong: #cbd5e1;
    --news-accent: #2563eb;
    --news-panel-radius: 10px;
    --news-banner-radius: 8px;
    --news-control-radius: 6px;
}

.news-container {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 !important;
    padding-top: calc(var(--header-height, 70px) + env(safe-area-inset-top, 0px)) !important;
    background: white;
    box-sizing: border-box;
}

.news-header {
    padding: 0;
    margin-bottom: 12px;
}

.news-header-top {
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 12px;
}

.news-title-row {
    gap: 8px 10px;
}

.news-title-brand-head {
    font-size: 1.42rem;
    font-weight: 700;
    letter-spacing: 0;
    color: var(--news-ink);
}

.news-title-brand-head-mobile {
    display: none;
}

.news-title-brand-sub {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--news-muted);
}

.news-title-badges {
    gap: 6px;
}

.rss-badge,
.mbti-link-title {
    border-radius: 999px !important;
    padding: 4px 9px !important;
    font-weight: 700 !important;
    line-height: 1.1;
}

.search-input-wrapper {
    width: min(100%, 306px);
    border-radius: 12px;
    background: #fff;
    border-color: var(--news-line);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.search-input,
.search-btn {
    border-radius: 10px;
}

.dazabi-banner-image-container.home-banner,
.dazabi-banner-image-container.home-banner .dazabi-banner-slide-1,
.dazabi-banner-image-container.home-banner .dazabi-banner-link-slide,
.dazabi-banner-image-container.home-banner .dazabi-banner-link-slide img,
.dazabi-banner-image-container.category-banner,
.dazabi-banner-image-container.category-banner .dazabi-banner-slide-1,
.dazabi-banner-image-container.category-banner .dazabi-banner-link-slide,
.dazabi-banner-image-container.category-banner .dazabi-banner-link-slide img {
    border-radius: var(--news-banner-radius);
}

.dazabi-banner-image-container {
    margin-bottom: 14px;
    background: var(--news-soft);
    overflow: hidden;
    border-radius: var(--news-banner-radius);
}

.dazabi-banner-rolling-3 {
    aspect-ratio: 1536 / 294;
}

.site-rolling-banner.dazabi-banner-image-container.home-banner,
.site-rolling-banner.dazabi-banner-image-container.category-banner,
.site-rolling-banner.dazabi-banner-image-container.home-banner.category-banner {
    aspect-ratio: 1536 / 294;
    border-radius: var(--news-banner-radius);
}

.site-rolling-banner.dazabi-banner-image-container.home-banner .site-rolling-banner__slide,
.site-rolling-banner.dazabi-banner-image-container.home-banner .site-rolling-banner__link,
.site-rolling-banner.dazabi-banner-image-container.home-banner.category-banner .site-rolling-banner__slide,
.site-rolling-banner.dazabi-banner-image-container.home-banner.category-banner .site-rolling-banner__link,
.site-rolling-banner.dazabi-banner-image-container.category-banner .site-rolling-banner__slide,
.site-rolling-banner.dazabi-banner-image-container.category-banner .site-rolling-banner__link,
.site-rolling-banner.dazabi-banner-image-container.home-banner .site-rolling-banner__img,
.site-rolling-banner.dazabi-banner-image-container.home-banner.category-banner .site-rolling-banner__img,
.site-rolling-banner.dazabi-banner-image-container.category-banner .site-rolling-banner__img {
    border-radius: var(--news-banner-radius);
    overflow: hidden;
}

.banner-cat-tone::after {
    opacity: 0.08;
    border-radius: inherit;
}

.news-nav,
.news-nav.category-nav,
.news-nav.home-nav {
    gap: 0;
    margin: 0 0 12px;
    padding: 0;
    border-bottom: 1px solid var(--news-line);
}

.news-nav .nav-btn {
    padding: 10px 14px 9px;
    color: #475569;
    font-size: 0.92rem;
    font-weight: 650;
    letter-spacing: 0;
    border-bottom-width: 2px;
}

body .news-nav .nav-btn.active,
body .news-nav a.nav-btn.active,
.news-nav .nav-btn.active,
.news-nav a.nav-btn.active {
    padding: 10px 14px 8px;
    border-bottom-width: 2px;
    color: var(--news-ink);
    font-weight: 800;
}

.press-news-section {
    margin-top: 14px;
}

#pressNewsSection.press-news-section--wire {
    margin-top: 10px;
}

.press-news-header,
#pressNewsSection .press-news-header--wire {
    min-height: 44px;
    padding: 10px 0 9px;
    border-bottom: 1px solid var(--news-line);
}

.press-news-header-titlewrap {
    gap: 9px;
}

.press-news-header-accent {
    width: 3px;
    min-height: 30px;
    border-radius: 0;
    background: var(--news-accent);
}

.press-news-title-text,
.press-news-header h3,
.press-news-header h3.article-list-heading,
.press-news-section h3.article-list-heading--press {
    font-size: 1.02rem !important;
    font-weight: 800 !important;
    letter-spacing: 0;
    color: var(--news-ink) !important;
}

.press-news-title-sub {
    margin-top: 2px;
    font-size: 0.74rem;
    color: var(--news-muted);
}

.category-box-more-btn,
a.press-news-more-link {
    padding: 4px 9px;
    border-radius: 8px;
    background: #f1f5f9;
    color: #334155;
    border: 1px solid #e2e8f0;
    box-shadow: none;
    font-size: 0.78rem;
    font-weight: 800;
    text-decoration: none;
}

.category-box-more-btn:hover,
a.press-news-more-link:hover {
    color: #fff;
    background: var(--news-accent);
    border-color: var(--news-accent);
    text-decoration: none;
}

#pressNewsSection .press-news-content,
.press-news-content {
    padding: 10px 0 12px;
}

.press-news-line {
    margin-bottom: 9px;
}

.press-news-item .article-title,
.category-box-first-title,
.category-box-link {
    letter-spacing: 0;
}

.press-news-item .article-title {
    line-height: 1.42;
}

#pressNewsSection .press-news-item .article-title,
#pressNewsSection .press-news-item .article-title a {
    font-weight: 500;
}

.category-boxes-container {
    margin-top: 10px;
}

.category-box {
    padding: 18px 0;
    border-bottom: 1px solid var(--news-line);
}

.category-box:hover {
    background: #fff;
}

.category-box-header {
    margin-bottom: 12px;
    padding-bottom: 0;
}

.category-box-name {
    font-size: 1.02rem;
    font-weight: 850;
    letter-spacing: 0;
    color: var(--news-ink) !important;
}

.category-box-first-article {
    gap: 14px;
}

.category-box-thumbnail {
    border-radius: 0;
    margin-right: 4px;
    background: var(--news-soft);
}

.category-box-first-title {
    margin-bottom: 6px;
    font-size: 1.02rem;
    line-height: 1.42;
}

.category-box-first-title a,
.category-box-link {
    color: var(--news-ink);
}

.category-box-item {
    padding: 9px 0;
}

.category-box-date,
.category-box-time,
.press-news-time {
    color: #94a3b8;
    font-size: 0.78rem;
}

@media (max-width: 1024px) {
    .news-container {
        padding-top: calc(var(--header-height, 70px) + env(safe-area-inset-top, 0px) + 5px) !important;
        padding-left: calc(10px + env(safe-area-inset-left, 0px)) !important;
        padding-right: calc(10px + env(safe-area-inset-right, 0px)) !important;
    }

    .news-header {
        margin-bottom: 11px;
    }

    .news-header-top {
        gap: 6px;
        margin-bottom: 6px;
    }

    .news-title-row {
        gap: 5px 7px;
    }

    .news-title-brand-head {
        font-size: 1.14rem;
        line-height: 1.14;
        font-weight: 700;
    }

    .news-title-brand-head-pc {
        display: none;
    }

    .news-title-brand-head-mobile {
        display: inline;
    }

    .news-title-brand-news-en {
        display: inline-block;
        transform: scaleX(0.96);
        transform-origin: left center;
    }

    .rss-badge,
    .mbti-link-title {
        padding: 3px 7px !important;
        font-size: 0.62rem !important;
    }

    .dazabi-banner-image-container {
        margin-bottom: 7px;
    }

    .dazabi-banner-image-container.home-banner,
    .dazabi-banner-image-container.home-banner .dazabi-banner-slide-1,
    .dazabi-banner-image-container.home-banner .dazabi-banner-link-slide,
    .dazabi-banner-image-container.category-banner,
    .dazabi-banner-image-container.category-banner .dazabi-banner-slide-1,
    .dazabi-banner-image-container.category-banner .dazabi-banner-link-slide {
        border-radius: var(--news-banner-radius) !important;
    }

    .news-nav,
    .news-nav.category-nav,
    .news-nav.home-nav {
        margin-bottom: 8px;
        padding-bottom: 0;
    }

    .news-nav .nav-btn {
        padding: 8px 10px 7px;
        font-size: 0.84rem;
        border-bottom-width: 2px;
    }

    body .news-nav .nav-btn.active,
    body .news-nav a.nav-btn.active,
    .news-nav .nav-btn.active,
    .news-nav a.nav-btn.active {
        padding: 8px 10px 6px !important;
        border-bottom-width: 2px !important;
        font-size: 0.84rem !important;
    }

    .press-news-section {
        margin-top: 8px;
    }

    .press-news-header,
    #pressNewsSection .press-news-header--wire {
        min-height: 38px;
        padding: 8px 0 7px;
    }

    .press-news-header-accent {
        width: 3px;
        min-height: 26px;
    }

    .press-news-title-text,
    .press-news-header h3,
    .press-news-header h3.article-list-heading,
    .press-news-section h3.article-list-heading--press {
        font-size: 0.94rem !important;
    }

    .press-news-title-sub {
        font-size: 0.68rem;
    }

    #pressNewsSection .press-news-content,
    .press-news-content {
        padding: 8px 0 10px;
    }

    .mobile-home-market-strip {
        margin-top: 2px;
        margin-bottom: 5px;
    }

    .category-box {
        padding: 14px 0;
        border-bottom: 1px solid var(--news-line);
    }

    .category-box-header {
        margin-bottom: 8px;
        padding-bottom: 0;
    }

    .category-box-name {
        font-size: 0.94rem !important;
    }

    .category-box-more-btn,
    a.press-news-more-link {
        padding: 3px 8px;
        font-size: 0.72rem;
    }

    .category-box-first-article {
        padding-bottom: 8px;
        gap: 10px;
    }

    .category-box-thumbnail {
        width: 92px !important;
        min-width: 92px !important;
        max-width: 92px !important;
        height: 68px !important;
        margin-right: 0 !important;
    }

    .category-box-first-title,
    .category-box-first-article.no-thumbnail .category-box-first-title {
        margin-bottom: 4px;
        font-size: 0.94rem;
        line-height: 1.38;
    }

    .category-box.category-box--unified-mag-font .category-box-first-title,
    .category-box.category-box--unified-mag-font .category-box-first-article.no-thumbnail .category-box-first-title,
    .category-box.category-box--unified-mag-font .category-box-first-title a,
    .category-box.category-box--unified-mag-font .category-box-link,
    .category-box-link {
        font-size: 0.9rem;
        line-height: 1.38;
    }

    #pressNewsSection .press-news-item .article-title,
    #pressNewsSection .press-news-item .article-title a {
        font-weight: 500;
    }

    .category-box-item {
        padding: 8px 0;
        gap: 8px;
    }

    .category-box-date,
    .category-box-time,
    .press-news-time,
    .category-box-first-meta {
        font-size: 0.72rem;
    }
}

@media (max-width: 480px) {
    .press-news-content {
        padding: 8px 0 10px;
    }

    .press-news-header {
        padding: 8px 0 7px;
    }

    .press-news-section .article-thumbnail,
    .press-news-section .article-thumbnail img,
    .article-list .article-thumbnail,
    .article-list .article-thumbnail img,
    .category-box-thumbnail,
    .category-box-thumbnail img {
        border-radius: 8px !important;
    }
}

@media (max-width: 1024px) {
    #pressNewsSection .press-news-item .article-header,
    #pressNewsSection .press-news-item .article-title {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    #pressNewsSection .press-news-item .article-title {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        margin-bottom: 0 !important;
    }

    #pressNewsSection .press-news-item .article-title .press-badge {
        flex: 0 0 auto !important;
    }

    #pressNewsSection .press-news-item .article-title a,
    #pressNewsSection .press-news-item .article-title a {
        display: block !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    #pressNewsSection .press-news-time,
    #pressNewsSection .article-source-time,
    #pressNewsSection .article-time,
    #pressNewsSection .category-box-time {
        display: none !important;
    }

    #insuranceNewsSection .article-title,
    #insuranceNewsSection .insurance-news-title {
        display: block !important;
        margin: 0 0 8px 0 !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: normal !important;
    }

    #insuranceNewsSection .article-title a,
    #insuranceNewsSection .insurance-news-title a {
        display: inline !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: normal !important;
        word-break: keep-all !important;
        overflow-wrap: break-word !important;
        font-weight: 700 !important;
    }

    #insuranceNewsSection .article-meta {
        display: block !important;
        margin-top: 8px !important;
        color: #9ca3af !important;
        font-size: 0.78rem !important;
        font-weight: 500 !important;
        line-height: 1.4 !important;
    }
}

/* 날씨 검색 스타일은 improved_header.css에서 관리 */

/* 문의 버튼 호버 효과 */
.inquiry-btn:hover {
    transform: translateY(-2px);
    background: #f3f4f6 !important;
    border-color: #111827 !important;
    color: #111827 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.inquiry-btn-article:hover {
    background: #f3f4f6 !important;
    border-color: #111827 !important;
    color: #111827 !important;
}

.inquiry-btn-contact:hover {
    background: #f3f4f6 !important;
    border-color: #111827 !important;
    color: #111827 !important;
}

@media (max-width: 1024px) {
    .sidebar-unified-box {
        display: none !important;
    }
}

/* 모달 애니메이션 */
.inquiry-modal {
    animation: fadeIn 0.2s ease;
}

.inquiry-modal-content {
    animation: slideDown 0.3s ease;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
