.lnb-area {
	position: sticky;
	top: 96px; 
	z-index: 200;
	background: white;
	border-bottom: 1px solid #f1f5f9;
	transition: top 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.header-nav.scrolled ~ .lnb-area { top: 80px; }

.lnb-dropdown-container {
	position: absolute;
	top: 100%;
	background: white;
	max-width: 13.75rem;
	width:10.25rem;
	border: 1px solid #f1f5f9;
	box-shadow: 0 15px 35px rgba(0,0,0,0.1);
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	pointer-events: none;
	z-index: 190;
}
.lnb-dropdown-container.active { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }


/* [3. 서브페이지 공통 스타일] */
.sub-visual {
	height: 450px;
	background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.3)), url('../images/img_sub01.jpg');
	background-size: cover; background-position: center;
	display: flex; align-items: center; justify-content: center; text-align: center; color: white;
}
		

/* 입원 안내 전용 스타일 */

.step-card {
	background: #fff;
	border: 1px solid #f1f5f9;
	border-radius: 2.5rem;
	padding: 3rem 2rem;
	text-align: center;
	transition: all 0.3s ease;
	position: relative;
}
.step-card:hover { transform: translateY(-8px); border-color: var(--brand-blue); box-shadow: 0 20px 40px rgba(30,75,143,0.08); }
.step-number { position: absolute; top: 1.5rem; right: 2rem; font-weight: 900; color: #f1f5f9; font-size: 3rem; line-height: 1; z-index: 0; }
.step-icon-box { width: 4.5rem; height: 4.5rem; background: var(--soft-blue); border-radius: 1.5rem; display: flex; align-items: center; justify-content: center; color: var(--brand-blue); margin: 0 auto 2rem; position: relative; z-index: 1; }

.info-grid-card { background: #fafbfc; border-radius: 2.5rem; padding: 2.5rem; border: 1px solid #f1f5f9; }
.info-grid-card h4 { font-size: 1.25rem; font-weight: 800; color: var(--brand-blue); margin-bottom: 1.5rem; display: flex; align-items: center; gap: 0.75rem; }

.time-badge { background: white; padding: 1rem 1.5rem; border-radius: 1.25rem; border: 1px solid #edf2f7; display: flex; justify-content: space-between; align-items: center; }
.time-label { font-weight: 700; color: #64748b; font-size: 0.9rem; }
.time-value { font-weight: 800; color: #1e293b; }

.important-notice { background: #fef2f2; border-radius: 2rem; padding: 2rem; border: 1px solid #fee2e2; }


/* 의료진 소개 전용 스타일 */
.staff-card {
	background: white;
	border: 1px solid #f1f5f9;
	border-radius: 3rem;
	overflow: hidden;
	transition: all 0.4s ease;
}
.staff-card:hover { transform: translateY(-10px); border-color: var(--brand-blue); box-shadow: 0 30px 60px -12px rgba(30,75,143,0.1); }

.doctor-img-wrap { width: 100%; aspect-ratio: 4/5; overflow: hidden; background: #f8fafc; position: relative; }
.doctor-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s ease; }
.staff-card:hover .doctor-img-wrap img { transform: scale(1.05); }

.resume-list li { position: relative; padding-left: 1.25rem; font-size: 0.95rem; color: #64748b; line-height: 1.6; margin-bottom: 0.5rem; }
.resume-list li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 4px; height: 4px; border-radius: 50%; background: var(--brand-gold); }

.director-feature {
	background: var(--soft-blue);
	border-radius: 4rem;
	padding: 4rem;
	display: flex;
	flex-direction: column;
	lg:flex-row;
	gap: 4rem;
	align-items: center;
}

.quick-tag { background: white; color: var(--brand-blue); padding: 0.5rem 1.25rem; border-radius: 2rem; font-weight: 800; font-size: 0.75rem; display: inline-block; margin-bottom: 1.5rem; border: 1px solid rgba(30,75,143,0.1); }


/* 외래진료 전용 스타일 */
        .dept-card {
            background: white;
            border: 1px solid #f1f5f9;
            padding: 3rem;
            transition: all 0.3s ease;
        }
        .dept-card:hover { transform: translateY(-8px); border-color: var(--brand-blue); box-shadow: 0 20px 40px rgba(30,75,143,0.08); }
        
        .icon-box { width: 4rem; height: 4rem; background: var(--soft-blue); border-radius: 1.25rem; display: flex; align-items: center; justify-content: center; color: var(--brand-blue); margin-bottom: 2rem; }

        .time-table-card { background: #fafbfc; border: 1px solid #f1f5f9; }
        .time-item { display: flex; justify-content: space-between; align-items: center; padding: 1.25rem 0; border-bottom: 1px dashed #e2e8f0; }
        .time-item:last-child { border-bottom: none; }
        .time-label { font-weight: 800; color: #1e293b; display: flex; align-items: center; gap: 0.5rem; }
        .time-value { font-weight: 700; color: var(--brand-blue); }

        .notice-tag { background: #fff5f5; color: #e53e3e; padding: 1rem 1.5rem; border-radius: 1rem; font-size: 0.9rem; font-weight: 700; display: inline-flex; align-items: center; gap: 0.5rem; margin-top: 2rem; }

        .outpatient-intro { background: var(--soft-blue); position: relative; overflow: hidden; }
        /* .outpatient-intro::after { content: "OUTPATIENT"; position: absolute; right: -2rem; bottom: -1rem; font-size: 8rem; font-weight: 900; color: white; opacity: 0.4; pointer-events: none; } */


/* 비급여진료비 전용 스타일 (Table) */
        .pricing-table-wrap { width: 100%; overflow-x: auto; border-radius: 1.5rem; border: 1px solid #e2e8f0; }
        .pricing-table { width: 100%; border-collapse: collapse; min-width: 800px; }
        .pricing-table th { background: #f8fafc; color: #1e293b; padding: 1.25rem 1rem; border-bottom: 2px solid #e2e8f0; font-weight: 800; text-align: left; }
        /* .pricing-table tr {background: #fff;}*/
		.pricing-table td { padding: 1.25rem 1rem;  border-bottom: 1px solid #f1f5f9; color: #475569; font-weight: 500; }
        .pricing-table tr:hover { background: #fdfdfd; }
        .pricing-table .category-row { background: var(--soft-blue); color: var(--brand-blue); font-weight: 800; padding: 1rem; border-left: 5px solid var(--brand-blue); }
        .cost-text { font-family: 'Pretendard', sans-serif; font-weight: 800; color: var(--brand-blue); }

        .legal-notice { background: var(--soft-blue); border-radius: 2rem; padding: 2.5rem; border: 1px solid #e0ebff; }


/* 의무기록발급 */
		.section-title-wrap { margin-bottom: 3.5rem; }
        .section-tag { color: var(--brand-gold); font-weight: 900; text-transform: uppercase; letter-spacing: 0.3em; font-size: 0.75rem; display: block; margin-bottom: 0.75rem; }

		.process-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; }
        .process-step { background: #fafbfc; border-radius: 2rem; padding: 2.5rem 1.5rem; text-align: center; border: 1px solid #f1f5f9; position: relative; }
        .step-tag { position: absolute; top: 1.25rem; left: 1.5rem; font-weight: 900; color: var(--brand-blue); opacity: 0.1; font-size: 1.5rem; }
        .step-icon { width: 3.5rem; height: 3.5rem; background: white; border-radius: 1.25rem; display: flex; align-items: center; justify-content: center; color: var(--brand-blue); margin: 0 auto 1.5rem; box-shadow: 0 8px 20px rgba(30,75,143,0.05); }

        /* 테이블 스타일 */
        .custom-table-wrap { width: 100%; overflow-x: auto; border-radius: 1.5rem; border: 1px solid #e2e8f0; margin-bottom: 2rem; }
        .custom-table { width: 100%; border-collapse: collapse; min-width: 800px; font-size: 0.95rem; }
        .custom-table th { background: #f8fafc; color: #1e293b; padding: 1.25rem 1rem; border-bottom: 2px solid #e2e8f0; font-weight: 800; text-align: center; }
        .custom-table td { padding: 1.25rem 1rem; border-bottom: 1px solid #f1f5f9; color: #475569; font-weight: 500; vertical-align: middle; }
        .custom-table tr:last-child td { border-bottom: none; }
        .custom-table .text-center { text-align: center; }
        .custom-table .bg-sub { background: #fafbfc; }

        .download-btn { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.875rem 1.5rem; border-radius: 1rem; background:#fff; color: var(--brand-blue); font-weight: 800; font-size: 0.9rem; transition: all 0.3s; border: 1px solid rgba(30,75,143,0.1); }
        .download-btn:hover { background: var(--brand-blue); color: white; transform: translateY(-2px); }

        .info-card { background: var(--soft-blue); border-radius: 2rem; padding: 2rem; /* border-left: 6px solid var(--brand-blue); */ }
        .notice-list li { position: relative; padding-left: .8rem; margin-bottom: 0.5rem; color: #64748b; font-size: 0.9rem; line-height: 1.6; }
        .notice-list li::before { content: "•"; position: absolute; left: 0; color: var(--brand-blue); font-weight: 900; }

        .fee-card { background: #fdfdfd; border: 1px solid #edf2f7; border-radius: 1.5rem; padding: 1.5rem; display: flex; justify-content: space-between; align-items: center; }
        .fee-label { font-weight: 700; color: #1e293b; }
        .fee-value { font-weight: 900; color: var(--brand-blue); }


/* 혈액투석 전용 스타일 */
        .process-box { background: var(--soft-blue); border-radius: 3rem; padding: 3rem; border: 1px solid #e0ebff; }
        .feature-card { background: white; border: 1px solid #f1f5f9; border-radius: 2rem; padding: 2.5rem; transition: all 0.3s ease; height: 100%; }
        .feature-card:hover { transform: translateY(-8px); border-color: var(--brand-blue); box-shadow: 0 20px 40px rgba(30,75,143,0.06); }
        
        .step-tag_h { background: var(--brand-blue); color: white; padding: 0.25rem 0.75rem; border-radius: 0.5rem; font-size: 0.75rem; font-weight: 800; margin-bottom: 1.5rem; display: inline-block; }
        
        .custom-table { width: 100%; border-collapse: collapse; border-radius: 1.5rem; overflow: hidden; border: 1px solid #e2e8f0; }
        .custom-table th { background: #f8fafc; color: #1e293b; padding: 1.5rem; border: 1px solid #e2e8f0; font-weight: 800; }
        .custom-table td { background: white; padding: 1.5rem; border: 1px solid #e2e8f0; color: #475569; font-size: 0.95rem; line-height: 1.6; }

        .comp-card { border-left: 4px solid #cbd5e1; padding-left: 1.5rem; transition: all 0.3s; }
        .comp-card:hover { border-left-color: var(--brand-blue); background: #f8fafc; padding: 1.5rem 1.5rem 1.5rem 2rem; border-radius: 0 1.5rem 1.5rem 0; }
        .comp-title { font-weight: 800; color: #1e293b; font-size: 1.125rem; margin-bottom: 0.5rem; display: flex; align-items: center; gap: 0.5rem; }

        .highlight-text { color: var(--brand-blue); font-weight: 800; }

/* 주의사항 전용 디자인 */
        .guide-card { background: #fff; border: 1px solid #f1f5f9; border-radius: 2.5rem; padding: 3rem; transition: all 0.3s; }
        .guide-card:hover { transform: translateY(-5px); border-color: var(--brand-blue); box-shadow: 0 20px 40px rgba(30,75,143,0.05); }
        
        .icon-circle { width: 3.5rem; height: 3.5rem; background: var(--soft-blue); border-radius: 1.25rem; display: flex; align-items: center; justify-content: center; color: var(--brand-blue); margin-bottom: 1.5rem; }
        
        .prohibit-card { background: #fffafb; border: 1px solid #fee2e2; border-radius: 2.5rem; padding: 2.5rem; }
        .prohibit-item { display: flex; align-items: center; gap: 0.75rem; color: var(--warning-red); font-weight: 600; font-size: 1rem; }

        .medication-card { background: #f8fafc; border-radius: 2rem; padding: 2rem; }

/* [ 식이요법 전용 스타일 ] */
        .necessity-card { background: white; border: 1px solid #f1f5f9; border-radius: 2rem; padding: 2.5rem; transition: all 0.3s ease; }
        .necessity-card:hover { transform: translateY(-5px); border-color: var(--brand-blue); box-shadow: 0 20px 40px rgba(30,75,143,0.06); }
        .necessity-icon { width: 3.5rem; height: 3.5rem; background: var(--soft-blue); border-radius: 1.25rem; display: flex; align-items: center; justify-content: center; color: var(--brand-blue); margin-bottom: 1.5rem; }

        /* 아코디언 스타일 */
        .diet-accordion { border-top: 2px solid #0f172a; margin-top: 3rem; }
        .acc-item { border-bottom: 1px solid #e2e8f0; background: white; }
        .acc-header { 
            width: 100%; padding: 2rem; display: flex; justify-content: space-between; align-items: center; 
            color: #1e293b; text-align: left; transition: all 0.3s;
        }
        .acc-header:hover { background: #fafbfc; color: var(--brand-blue); }
        .acc-header .icon { transition: transform 0.4s; color: #cbd5e1; }
        .acc-item.open .acc-header { color: var(--brand-blue); background: var(--soft-blue); }
        .acc-item.open .icon { transform: rotate(180deg); color: var(--brand-blue); }
        
        .acc-content { 
            max-height: 0; overflow: hidden; transition: all 0.5s cubic-bezier(0, 1, 0, 1); background: #fff; 
        }
        .acc-item.open .acc-content { max-height: 5000px; transition: all 0.5s cubic-bezier(1, 0, 1, 0); padding: 3rem 2rem 4rem; }

        /* 테이블 스타일 */
        .custom-table-wrap { width: 100%; overflow-x: auto; border-radius: 1.5rem; border: 1px solid #e2e8f0; margin: 1.5rem 0; }
        .custom-table { width: 100%; border-collapse: collapse; min-width: 600px; font-size: 0.95rem; }
        .custom-table th { background: #f8fafc; color: #1e293b; padding: 1.25rem 1rem; border-bottom: 2px solid #e2e8f0; font-weight: 800; text-align: center; }
        .custom-table td { padding: 1.25rem 1rem; border-bottom: 1px solid #f1f5f9; color: #475569; font-weight: 500; vertical-align: middle; }
        .custom-table .bg-sub { background: #fafbfc; font-weight: 800; color: var(--brand-blue); text-align: center; }

        .tip-box { background: #f8fafc; border-radius: 1.5rem; padding: 2rem; border-left: 5px solid var(--brand-gold); margin-top: 1.5rem; }
        .highlight { color: var(--brand-blue); font-weight: 800; }
        .limit-tag { background: #fff5f5; color: #e53e3e; padding: 0.25rem 0.5rem; border-radius: 0.4rem; font-size: 0.8rem; font-weight: 800; }


/* [혈액투석 전용 스타일] */
        .intro-doctor-img { border-radius: 2.5rem; overflow: hidden; padding:30px; padding-bottom:0;}
        
        .center-slider-wrap { border-radius: 2rem; overflow: hidden; border: 1px solid #e2e8f0; background: #f8fafc; }
        .center-slider-wrap img { width: 100%; height: auto; object-fit: cover; }
		
		.center-slider-wrap .swiper-pagination-bullet-active {background:#fff;}

        .machine-badge { background: var(--brand-orange); color: white; padding: 0.625rem 2rem; border-radius: 0.75rem; font-weight: 800; font-size: 1.125rem; display: inline-block; margin-bottom: 1.5rem; box-shadow: 0 10px 20px rgba(242, 101, 34, 0.2); }
        
        .machine-feature-list li { position: relative; padding-left: 1.5rem; margin-bottom: 0.75rem; color: #475569; font-weight: 500; line-height: 1.6; }
        .machine-feature-list li::before { content: "-"; position: absolute; left: 0; color: #94a3b8; font-weight: 900; }

        .highlight-blue { color: var(--brand-blue); font-weight: 800; }
        .highlight-orange { color: var(--brand-orange); font-weight: 800; }

        .swiper-button-next, .swiper-button-prev { color: var(--brand-blue) !important; background: white; width: 3rem !important; height: 3rem !important; border-radius: 50%; box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
        .swiper-button-next:after, .swiper-button-prev:after { font-size: 1rem !important; font-weight: 900; }


/* [욕창치료기 전용 스타일] */
	.device-slider-wrap { border-radius: 3rem; overflow: hidden; background: white; border: 1px solid #f1f5f9; position: relative; }
	.device-slider-wrap img { width: 100%; height: auto; object-fit: contain; padding: 2rem; padding-bottom:0; max-height: 500px; }

	.ox-box { background: white; border-radius: 3rem; padding: 3rem; border: 1px solid #f1f5f9; height: 100%; transition: all 0.3s; }
	.ox-box:hover { transform: translateY(-5px); border-color: var(--brand-blue); box-shadow: 0 20px 40px rgba(30,75,143,0.05); }

	.ox-symbol { font-size: 8rem; font-weight: 900; line-height: 1; opacity: 0.8; flex-shrink: 0; width: 120px; text-align: center; }
	.symbol-o { color: var(--brand-orange); }
	.symbol-x { color: #64748b; }

	.info-list li { position: relative; padding-left: 1rem; margin-bottom: 0.75rem; font-weight: 500; line-height: 1.6; }
	.info-list li::before { content: "-"; position: absolute; left: 0; color: #94a3b8; font-weight: 900; }



/* [오시는 길 전용 스타일] */
.map-frame { 
	width: 100%; 
	height: 450px; 
	border-radius: 3rem; 
	overflow: hidden; 
	border: 1px solid #f1f5f9;
	box-shadow: 0 20px 40px rgba(0,0,0,0.05);
	background: #f8fafc;
}

.info-card {
	background: white;
	border: 1px solid #f1f5f9;
	border-radius: 2.5rem;
	padding: 3rem;
	transition: all 0.3s;
	height: 100%;
}
.info-card:hover { transform: translateY(-5px); border-color: var(--brand-blue); }

.transport-icon { 
	width: 4.5rem; height: 4.5rem; 
	background: var(--soft-blue); 
	border-radius: 1.5rem; 
	display: flex; align-items: center; justify-content: center; 
	color: var(--brand-blue); 
	margin-bottom: 2rem;
	flex-shrink: 0;
}

.parking-box {
	background: #f8fafc;
	border-radius: 2.5rem;
	padding: 3rem;
	border: 1px solid #e2e8f0;
}

.address-text {  color: #1e293b; line-height: 1.4; word-break: keep-all; }
.contact-text { color: var(--brand-blue); letter-spacing: -0.02em; }

/* 카카오맵 내부 스타일 보정 */
.root_daum_roughmap { width: 100% !important; height: 100% !important; }
.root_daum_roughmap .wrap_map { height: 100% !important; }
		


/* [협력병원 배너 전용 스타일] */
.partner-card {
	background: white;
	border: 1px solid #f1f5f9;
	border-radius: 1rem;
	padding: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100px;
	transition: all 0.3s ease;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
	text-align: center;
}
.partner-card:hover {
	transform: translateY(-5px);
	border-color: var(--brand-blue);
	box-shadow: 0 10px 20px -5px rgba(30, 75, 143, 0.1);
}
.partner-card img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	filter: grayscale(0.5);
	opacity: 0.8;
	transition: all 0.3s;
}
.partner-card:hover img {
	filter: grayscale(0);
	opacity: 1;
}
.fallback-text {
	font-size: 0.875rem;
	font-weight: 800;
	color: #64748b;
	word-break: keep-all;
}
	
	
.intro-box {
	background-color: var(--soft-blue);
	border-radius: 2rem;
	padding: 2rem;
	border: 1px solid #e0ebff;
	position: relative;
	overflow: hidden;
}	


/* [병원시설 전용 스타일] */
.facility-tabs {
	display: flex;
	overflow-x: auto;
	border-bottom: 1px solid #e2e8f0;
	scrollbar-width: none;
}
.facility-tabs::-webkit-scrollbar { display: none; }

.facility-tab-btn {
	flex: 1;
	min-width: 120px;
	padding: 1.25rem 0;
	text-align: center;
	color: #64748b;
	background: #f8fafc;
	border-right: 1px solid #e2e8f0;
	transition: all 0.3s;
}
.facility-tab-btn.active {
	background: var(--brand-orange);
	color: white;
	border-right-color: var(--brand-orange);
}

.gallery-swiper-wrap {
	width: 100%;
	height: 750px;
	position: relative;
	background: #f1f5f9;
}
.gallery-swiper-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 층별 안내 디자인 */
.floor-guide-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 8px;
}

.floor-label {
	width: 140px;
	padding: 1.25rem;
	color: white;
	text-align: center;
	border-radius: 0.75rem 0 0 0.75rem;
}
.floor-content {
	padding: 1.25rem 2rem;
	background: #fff;
	color: #475569;
	border-radius: 0 0.75rem 0.75rem 0;
	border: 1px solid #f1f5f9;
	border-left: none;
}

/* 층별 색상 카테고리 (이미지 분석 기반) */
.bg-floor-top { background-color: var(--brand-orange); }
.bg-floor-ward { background-color: #a8947a; } /* 병실/간호사실 브라운계열 */
.bg-floor-main { background-color: #8c9fae; } /* 1층/상담실 블루그레이 */
.bg-floor-sub { background-color: #64748b; }  /* 지하층 슬레이트 */



