/* ===== Eden Slide Card (Dark UI 대응 / Glass) ===== */
/* 구글폰트는 HTML에서 <link>로 넣거나, CSS @import로 넣으면 됩니다.
   아래는 CSS @import 버전 (원하시면 링크 태그 버전으로도 바꿔드릴게요) */
@import url('https://fonts.googleapis.com/css2?family=Black+Han+Sans&family=Noto+Sans+KR:wght@300;400;500;700;800;900&display=swap');

.edenSlideCard{
	/* 외부(슬라이더) 배경이 어두운 톤일 때: 글자는 밝게, 카드도 반투명 */
	--esc-title:#eaf2ff;
	--esc-sub:#bff3ea;
	--esc-text:rgba(255,255,255,0.82);
	--esc-muted:rgba(255,255,255,0.62);

	--esc-accent:#ff6b86;			/* 진료내용 */
	--esc-bracket:rgba(255, 120, 140, 0.85);

	--esc-bg:url("");				/* 슬라이드별 하단 이미지 */
	--esc-min-h:740px;

	--esc-pad-x:46px;
	--esc-pad-top:46px;
	--esc-pad-bottom:40px;

	--esc-glass:rgba(255,255,255,0.06);
	--esc-glass-strong:rgba(255,255,255,0.09);
	--esc-stroke:rgba(255,255,255,0.12);

	position:relative;
	width:100%;
	min-height:var(--esc-min-h);
	border-radius:18px;
	overflow:hidden;

	/* 유리판 느낌 */
	background:
		radial-gradient(900px 520px at 50% 0%,
			rgba(255,255,255,0.10),
			rgba(255,255,255,0.02) 60%,
			rgba(0,0,0,0.00)
		),
		linear-gradient(180deg, var(--esc-glass), rgba(255,255,255,0.03));
	border:1px solid var(--esc-stroke);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	box-shadow: 0 18px 45px rgba(0,0,0,0.35);

	font-family:"Noto Sans KR", system-ui, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
}

.edenSlideCard::after{
	content:"";
	position:absolute;
	left:0; right:0; bottom:0;
	height:320px;

	/* 어두운 배경에서 하단 이미지가 너무 튀지 않게 + 텍스트 가독성 보강 */
	background:
		linear-gradient(180deg,
			rgba(0,0,0,0.00),
			rgba(0,0,0,0.28) 30%,
			rgba(0,0,0,0.44) 60%,
			rgba(0,0,0,0.55)
		),
		linear-gradient(180deg,
			rgba(0,0,0,0.00),
			rgba(0,0,0,0.25) 45%,
			rgba(0,0,0,0.38)
		),
		var(--esc-bg) center bottom / cover no-repeat;

	opacity:0.95;
	pointer-events:none;
}

/* 내부 컨텐츠는 가독성 위해 살짝 더 밝은 유리 레이어 */
.edenSlideCard__inner{
	position:relative;
	z-index:2;
	padding:var(--esc-pad-top) var(--esc-pad-x) 16px;
	text-align:center;
}

.edenSlideCard__title{
	margin:0;
	font-family:"Black Han Sans","Noto Sans KR",sans-serif;
	font-size:34px;
	font-weight:400;
	letter-spacing:-0.02em;
	color:var(--esc-title);
	text-shadow:0 6px 18px rgba(0,0,0,0.35);
}

.edenSlideCard__subtitle{
	margin-top:10px;
	font-size:16px;
	font-weight:800;
	color:var(--esc-sub);
	letter-spacing:-0.01em;
	text-shadow:0 6px 18px rgba(0,0,0,0.25);
}

.edenSlideCard__desc{
	margin:28px auto 0;
	max-width:740px;
	line-height:1.95;
	font-size:15.5px;
	color:var(--esc-text);

	/* 텍스트 영역만 살짝 카드화: 어두운 배경에서 읽기 좋게 */
	background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
	border:1px solid rgba(255,255,255,0.10);
	border-radius:16px;
	padding:18px 18px;
	box-shadow:0 18px 40px rgba(0,0,0,0.18);
}

.edenSlideCard__desc p{ margin:0; }
.edenSlideCard__desc p + p{ margin-top:14px; }

.edenSlideCard__clinic{
	margin:34px auto;
	max-width:640px;
}

.edenSlideCard__clinicTitle{
	display:inline-block;
	margin:0 0 14px;
	padding:6px 14px;

	font-size:16px;
	font-weight:900;
	color:#ffe6ea;

	background: rgba(255, 107, 134, 0.18);
	border:1px solid rgba(255, 107, 134, 0.28);
	border-radius:999px;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.edenSlideCard__bracket{
	position:relative;
	padding:20px 72px;

	/* 리스트 영역도 유리 느낌 */
	background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
	border:1px solid rgba(255,255,255,0.10);
	border-radius:18px;
	box-shadow:0 18px 40px rgba(0,0,0,0.18);
}

.edenSlideCard__bracket::before,
.edenSlideCard__bracket::after{
	content:"";
	position:absolute;
	top:14px;
	bottom:14px;
	width:26px;
	opacity:0.95;
}

.edenSlideCard__bracket::before{
	left:18px;
	border-left:8px solid var(--esc-bracket);
	border-top:8px solid var(--esc-bracket);
	border-bottom:8px solid var(--esc-bracket);
	border-radius:2px;
}

.edenSlideCard__bracket::after{
	right:18px;
	border-right:8px solid var(--esc-bracket);
	border-top:8px solid var(--esc-bracket);
	border-bottom:8px solid var(--esc-bracket);
	border-radius:2px;
}

.edenSlideCard__list{
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-direction:column;
	gap:9px;

	font-size:15.5px;
	color:rgba(255,255,255,0.80);
	letter-spacing:-0.01em;
}

.edenSlideCard__list li{
	text-shadow:0 6px 18px rgba(0,0,0,0.22);
}

.edenSlideCard__footer{
	position:relative;
	z-index:2;
	display:flex;
	justify-content:flex-end;
	align-items:flex-end;
	padding:18px var(--esc-pad-x) var(--esc-pad-bottom);
	min-height:90px;
}

.edenSlideCard__contact{
	text-align:right;
	padding:10px 14px;
	border-radius:14px;
	background: rgba(0,0,0,0.22);
	border:1px solid rgba(255,255,255,0.10);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.edenSlideCard__contactLabel{
	font-size:13.5px;
	color:var(--esc-muted);
	font-weight:800;
	margin-bottom:6px;
}

.edenSlideCard__contactTel{
	display:inline-block;
	text-decoration:none;
	color:rgba(255,255,255,0.92);
	font-size:28px;
	font-weight:900;
	letter-spacing:-0.02em;
}

/* 반응형 */
@media (max-width:640px){
	.edenSlideCard{
		--esc-min-h:640px;
		--esc-pad-x:18px;
		--esc-pad-top:30px;
		--esc-pad-bottom:22px;
	}
	.edenSlideCard__title{ font-size:26px; }
	.edenSlideCard__subtitle{ font-size:14px; }
	.edenSlideCard__desc{ font-size:14.5px; padding:14px 14px; }
	.edenSlideCard__bracket{ padding:16px 54px; }
	.edenSlideCard__bracket::before{ left:12px; }
	.edenSlideCard__bracket::after{ right:12px; }
	.edenSlideCard__contactTel{ font-size:22px; }
	.edenSlideCard::after{ height:260px; }
}
.edenSlideCard__grid{
	list-style:none;
	padding:0;
	margin:0;

	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:10px 10px;
}

.edenSlideCard__chip{
	display:flex;
	align-items:center;
	gap:10px;

	padding:10px 12px;
	border-radius:14px;

	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.10);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);

	/* 높이 안정 */
	min-height:44px;
	text-align:center;
}

.edenSlideCard__chipIcon{
	width:34px;
	height:34px;
	border-radius:12px;

	display:flex;
	align-items:center;
	justify-content:center;

	background: rgba(255, 107, 134, 0.18);
	border: 1px solid rgba(255, 107, 134, 0.28);
	box-shadow: 0 10px 26px rgba(0,0,0,0.18);

	font-size:18px;
	line-height:1;
	flex:0 0 34px;
}

.edenSlideCard__chipText{
	color: rgba(255,255,255,0.86);
	font-size:12px;
	font-weight:700;
	letter-spacing:-0.01em;
	line-height:1.25;
}

@media (max-width:640px){
	.edenSlideCard__grid{
		grid-template-columns:repeat(1, minmax(0, 1fr));
		gap:10px 10px;
	}
	.edenSlideCard__chipText{ font-size:14px; }

    .about-slider-controls {
        display: flex !important; /* none에서 flex로 변경하여 표시 */
        width: 100%;
        justify-content: space-between;
        pointer-events: none; /* 버튼 영역 자체가 클릭을 방해하지 않도록 */
        z-index: 30; /* 다른 요소보다 위에 오도록 순서 조정 */
        padding: 0; /* 기존 패딩 제거 */
    }

    /* 좌우 버튼 스타일 조정 */
    .about-slider-btn {
        pointer-events: auto; /* 버튼 클릭 가능하도록 설정 */
        width: 26px; /* 터치하기 편하도록 크기 확대 */
        height: 26px;
        background: rgba(255, 255, 255, 0.3); /* 배경 어둡게 변경 */
        color: #333; /* 아이콘 색상 흰색으로 */
        border: 1px solid rgba(255, 255, 255, 0.2); /* 테두리 추가 */
    }
    
    /* 버튼 위치 세부 조정 */
    .about-slider-btn.prev { left: -5px; }
    .about-slider-btn.next { right: -5px; }
}


.edenSlideCard__chipText_footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 14px;
	color: #cbd5f5;
	margin-bottom:50px;
}
.edenSlideCard_tag-title{
    font-family: "Black Han Sans", sans-serif;
	border-radius: 999px;
	padding: 4px 10px;
	border: 1px solid rgba(191,219,254,0.8);
	background: rgba(15,23,42,0.7);
	font-size: 14px;
}


.edenSlideCard_tag-tel{
	border-radius: 999px;
	padding: 4px 10px;
	border: 1px solid rgba(15,23,42,0.7);
	background: rgba(191,219,254,0.8);
	color:rgb(15,23,42);
	font-size: 12px;
}


/* === 외래진료시간 패널(다크톤용) === */
.clinicHours {
	--ch-bg: rgba(15, 23, 42, 0.58);
	--ch-bg-soft: rgba(255, 255, 255, 0.06);
	--ch-line: rgba(255, 255, 255, 0.10);
	--ch-text: rgba(255, 255, 255, 0.92);
	--ch-sub: rgba(255, 255, 255, 0.66);
	--ch-accent: #60a5fa;
	--ch-warn: #fb7185;
	--ch-good: #34d399;

	position: relative;
	color: var(--ch-text);
	border: 1px solid var(--ch-line);
	background: var(--ch-bg);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 22px;
	padding: 26px;
	box-shadow: 0 22px 60px rgba(0, 0, 0, 0.35);
	overflow: hidden;
}

.clinicHours::before {
	content: "";
	position: absolute;
	inset: -40% -20%;
	background:
		radial-gradient(circle at 20% 30%, rgba(96,165,250,0.20), transparent 50%),
		radial-gradient(circle at 80% 70%, rgba(251,113,133,0.18), transparent 55%);
	filter: blur(14px);
	opacity: 0.9;
	pointer-events: none;
}

.clinicHours > * {
	position: relative;
	z-index: 1;
}

.clinicHours__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--ch-line);
	margin-bottom: 18px;
}

.clinicHours__title {
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin: 0;
}

.clinicHours__meta {
	font-size: 12px;
	color: var(--ch-sub);
	line-height: 1.3;
	text-align: right;
}

.clinicHours__topCards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 18px 0 14px;
}

.clinicCard {
	border: 1px solid var(--ch-line);
	background: rgba(255,255,255,0.05);
	border-radius: 18px;
	padding: 16px;
	min-height: 104px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.clinicCard__k {
	font-weight: 900;
	font-size: 15px;
	letter-spacing: -0.01em;
	margin: 0 0 6px;
}

.clinicCard__v {
	font-size: 12px;
	color: var(--ch-sub);
	line-height: 1.45;
	margin: 0;
}

.clinicHours__notices {
	margin: 0;
	padding: 12px 14px;
	border: 1px dashed rgba(255,255,255,0.18);
	background: rgba(0,0,0,0.15);
	border-radius: 16px;
}

.clinicHours__notices li {
	margin: 6px 0;
	font-size: 12.5px;
	line-height: 1.55;
	color: rgba(255,255,255,0.84);
	list-style: none;
}

.chDot {
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 999px;
	margin-right: 8px;
	vertical-align: middle;
	background: var(--ch-accent);
}

.chDot--warn { background: var(--ch-warn); }
.chDot--good { background: var(--ch-good); }

.chPill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 10px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(255,255,255,0.06);
	color: rgba(255,255,255,0.88);
	font-size: 11px;
	margin-left: 6px;
	white-space: nowrap;
}

.chPill--warn {
	border-color: rgba(251,113,133,0.35);
	background: rgba(251,113,133,0.14);
}

.clinicHours__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 18px;
}

.deptCard {
	border: 1px solid var(--ch-line);
	background: rgba(255,255,255,0.04);
	border-radius: 18px;
	padding: 16px;
}

.deptCard__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.deptCard__name {
	margin: 0;
	font-size: 15px;
	font-weight: 900;
	letter-spacing: -0.01em;
}

.deptCard__hint {
	font-size: 12px;
	color: var(--ch-sub);
	margin: 0;
}

.hoursTable {
	width: 100%;
	border-collapse: collapse;
	overflow: hidden;
	border-radius: 14px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(0,0,0,0.16);
}

.hoursTable th,
.hoursTable td {
	padding: 10px 12px;
	border-bottom: 1px solid rgba(255,255,255,0.08);
	font-size: 12.5px;
	line-height: 1.35;
}

.hoursTable tr:last-child th,
.hoursTable tr:last-child td {
	border-bottom: 0;
}

.hoursTable th {
	width: 42%;
	text-align: left;
	color: rgba(255,255,255,0.80);
	font-weight: 800;
	background: rgba(255,255,255,0.04);
}

.hoursTable td {
	color: rgba(255,255,255,0.92);
	text-align: right;
}

.deptCard__foot {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid rgba(255,255,255,0.10);
	font-size: 12px;
	color: rgba(255,255,255,0.78);
	line-height: 1.5;
}

.deptCard__tel {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 6px;
	color: rgba(255,255,255,0.92);
	font-weight: 800;
}

.deptCard__tel i {
	width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgba(96,165,250,0.18);
	border: 1px solid rgba(96,165,250,0.25);
	font-style: normal;
}

.clinicHours__divider {
	margin: 18px 0 0;
	border: 0;
	height: 1px;
	background: rgba(255,255,255,0.10);
}

.time_bold{
	font-weight:bold;
	color:#ffbd95;
}

/* 반응형 */
@media (max-width: 980px) {
	.clinicHours__topCards { grid-template-columns: 1fr; }
	.clinicHours__grid { grid-template-columns: 1fr; }
	.clinicHours__meta { text-align: left; }
	.clinicHours__head { align-items: flex-start; }
}

/* === 진료과 섹션 (about 패널) - 하이푸 스타일 탭/패널 === */
.clinic-section {
	--clinic-bg: rgba(15, 23, 42, 0.72);
	--clinic-line: rgba(255, 255, 255, 0.12);
	--clinic-text: rgba(255, 255, 255, 0.95);
	--clinic-sub: rgba(255, 255, 255, 0.78);
	--clinic-accent: #7dd3fc;
	--clinic-accent2: #a78bfa;
	--clinic-glow: rgba(125, 211, 252, 0.25);

	position: relative;
	color: var(--clinic-text);
	border: 1px solid var(--clinic-line);
	background: var(--clinic-bg);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-radius: 24px;
	padding: 0 0 0 0;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255,255,255,0.06) inset;
	overflow: visible;
	min-height: min-content;
	flex-shrink: 0;
}

.clinic-tabs {
	display: flex;
	flex-wrap: wrap;
    justify-content: center;
	gap: 8px;
	padding: 16px 20px;
	background: linear-gradient(180deg, rgba(255,255,255,0.06) 0%, transparent 100%);
	border-bottom: 1px solid var(--clinic-line);
}

.clinic-tab {
	padding: 10px 18px;
	font-size: 14px;
	font-weight: 700;
	color: var(--clinic-sub);
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 12px;
	cursor: pointer;
	transition: color 0.2s, background 0.2s, border-color 0.2s;
}

.clinic-tab:hover {
	color: var(--clinic-text);
	background: rgba(255,255,255,0.1);
	border-color: rgba(125, 211, 252, 0.3);
}

.clinic-tab.is-active {
	color: #fff;
	background: linear-gradient(135deg, var(--clinic-accent), var(--clinic-accent2));
	border-color: rgba(125, 211, 252, 0.5);
	box-shadow: 0 4px 16px rgba(125, 211, 252, 0.25);
}

.clinic-panels {
	position: relative;
	min-height: 320px;
	overflow: visible;
}

.clinic-panel {
	display: none;
	padding: 0;
	animation: clinicPanelFade 0.3s ease-out;
}

.clinic-panel.is-active {
	display: block;
}

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

.clinic-hero {
	text-align: center;
	padding: 28px 24px 24px;
	background:
		radial-gradient(120% 100% at 50% 0%, var(--clinic-glow), transparent 55%),
		linear-gradient(180deg, rgba(255,255,255,0.08) 0%, transparent 50%);
}

.clinic-hero__badge {
	display: inline-block;
	margin-bottom: 10px;
	padding: 5px 14px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.06em;
	color: var(--clinic-accent);
	background: rgba(125, 211, 252, 0.15);
	border: 1px solid rgba(125, 211, 252, 0.35);
	border-radius: 999px;
}

.clinic-hero__title {
	font-family: "Black Han Sans", "Noto Sans KR", sans-serif;
	font-size: 28px;
	font-weight: 400;
	letter-spacing: -0.03em;
	margin: 0 0 8px;
	color: #fff;
	line-height: 1.3;
}

.clinic-hero__title br { display: block; }

.clinic-hero__sub {
	font-size: 14px;
	font-weight: 600;
	margin: 0 0 12px;
	color: var(--clinic-sub);
	line-height: 1.4;
}

.clinic-hero__tel {
	font-size: 13px;
	margin: 0;
	color: var(--clinic-sub);
}

.clinic-hero__tel a {
	color: var(--clinic-accent);
	text-decoration: none;
	font-weight: 700;
}

.clinic-hero__tel a:hover {
	text-decoration: underline;
}

.clinic-section .clinic-card {
	position: relative;
	margin: 20px 24px;
	padding: 18px 20px 18px 24px;
	background: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
	border: 1px solid var(--clinic-line);
	border-radius: 18px;
	box-shadow: 0 12px 40px rgba(0,0,0,0.2);
}

.clinic-card--intro .clinic-card__accent {
	position: absolute;
	left: 0;
	top: 16px;
	bottom: 16px;
	width: 4px;
	background: linear-gradient(180deg, var(--clinic-accent), var(--clinic-accent2));
	border-radius: 0 4px 4px 0;
}

.clinic-card__desc {
	margin: 0;
}

.clinic-card__desc p {
	margin: 0;
	font-size: 14px;
	line-height: 1.75;
	color: var(--clinic-sub);
}

.clinic-card__desc p + p {
	margin-top: 12px;
}

.clinic-block {
	margin: 20px 24px 24px;
	padding: 18px 20px;
	background: linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
	border: 1px solid var(--clinic-line);
	border-radius: 18px;
}

.clinic-block__title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 800;
	margin: 0 0 14px;
	color: var(--clinic-text);
}

.clinic-block__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	font-size: 13px;
	color: var(--clinic-accent);
	background: rgba(125, 211, 252, 0.2);
	border-radius: 10px;
}

.clinic-chips {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.clinic-chip {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 14px;
	transition: background 0.2s, border-color 0.2s, transform 0.2s;
}

.clinic-chip:hover {
	background: rgba(255,255,255,0.09);
	border-color: rgba(125, 211, 252, 0.25);
	transform: translateY(-2px);
}

.clinic-chip__icon {
	font-size: 18px;
	line-height: 1;
	flex-shrink: 0;
}

.clinic-chip__text {
	font-size: 13px;
	line-height: 1.4;
	color: var(--clinic-sub);
	font-weight: 500;
}

@media (max-width: 640px) {
	.clinic-tabs { padding: 12px 16px; gap: 6px; }
	.clinic-tab { padding: 8px 14px; font-size: 13px; }
	.clinic-hero__title { font-size: 22px; }
	.clinic-section .clinic-card,
	.clinic-block { margin-left: 16px; margin-right: 16px; }
	.clinic-chips { grid-template-columns: repeat(2, 1fr); }
}

/* === VBAC(특수자연분만) 전용 스타일 === */
.clinic-panel--vbac .vbac-banner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 200px;
	margin: 0 24px 24px;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid var(--clinic-line);
	box-shadow: 0 12px 40px rgba(0,0,0,0.2);
}
.clinic-panel--vbac .vbac-banner__bg {
	background: linear-gradient(135deg, rgb(243 243 243 / 30%), rgb(192 88 88 / 60%)), url(/images/vbac_banner.jpg) center / cover no-repeat;
	filter: blur(0);
}
.clinic-panel--vbac .vbac-banner__box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 28px 24px;
	background: linear-gradient(145deg, #e07a7a 0%, #c45c5c 50%, #b85050 100%);
	color: #fff;
}
.clinic-panel--vbac .vbac-banner__caption {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	opacity: 0.95;
	margin-bottom: 10px;
}
.clinic-panel--vbac .vbac-banner__title {
	margin: 0;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: -0.02em;
	word-break: keep-all;
}
.clinic-panel--vbac .vbac-content {
	margin: 0 24px 24px;
}
.clinic-panel--vbac .vbac-content__heading {
	font-size: 20px;
	font-weight: 800;
	color: var(--clinic-text);
	margin: 0 0 16px;
	letter-spacing: -0.02em;
	line-height: 1.35;
}
.clinic-panel--vbac .vbac-content .clinic-card {
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 20px;
}
.clinic-panel--vbac .vbac-list-block {
	margin: 24px 0 20px;
	padding: 18px 20px;
	background: linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
	border: 1px solid var(--clinic-line);
	border-radius: 18px;
}
.clinic-panel--vbac .vbac-list-block__title {
	font-size: 15px;
	font-weight: 800;
	color: var(--clinic-text);
	margin: 0 0 12px;
}
.clinic-panel--vbac .vbac-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.clinic-panel--vbac .vbac-list li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.65;
	color: var(--clinic-sub);
}
.clinic-panel--vbac .vbac-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 6px;
	height: 6px;
	background: #e07a7a;
	border-radius: 50%;
}
.clinic-panel--vbac .vbac-list li:last-child {
	margin-bottom: 0;
}
.clinic-panel--vbac .vbac-caution-card .vbac-caution__lead {
	margin: 0 0 14px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--clinic-text);
	letter-spacing: -0.02em;
}
.clinic-panel--vbac .vbac-caution-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.clinic-panel--vbac .vbac-caution-list li {
	position: relative;
	padding-left: 18px;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.6;
	color: var(--clinic-sub);
	letter-spacing: -0.01em;
}
.clinic-panel--vbac .vbac-caution-list li:last-child {
	margin-bottom: 0;
}
.clinic-panel--vbac .vbac-caution-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.58em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: linear-gradient(135deg, #38bdf8, #818cf8);
}
@media (max-width: 640px) {
	.clinic-panel--vbac .vbac-banner {
		grid-template-columns: 1fr;
		margin-left: 16px;
		margin-right: 16px;
		min-height: 160px;
	}
	.clinic-panel--vbac .vbac-banner__bg {
		min-height: 140px;
	}
	.clinic-panel--vbac .vbac-banner__box {
		padding: 20px 18px;
	}
	.clinic-panel--vbac .vbac-banner__title {
		font-size: 16px;
	}
	.clinic-panel--vbac .vbac-content {
		margin-left: 16px;
		margin-right: 16px;
	}
	.clinic-panel--vbac .vbac-caution-card .vbac-caution__lead {
		font-size: 13px;
		margin-bottom: 12px;
	}
	.clinic-panel--vbac .vbac-caution-list li {
		font-size: 12.5px;
		padding-left: 16px;
		margin-bottom: 7px;
	}
}

/* === 복강경수술 전용 스타일 === */
.clinic-panel--laparo .laparo-banner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 200px;
	margin: 0 24px 24px;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid var(--clinic-line);
	box-shadow: 0 12px 40px rgba(0,0,0,0.2);
}
.clinic-panel--laparo .laparo-banner__bg {
	background: linear-gradient(135deg, rgb(255 255 255 / 10%), rgb(255 206 206 / 60%)), url(/images/laparo_banner.jpg) center / cover no-repeat;
}
.clinic-panel--laparo .laparo-banner__box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 28px 24px;
	background: linear-gradient(145deg, #e07a7a 0%, #c45c5c 50%, #b85050 100%);
	color: #fff;
}
.clinic-panel--laparo .laparo-banner__title {
	margin: 0 0 8px;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.3;
}
.clinic-panel--laparo .laparo-banner__sub {
	margin: 0 0 12px;
	font-size: 16px;
	font-weight: 700;
	opacity: 0.95;
}
.clinic-panel--laparo .laparo-banner__stat {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	opacity: 0.9;
}
.clinic-panel--laparo .laparo-content {
	margin: 0 24px 24px;
}
.clinic-panel--laparo .laparo-content .clinic-card {
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 20px;
}
.clinic-panel--laparo .laparo-section-heading {
	font-size: 18px;
	font-weight: 800;
	color: var(--clinic-text);
	margin: 0 0 14px;
	letter-spacing: -0.02em;
}
.clinic-panel--laparo .laparo-diseases-block {
	margin: 24px 0 0;
	padding: 18px 20px;
	background: linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
	border: 1px solid var(--clinic-line);
	border-radius: 18px;
}
.clinic-panel--laparo .laparo-diseases-block__title {
	font-size: 15px;
	font-weight: 800;
	color: var(--clinic-text);
	margin: 0 0 16px;
}
.clinic-panel--laparo .laparo-diseases-flow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 4px;
}
.clinic-panel--laparo .laparo-disease-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	font-size: 13px;
	font-weight: 600;
	color: rgba(255,255,255,0.95);
	background: linear-gradient(145deg, #2dd4bf 0%, #14b8a6 50%, #0d9488 100%);
	border-radius: 999px;
	white-space: nowrap;
	box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.clinic-panel--laparo .laparo-disease-plus {
	font-size: 14px;
	font-weight: 700;
	color: var(--clinic-sub);
	opacity: 0.8;
	padding: 0 2px;
}
@media (max-width: 640px) {
	.clinic-panel--laparo .laparo-banner {
		grid-template-columns: 1fr;
		margin-left: 16px;
		margin-right: 16px;
		min-height: 160px;
	}
	.clinic-panel--laparo .laparo-banner__bg {
		min-height: 140px;
	}
	.clinic-panel--laparo .laparo-banner__box {
		padding: 20px 18px;
	}
	.clinic-panel--laparo .laparo-banner__title {
		font-size: 18px;
	}
	.clinic-panel--laparo .laparo-banner__sub,
	.clinic-panel--laparo .laparo-banner__stat {
		font-size: 13px;
	}
	.clinic-panel--laparo .laparo-content {
		margin-left: 16px;
		margin-right: 16px;
	}
	.clinic-panel--laparo .laparo-diseases-flow {
		gap: 6px 4px;
	}
	.clinic-panel--laparo .laparo-disease-pill {
		padding: 8px 12px;
		font-size: 12px;
		white-space: normal;
		text-align: center;
	}
}

/* === 요실금수술 전용 스타일 === */
.clinic-panel--incontinence .incont-banner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 200px;
	margin: 0 24px 24px;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid var(--clinic-line);
	box-shadow: 0 12px 40px rgba(0,0,0,0.2);
}
.clinic-panel--incontinence .incont-banner__bg {
	background: linear-gradient(135deg, rgb(255 255 255 / 35%), rgb(168 168 168 / 50%)), url(/images/incont_banner.jpg) 0px -40px / cover no-repeat;
}
.clinic-panel--incontinence .incont-banner__box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 28px 24px;
	background: linear-gradient(145deg, #e07a7a 0%, #c45c5c 50%, #b85050 100%);
	color: #fff;
}
.clinic-panel--incontinence .incont-banner__caption {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	opacity: 0.95;
	margin-bottom: 10px;
}
.clinic-panel--incontinence .incont-banner__title {
	margin: 0;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: -0.02em;
}
.clinic-panel--incontinence .incont-content {
	margin: 0 24px 24px;
}
.clinic-panel--incontinence .incont-content .clinic-card {
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 24px;
}
.clinic-panel--incontinence .incont-section {
	margin-bottom: 28px;
	padding: 20px 0;
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.clinic-panel--incontinence .incont-section:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
}
.clinic-panel--incontinence .incont-section__title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 17px;
	font-weight: 800;
	color: var(--clinic-text);
	margin: 0 0 14px;
	letter-spacing: -0.02em;
	padding-left: 14px;
	border-left: 4px solid #7dd3fc;
}
.clinic-panel--incontinence .incont-section__lead {
	font-size: 14px;
	line-height: 1.7;
	color: var(--clinic-sub);
	margin: 0 0 14px;
}
.clinic-panel--incontinence .incont-when-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px 24px;
	margin-top: 16px;
}
.clinic-panel--incontinence .incont-when-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	min-width: 80px;
	width: 15%;
	padding: 16px 12px;
	background: linear-gradient(145deg, rgba(125, 211, 252, 0.12), rgba(125, 211, 252, 0.06));
	border: 1px solid rgba(125, 211, 252, 0.2);
	border-radius: 16px;
	transition: transform 0.2s, box-shadow 0.2s;
}
.clinic-panel--incontinence .incont-when-item:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}
.clinic-panel--incontinence .incont-when-item__icon {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: linear-gradient(180deg, #67d4e8 0%, #38bdf8 100%);
	box-shadow: 0 4px 12px rgba(56, 189, 248, 0.35);
}
.clinic-panel--incontinence .incont-when-item__icon--drop::before {
	content: "";
	display: block;
	width: 14px;
	height: 18px;
	background: rgba(255,255,255,0.95);
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
	margin: 0 auto;
}
.clinic-panel--incontinence .incont-when-item__icon--mom {
	font-size: 20px;
	line-height: 1;
}
.clinic-panel--incontinence .incont-when-item__label {
	font-size: 13px;
	font-weight: 600;
	color: var(--clinic-sub);
	text-align: center;
	line-height: 1.3;
}
.clinic-panel--incontinence .incont-bullet-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.clinic-panel--incontinence .incont-bullet-list li {
	position: relative;
	padding-left: 22px;
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.65;
	color: var(--clinic-sub);
}
.clinic-panel--incontinence .incont-bullet-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 8px;
	height: 8px;
	background: #7dd3fc;
	border-radius: 50%;
}
.clinic-panel--incontinence .incont-bullet-list li:last-child {
	margin-bottom: 0;
}
.clinic-panel--incontinence .incont-bullet-list--check li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	width: auto;
	height: auto;
	background: none;
	border-radius: 0;
	font-size: 12px;
	font-weight: 800;
	color: #34d399;
}
.clinic-panel--incontinence .incont-def-list {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid var(--clinic-line);
	background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
}
.clinic-panel--incontinence .incont-def-list dt {
	font-size: 14px;
	font-weight: 700;
	color: #7dd3fc;
	padding: 14px 18px;
	background: rgba(125, 211, 252, 0.08);
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.clinic-panel--incontinence .incont-def-list dt:first-child {
	border-radius: 16px 16px 0 0;
}
.clinic-panel--incontinence .incont-def-list dd {
	margin: 0;
	padding: 14px 18px 16px;
	font-size: 13px;
	line-height: 1.7;
	color: var(--clinic-sub);
	border-bottom: 1px solid rgba(255,255,255,0.05);
}
.clinic-panel--incontinence .incont-def-list dd:last-of-type {
	border-bottom: none;
}
.clinic-panel--incontinence .incont-def-list dt + dd {
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
@media (max-width: 640px) {
	.clinic-panel--incontinence .incont-banner {
		grid-template-columns: 1fr;
		margin-left: 16px;
		margin-right: 16px;
		min-height: 160px;
	}
	.clinic-panel--incontinence .incont-banner__bg {
		min-height: 140px;
	}
	.clinic-panel--incontinence .incont-banner__box {
		padding: 20px 18px;
	}
	.clinic-panel--incontinence .incont-banner__title {
		font-size: 16px;
	}
	.clinic-panel--incontinence .incont-content {
		margin-left: 16px;
		margin-right: 16px;
	}
	.clinic-panel--incontinence .incont-when-row {
		gap: 12px 16px;
	}
	.clinic-panel--incontinence .incont-when-item {
		min-width: 70px;
		padding: 12px 8px;
		width: 100%;
	}
	.clinic-panel--incontinence .incont-when-item__icon {
		width: 32px;
		height: 32px;
	}
	.clinic-panel--incontinence .incont-def-list dt,
	.clinic-panel--incontinence .incont-def-list dd {
		padding: 12px 14px;
		font-size: 13px;
	}
}

/* === 부인과성형 전용 스타일 === */
.clinic-panel--gyneco .gyneco-banner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 200px;
	margin: 0 24px 24px;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid var(--clinic-line);
	box-shadow: 0 12px 40px rgba(0,0,0,0.2);
}
.clinic-panel--gyneco .gyneco-banner__bg {
	background: linear-gradient(135deg, rgb(255 255 255 / 30%), rgb(255 255 255 / 45%)), url(/images/gyneco_banner.jpg) 0 -70px / cover no-repeat;
}
.clinic-panel--gyneco .gyneco-banner__box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 28px 24px;
	background: linear-gradient(145deg, #f8b4c4 0%, #f191a4 50%, #ec7a90 100%);
	color: #1e293b;
}
.clinic-panel--gyneco .gyneco-banner__caption {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: rgba(30, 41, 59, 0.8);
	margin-bottom: 10px;
}
.clinic-panel--gyneco .gyneco-banner__title {
	margin: 0;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: -0.02em;
	color: #1e293b;
}
.clinic-panel--gyneco .gyneco-content {
	margin: 0 24px 24px;
}
.clinic-panel--gyneco .gyneco-content .clinic-card {
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 24px;
}
.clinic-panel--gyneco .gyneco-section {
	margin-bottom: 26px;
	padding: 18px 0;
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.clinic-panel--gyneco .gyneco-section:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
}
.clinic-panel--gyneco .gyneco-section__title {
	font-size: 17px;
	font-weight: 800;
	color: var(--clinic-text);
	margin: 0 0 12px;
	letter-spacing: -0.02em;
	padding-left: 14px;
	border-left: 4px solid #f191a4;
}
.clinic-panel--gyneco .gyneco-section__subtitle {
	font-size: 15px;
	font-weight: 800;
	color: var(--clinic-text);
	margin: 0 0 12px;
}
.clinic-panel--gyneco .gyneco-section__p {
	font-size: 14px;
	line-height: 1.75;
	color: var(--clinic-sub);
	margin: 0 0 10px;
}
.clinic-panel--gyneco .gyneco-section__p + .gyneco-section__p {
	margin-top: 0;
}
.clinic-panel--gyneco .gyneco-bullet-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.clinic-panel--gyneco .gyneco-bullet-list li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.65;
	color: var(--clinic-sub);
}
.clinic-panel--gyneco .gyneco-bullet-list li::before {
	content: "·";
	position: absolute;
	left: 0;
	font-weight: 700;
	color: #f191a4;
	font-size: 18px;
}
.clinic-panel--gyneco .gyneco-bullet-list li:last-child {
	margin-bottom: 0;
}
.clinic-panel--gyneco .gyneco-numbered-block {
	margin-bottom: 22px;
	padding: 18px 20px;
	background: linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
	border: 1px solid var(--clinic-line);
	border-radius: 16px;
}
.clinic-panel--gyneco .gyneco-numbered-block:last-child {
	margin-bottom: 0;
}
.clinic-panel--gyneco .gyneco-numbered-block__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 12px;
}
.clinic-panel--gyneco .gyneco-numbered-block__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	min-width: 28px;
	font-size: 14px;
	font-weight: 800;
	color: #fff;
	background: #e07a7a;
	border-radius: 50%;
	box-shadow: 0 2px 8px rgba(224, 122, 122, 0.4);
}
.clinic-panel--gyneco .gyneco-numbered-block__head > span:last-child {
	font-size: 14px;
	font-weight: 700;
	color: var(--clinic-text);
	line-height: 1.4;
}
.clinic-panel--gyneco .gyneco-numbered-block__p {
	font-size: 14px;
	line-height: 1.75;
	color: var(--clinic-sub);
	margin: 0 0 10px;
	padding-left: 40px;
}
.clinic-panel--gyneco .gyneco-numbered-block__p:last-of-type {
	margin-bottom: 0;
}
.clinic-panel--gyneco .gyneco-numbered-block .gyneco-bullet-list {
	margin-top: 12px;
	margin-left: 40px;
}
@media (max-width: 640px) {
	.clinic-panel--gyneco .gyneco-banner {
		grid-template-columns: 1fr;
		margin-left: 16px;
		margin-right: 16px;
		min-height: 160px;
	}
	.clinic-panel--gyneco .gyneco-banner__bg {
		min-height: 140px;
	}
	.clinic-panel--gyneco .gyneco-banner__box {
		padding: 20px 18px;
	}
	.clinic-panel--gyneco .gyneco-banner__title {
		font-size: 15px;
	}
	.clinic-panel--gyneco .gyneco-content {
		margin-left: 16px;
		margin-right: 16px;
	}
	.clinic-panel--gyneco .gyneco-numbered-block__p,
	.clinic-panel--gyneco .gyneco-numbered-block .gyneco-bullet-list {
		padding-left: 0;
		margin-left: 0;
	}
}

/* === 유방클리닉(벡스코어) 전용 스타일 === */
.clinic-panel--breast .breast-banner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 200px;
	margin: 0 24px 24px;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid var(--clinic-line);
	box-shadow: 0 12px 40px rgba(0,0,0,0.2);
}
.clinic-panel--breast .breast-banner__bg {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0.5)),
		url("/images/breast_banner.jpg") center / cover no-repeat;
}
.clinic-panel--breast .breast-banner__box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 28px 24px;
	background: linear-gradient(145deg, #f8b4c4 0%, #f191a4 50%, #ec7a90 100%);
	color: #1e293b;
}
.clinic-panel--breast .breast-banner__caption {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: rgba(30, 41, 59, 0.75);
	margin-bottom: 10px;
}
.clinic-panel--breast .breast-banner__title {
	margin: 0;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #1e293b;
}
.clinic-panel--breast .breast-content {
	margin: 0 24px 24px;
}
.clinic-panel--breast .breast-content .clinic-card {
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 24px;
}
.clinic-panel--breast .breast-section {
	margin-bottom: 26px;
	padding: 18px 0;
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.clinic-panel--breast .breast-section:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
}
.clinic-panel--breast .breast-section__title {
	font-size: 17px;
	font-weight: 800;
	color: var(--clinic-text);
	margin: 0 0 14px;
	letter-spacing: -0.02em;
	padding-left: 14px;
	border-left: 4px solid #f191a4;
}
.clinic-panel--breast .breast-bullet-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.clinic-panel--breast .breast-bullet-list li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.65;
	color: var(--clinic-sub);
}
.clinic-panel--breast .breast-bullet-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 6px;
	height: 6px;
	background: var(--clinic-sub);
	border-radius: 50%;
}
.clinic-panel--breast .breast-bullet-list li:last-child {
	margin-bottom: 0;
}
.clinic-panel--breast .breast-table-wrap {
	overflow-x: auto;
	border-radius: 12px;
	border: 1px solid var(--clinic-line);
	background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
}
.clinic-panel--breast .breast-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}
.clinic-panel--breast .breast-table th,
.clinic-panel--breast .breast-table td {
	padding: 12px 14px;
	text-align: left;
	border: 1px solid rgba(255,255,255,0.08);
}
.clinic-panel--breast .breast-table thead th {
	background: linear-gradient(145deg, #f8b4c4 0%, #ec7a90 100%);
	color: #fff;
	font-weight: 700;
}
.clinic-panel--breast .breast-table thead th:first-child {
	border-radius: 11px 0 0 0;
}
.clinic-panel--breast .breast-table thead th:last-child {
	border-radius: 0 11px 0 0;
}
.clinic-panel--breast .breast-table tbody td:first-child {
	background: rgba(255,255,255,0.06);
	font-weight: 600;
	color: var(--clinic-text);
	width: 22%;
}
.clinic-panel--breast .breast-table tbody td {
	color: var(--clinic-sub);
}
.clinic-panel--breast .breast-table tbody tr:last-child td:first-child {
	border-radius: 0 0 0 11px;
}
.clinic-panel--breast .breast-table tbody tr:last-child td:last-child {
	border-radius: 0 0 11px 0;
}
@media (max-width: 640px) {
	.clinic-panel--breast .breast-banner {
		grid-template-columns: 1fr;
		margin-left: 16px;
		margin-right: 16px;
		min-height: 160px;
	}
	.clinic-panel--breast .breast-banner__bg {
		min-height: 140px;
	}
	.clinic-panel--breast .breast-banner__box {
		padding: 20px 18px;
	}
	.clinic-panel--breast .breast-banner__title {
		font-size: 18px;
	}
	.clinic-panel--breast .breast-content {
		margin-left: 16px;
		margin-right: 16px;
	}
	.clinic-panel--breast .breast-table th,
	.clinic-panel--breast .breast-table td {
		padding: 10px 12px;
		font-size: 12px;
	}
}

/* === 소아청소년과 영유아검진 문진표 다운로드 === */
.pediatrics-download-section {
	margin-top: 24px;
}
.pediatrics-download-section .pediatrics-table-wrap {
	overflow-x: auto;
	border-radius: 12px;
	border: 1px solid var(--clinic-line, rgba(255,255,255,0.12));
	margin-top: 12px;
}
.pediatrics-download-section .pediatrics-download-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}
.pediatrics-download-section .pediatrics-download-table th,
.pediatrics-download-section .pediatrics-download-table td {
	padding: 12px 14px;
	text-align: left;
	border: 1px solid rgba(255,255,255,0.08);
}
.pediatrics-download-section .pediatrics-download-table thead th {
	background: rgba(255,255,255,0.12);
	color: var(--clinic-text, #e2e8f0);
	font-weight: 700;
}
.pediatrics-download-section .pediatrics-download-table tbody td {
	color: var(--clinic-sub, #94a3b8);
}
.pediatrics-download-section .pediatrics-download-link {
	color: #38bdf8;
	text-decoration: underline;
}
.pediatrics-download-section .pediatrics-download-link:hover {
	color: #7dd3fc;
}
@media (max-width: 640px) {
	.pediatrics-download-section .pediatrics-download-table th,
	.pediatrics-download-section .pediatrics-download-table td {
		padding: 10px 12px;
		font-size: 12px;
	}
}

/* === 위대장내시경 전용 스타일 === */
.clinic-panel--endoscopy .endo-banner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 200px;
	margin: 0 24px 24px;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid var(--clinic-line);
	box-shadow: 0 12px 40px rgba(0,0,0,0.2);
}
.clinic-panel--endoscopy .endo-banner__bg {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.35), rgba(204, 204, 204, 0.5)),
		url("/images/endoscopy_banner.jpg") center / cover no-repeat;
}
.clinic-panel--endoscopy .endo-banner__box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 28px 24px;
	background: linear-gradient(145deg, #fcd5c8 0%, #f5b7a6 50%, #f09c85 100%);
	color: #1e293b;
}
.clinic-panel--endoscopy .endo-banner__caption {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: rgba(30, 41, 59, 0.75);
	margin-bottom: 10px;
}
.clinic-panel--endoscopy .endo-banner__title {
	margin: 0;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: -0.02em;
	color: #1e293b;
}
.clinic-panel--endoscopy .endo-content {
	margin: 0 24px 24px;
}
.clinic-panel--endoscopy .endo-content .clinic-card {
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 24px;
}
.clinic-panel--endoscopy .endo-section {
	margin-bottom: 26px;
	padding: 18px 0;
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.clinic-panel--endoscopy .endo-section:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
}
.clinic-panel--endoscopy .endo-section__title {
	font-size: 17px;
	font-weight: 800;
	color: var(--clinic-text);
	margin: 0 0 12px;
	letter-spacing: -0.02em;
	padding-left: 14px;
	border-left: 4px solid #f09c85;
}
.clinic-panel--endoscopy .endo-section__subtitle {
	font-size: 15px;
	font-weight: 700;
	color: var(--clinic-text);
	margin: 18px 0 10px;
}
.clinic-panel--endoscopy .endo-section__p {
	font-size: 14px;
	line-height: 1.75;
	color: var(--clinic-sub);
	margin: 0 0 10px;
}
.clinic-panel--endoscopy .endo-section__p + .endo-section__p {
	margin-top: 0;
}
.clinic-panel--endoscopy .endo-bullet-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.clinic-panel--endoscopy .endo-bullet-list li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 8px;
	font-size: 14px;
	line-height: 1.65;
	color: var(--clinic-sub);
}
.clinic-panel--endoscopy .endo-bullet-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 6px;
	height: 6px;
	background: #f09c85;
	border-radius: 50%;
}
.clinic-panel--endoscopy .endo-bullet-list li:last-child {
	margin-bottom: 0;
}
.clinic-panel--endoscopy .endo-footer {
	margin-top: 24px;
	padding: 20px 22px;
	background: linear-gradient(135deg, rgba(240, 156, 133, 0.15), rgba(240, 156, 133, 0.08));
	border: 1px solid rgba(240, 156, 133, 0.3);
	border-radius: 16px;
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}
.clinic-panel--endoscopy .endo-footer__label {
	font-size: 15px;
	font-weight: 700;
	color: var(--clinic-text);
}
.clinic-panel--endoscopy .endo-footer__tel {
	font-size: 18px;
	font-weight: 800;
	color: #f09c85;
	text-decoration: none;
	letter-spacing: -0.02em;
}
.clinic-panel--endoscopy .endo-footer__tel:hover {
	text-decoration: underline;
}
@media (max-width: 640px) {
	.clinic-panel--endoscopy .endo-banner {
		grid-template-columns: 1fr;
		margin-left: 16px;
		margin-right: 16px;
		min-height: 160px;
	}
	.clinic-panel--endoscopy .endo-banner__bg {
		min-height: 140px;
	}
	.clinic-panel--endoscopy .endo-banner__box {
		padding: 20px 18px;
	}
	.clinic-panel--endoscopy .endo-banner__title {
		font-size: 17px;
	}
	.clinic-panel--endoscopy .endo-content {
		margin-left: 16px;
		margin-right: 16px;
	}
}

/* === 건강검진센터 전용 스타일 === */
.clinic-panel--checkup .checkup-content {
	margin: 0 24px 24px;
}
.clinic-panel--checkup .checkup-sgrade {
	margin-bottom: 24px;
	padding: 22px 24px;
	background: linear-gradient(135deg, rgba(59, 130, 246, 0.12), rgba(59, 130, 246, 0.06));
	border: 1px solid rgba(59, 130, 246, 0.25);
	border-radius: 16px;
}
.clinic-panel--checkup .checkup-sgrade__title {
	font-size: 18px;
	font-weight: 800;
	color: #a4c5fb;
	margin: 0 0 14px;
	letter-spacing: -0.02em;
	line-height: 1.4;
}
.clinic-panel--checkup .checkup-sgrade__em {
	font-style: normal;
	color: #ffffff;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.clinic-panel--checkup .checkup-sgrade__list {
	margin: 0 0 14px;
	padding: 0 0 0 20px;
	list-style: disc;
	font-size: 14px;
	line-height: 1.7;
	color: var(--clinic-sub);
}
.clinic-panel--checkup .checkup-sgrade__list li {
	margin-bottom: 4px;
}
.clinic-panel--checkup .checkup-sgrade__list strong {
	color: var(--clinic-text);
}
.clinic-panel--checkup .checkup-sgrade__lead {
	font-size: 14px;
	line-height: 1.7;
	color: var(--clinic-sub);
	margin: 0;
	padding: 12px 0 0;
	border-top: 1px solid rgba(59, 130, 246, 0.2);
}
.clinic-panel--checkup .checkup-sgrade__lead strong {
	color: var(--clinic-text);
}
/* 검진 종류: 빨간 테두리 + 청진기 배경 */
.clinic-panel--checkup .checkup-types-box {
	position: relative;
	margin-bottom: 26px;
	padding: 24px;
	border: 2px solid #e07a7a;
	border-radius: 16px;
	overflow: hidden;
	background: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
}
.clinic-panel--checkup .checkup-types-box__bg {
	position: absolute;
	inset: 0;
	background: url("/images/checkup_stethoscope.jpg") center / cover no-repeat;
	opacity: 0.08;
	filter: blur(6px);
	pointer-events: none;
}
.clinic-panel--checkup .checkup-types-box__inner {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 16px;
}
.clinic-panel--checkup .checkup-type-item {
	padding: 12px 16px;
	background: rgba(255,255,255,0.05);
	border-radius: 12px;
	border: 1px solid rgba(255,255,255,0.08);
}
.clinic-panel--checkup .checkup-type-item__title {
	font-size: 15px;
	font-weight: 700;
	color: #f87171;
	margin: 0 0 6px;
}
.clinic-panel--checkup .checkup-type-item__desc {
	font-size: 13px;
	line-height: 1.6;
	color: var(--clinic-sub);
	margin: 0;
}
.clinic-panel--checkup .checkup-types-contact {
	position: relative;
	z-index: 1;
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid rgba(255,255,255,0.1);
}
.clinic-panel--checkup .checkup-types-contact p {
	margin: 0 0 8px;
	font-size: 14px;
	color: var(--clinic-sub);
}
.clinic-panel--checkup .checkup-types-contact p:last-child {
	margin-bottom: 0;
}
.clinic-panel--checkup .checkup-types-contact strong {
	color: var(--clinic-text);
	margin-right: 8px;
}
.clinic-panel--checkup .checkup-types-contact a {
	color: var(--clinic-accent);
	font-weight: 700;
	text-decoration: none;
}
.clinic-panel--checkup .checkup-types-contact a:hover {
	text-decoration: underline;
}
/* 일반/영유아 검진 안내 섹션 */
.clinic-panel--checkup .checkup-section {
	margin-bottom: 26px;
	padding: 18px 0;
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.clinic-panel--checkup .checkup-section:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
}
.clinic-panel--checkup .checkup-section__title {
	font-size: 17px;
	font-weight: 800;
	color: #a4c5fb;
	margin: 0 0 14px;
	letter-spacing: -0.02em;
}
.clinic-panel--checkup .checkup-section__title--bar {
	display: inline-block;
	padding: 8px 16px;
	background: rgba(59, 130, 246, 0.2);
	border-radius: 8px;
	margin-bottom: 16px;
}
.clinic-panel--checkup .checkup-section__subtitle {
	font-size: 15px;
	font-weight: 700;
	color: var(--clinic-text);
	margin: 16px 0 8px;
}
.clinic-panel--checkup .checkup-section__subtitle:first-of-type {
	margin-top: 0;
}
.clinic-panel--checkup .checkup-section__lead {
	font-size: 14px;
	line-height: 1.75;
	color: var(--clinic-sub);
	margin: 0 0 14px;
}
.clinic-panel--checkup .checkup-bullet-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.clinic-panel--checkup .checkup-bullet-list li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 8px;
	font-size: 14px;
	line-height: 1.65;
	color: var(--clinic-sub);
}
.clinic-panel--checkup .checkup-bullet-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 6px;
	height: 6px;
	background: #e07a7a;
	border-radius: 50%;
}
.clinic-panel--checkup .checkup-bullet-list li:last-child {
	margin-bottom: 0;
}
/* 건강검진 유의사항: 2단 dt/dd */
.clinic-panel--checkup .checkup-caution-list {
	display: grid;
	grid-template-columns: 100px 1fr;
	gap: 0;
	margin: 0;
	padding: 0;
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,0.08);
	background: rgba(255,255,255,0.03);
}
.clinic-panel--checkup .checkup-caution-list dt {
	font-size: 14px;
	font-weight: 700;
	color: #f0f6ff;
	padding: 14px 16px;
	background: rgba(59, 130, 246, 0.12);
	border-bottom: 1px solid rgba(255,255,255,0.06);
	grid-column: 1;
}
.clinic-panel--checkup .checkup-caution-list dd {
	margin: 0;
	padding: 14px 18px;
	font-size: 13px;
	line-height: 1.65;
	color: var(--clinic-sub);
	border-bottom: 1px solid rgba(255,255,255,0.05);
	grid-column: 2;
}
.clinic-panel--checkup .checkup-caution-list dd:last-of-type {
	border-bottom: none;
}
.clinic-panel--checkup .checkup-caution-list dt:not(:first-of-type) {
	border-top: 1px solid rgba(255,255,255,0.06);
}
@media (max-width: 640px) {
	.clinic-panel--checkup .checkup-content {
		margin-left: 16px;
		margin-right: 16px;
	}
	.clinic-panel--checkup .checkup-sgrade {
		padding: 18px 16px;
	}
	.clinic-panel--checkup .checkup-sgrade__title {
		font-size: 16px;
	}
	.clinic-panel--checkup .checkup-types-box {
		padding: 18px 16px;
	}
	.clinic-panel--checkup .checkup-type-item {
		padding: 10px 14px;
	}
	.clinic-panel--checkup .checkup-caution-list dt {
		width: auto;
	}
}

/* === 모자의료 진료협력 전용 스타일 === */
.clinic-panel--maternal .maternal-banner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 220px;
	margin: 0 24px 24px;
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid var(--clinic-line);
	box-shadow: 0 12px 40px rgba(0,0,0,0.2);
	background: linear-gradient(145deg, #f8b4c4 0%, #f191a4 50%, #ec7a90 100%);
}
.clinic-panel--maternal .maternal-banner__bg {
	background: linear-gradient(90deg, rgb(255 241 244 / 78%) 0%, rgb(248 180 196 / 39%) 50%, transparent 100%), url(/images/maternal_banner.jpg) left center / cover no-repeat;
	filter: blur(0);
}
.clinic-panel--maternal .maternal-banner__box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	text-align: right;
	padding: 28px 28px 28px 20px;
	color: #fff;
}
.clinic-panel--maternal .maternal-banner__caption {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: rgba(255,255,255,0.85);
	margin-bottom: 12px;
}
.clinic-panel--maternal .maternal-banner__title {
	margin: 0;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: -0.02em;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
}
.clinic-panel--maternal .maternal-banner__title span {
	display: block;
}
.clinic-panel--maternal .maternal-content {
	margin: 0 24px 24px;
}
.clinic-panel--maternal .maternal-section {
	margin-bottom: 26px;
	padding: 18px 0;
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.clinic-panel--maternal .maternal-section:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
}
.clinic-panel--maternal .maternal-section__title {
	font-size: 17px;
	font-weight: 800;
	color: var(--clinic-text);
	margin: 0 0 10px;
	letter-spacing: -0.02em;
	padding-left: 14px;
	border-left: 4px solid #f191a4;
}
.clinic-panel--maternal .maternal-section__numtitle {
	font-size: 16px;
	font-weight: 800;
	color: var(--clinic-text);
	margin: 0 0 10px;
	letter-spacing: -0.02em;
}
.clinic-panel--maternal .maternal-section__p {
	font-size: 14px;
	line-height: 1.75;
	color: var(--clinic-sub);
	margin: 0;
}
.clinic-panel--maternal .maternal-section__lead {
	font-size: 14px;
	line-height: 1.65;
	color: var(--clinic-sub);
	margin: 0 0 12px;
}
.clinic-panel--maternal .maternal-bullet-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.clinic-panel--maternal .maternal-bullet-list li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 8px;
	font-size: 14px;
	line-height: 1.65;
	color: var(--clinic-sub);
}
.clinic-panel--maternal .maternal-bullet-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 6px;
	height: 6px;
	background: #f191a4;
	border-radius: 50%;
}
.clinic-panel--maternal .maternal-bullet-list li:last-child {
	margin-bottom: 0;
}
@media (max-width: 640px) {
	.clinic-panel--maternal .maternal-banner {
		grid-template-columns: 1fr;
		margin-left: 16px;
		margin-right: 16px;
		min-height: 200px;
	}
	.clinic-panel--maternal .maternal-banner__bg {
		background: linear-gradient(180deg, rgba(248, 180, 196, 0.7) 0%, rgba(248, 180, 196, 0.4) 50%, transparent 100%),
			url("/images/maternal_banner.jpg") center / cover no-repeat;
		min-height: 140px;
	}
	.clinic-panel--maternal .maternal-banner__box {
		align-items: center;
		text-align: center;
		padding: 20px 18px;
	}
	.clinic-panel--maternal .maternal-banner__title {
		align-items: center;
		font-size: 19px;
	}
	.clinic-panel--maternal .maternal-content {
		margin-left: 16px;
		margin-right: 16px;
	}
}

/* 모바일 전용 메뉴: 980px 이하에서만 표시 (about-menu가 숨겨질 때) */
.about-menu-mobile {
	display: none;
}
@media (max-width: 980px) {
	.about-menu-mobile {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		margin-top: 12px;
	}
	.about-menu-mobile__link {
		padding: 8px 14px;
		font-size: 13px;
		font-weight: 600;
		color: rgba(255,255,255,0.9);
		background: rgba(255,255,255,0.08);
		border: 1px solid rgba(255,255,255,0.2);
		border-radius: 10px;
		text-decoration: none;
		transition: background 0.2s, border-color 0.2s;
	}
	.about-menu-mobile__link:hover,
	.about-menu-mobile__link:focus {
		background: rgba(255,255,255,0.15);
		border-color: rgba(125, 211, 252, 0.4);
		color: #fff;
	}
}

/* 960px 이하: 모바일에서 카드 높이 고정/내부 스크롤 제거 → 내용만큼 세로로 길어지게 */
@media (max-width: 960px) {
	.screen,
	.main {
		max-width: 100%;
		overflow-x: hidden;
	}
	.about-card {
		height: auto;
		min-height: auto;
		max-height: none;
		overflow: visible;
		overflow-x: hidden;
		max-width: 100%;
		grid-template-rows: auto auto;
	}
	.about-right {
		min-height: 600px;
		overflow: visible;
		overflow-x: hidden;
		max-width: 100%;
		display: flex;
		flex-direction: column;
	}
	/* 순수 안내화면(about-intro): 모바일에서 배경 위에 표시, 세로 중앙·왼쪽 정렬 */
	.about-intro {
		position: relative;
		z-index: 2;
		inset: auto;
		transform: none;
		flex: 1;
		min-height: 600px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		padding: 24px 20px;
		max-width: 100%;
		box-sizing: border-box;
		text-align: left;
	}
	.about-intro > div {
		width: 100%;
		max-width: 100%;
		text-align: left;
	}
	.about-intro .about-caption {
		display: block;
		opacity: 1;
		visibility: visible;
	}
	.about-intro.hidden {
		display: none !important;
	}
	.about-intro h2 {
		font-size: clamp(20px, 5.5vw, 28px);
		line-height: 1.3;
		word-break: keep-all;
		text-align: left;
	}
	.about-intro p,
	.about-intro-note {
		max-width: 100%;
		word-wrap: break-word;
		font-size: 13px;
		text-align: left;
	}
	.about-intro-note {
		font-size: 16px !important;
	}
	/* 비활성 패널은 레이아웃에서 제외 (한 번에 하나만 표시) */
	.about-detail {
		display: none;
	}
	.about-detail.active {
		display: flex;
		position: static;
		inset: auto;
		overflow: visible;
		overflow-x: hidden;
		max-width: 100%;
		min-height: auto;
		flex-direction: column;
	}
	.about-detail[data-about-panel="access"].active {
		overflow: visible;
		overflow-x: hidden;
		min-height: auto;
	}
	.about-detail[data-about-panel="access"] .clinic-section {
		display: block;
		min-height: min-content;
	}
	/* 테이블 포함 상세페이지: 가로는 뷰포트 안으로, 테이블만 가로 스크롤 */
	.feeUser__tableWrap,
	.ctTableWrap {
		max-width: 100%;
		overflow-x: auto;
		overflow-y: visible;
		-webkit-overflow-scrolling: touch;
	}
	.fgTableWrap,
	.ciTableWrap {
		max-width: 100%;
		overflow-x: auto;
		overflow-y: visible;
		-webkit-overflow-scrolling: touch;
	}
	.pgTables {
		max-width: 100%;
		min-width: 0;
	}
	.pgTables .pgTable {
		min-width: 0;
	}
	/* about-detail 내 테이블이 있는 섹션 폭 제한 */
	.about-detail .deptCard,
	.about-detail .feeUser,
	.about-detail .about-detail-main {
		max-width: 100%;
		box-sizing: border-box;
	}
}

/* === 하이푸 섹션 (about 패널) - 디자인 강화 === */
.hifu-section {
	--hifu-bg: rgba(15, 23, 42, 0.72);
	--hifu-line: rgba(255, 255, 255, 0.12);
	--hifu-text: rgba(255, 255, 255, 0.95);
	--hifu-sub: rgba(255, 255, 255, 0.78);
	--hifu-accent: #7dd3fc;
	--hifu-accent2: #a78bfa;
	--hifu-glow: rgba(125, 211, 252, 0.25);

	position: relative;
	color: var(--hifu-text);
	border: 1px solid var(--hifu-line);
	background: var(--hifu-bg);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-radius: 0 0 24px 24px;
	padding: 0;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255,255,255,0.06) inset;
}

/* 히어로 */
.hifu-hero {
	text-align: center;
	padding: 36px 28px 32px;
	background:
		radial-gradient(120% 100% at 50% 0%, var(--hifu-glow), transparent 55%),
		linear-gradient(180deg, rgba(255,255,255,0.08) 0%, transparent 50%);
}

.hifu-hero__badge {
	display: inline-block;
	margin-bottom: 14px;
	padding: 6px 16px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.06em;
	color: var(--hifu-accent);
	background: rgba(125, 211, 252, 0.15);
	border: 1px solid rgba(125, 211, 252, 0.35);
	border-radius: 999px;
	text-transform: uppercase;
}

.hifu-hero__title {
	font-family: "Black Han Sans", "Noto Sans KR", sans-serif;
	font-size: 42px;
	font-weight: 400;
	letter-spacing: -0.03em;
	margin: 0 0 10px;
	color: #fff;
	text-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

.hifu-hero__sub {
	font-size: 15px;
	font-weight: 600;
	margin: 0 0 20px;
	color: var(--hifu-sub);
	line-height: 1.4;
}

.hifu-hero__pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

.hifu-pill {
	display: inline-block;
	padding: 8px 16px;
	font-size: 13px;
    font-family: "Diphylleia", serif;
	font-weight: 700;
	color: rgba(255,255,255,0.9);
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.18);
	border-radius: 12px;
	backdrop-filter: blur(8px);
}

/* 소개/하이라이트 카드 */
.hifu-section .hifu-card {
	position: relative;
	margin: 24px 28px;
	padding: 22px 24px 22px 28px;
	background: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
	border: 1px solid var(--hifu-line);
	border-radius: 18px;
	box-shadow: 0 12px 40px rgba(0,0,0,0.2);
}

.hifu-card--intro .hifu-card__accent {
	position: absolute;
	left: 0;
	top: 18px;
	bottom: 18px;
	width: 4px;
	background: linear-gradient(180deg, var(--hifu-accent), var(--hifu-accent2));
	border-radius: 0 4px 4px 0;
}

.hifu-card__text {
	margin: 0;
	font-size: 14px;
	line-height: 1.8;
	color: var(--hifu-sub);
}

.hifu-card__text strong {
	color: var(--hifu-accent);
	font-weight: 700;
}

/* 하이라이트 카드 (서울대 발표) */
.hifu-card--highlight {
	padding-top: 36px;
}

.hifu-card__ribbon {
	position: absolute;
	top: 0;
	right: 24px;
	padding: 6px 14px;
	font-size: 12px;
	font-weight: 800;
	color: #fff;
	background: linear-gradient(135deg, var(--hifu-accent2), #8b5cf6);
	border-radius: 0 0 10px 10px;
	box-shadow: 0 4px 12px rgba(167, 139, 250, 0.4);
}

.hifu-card__heading {
	font-size: 18px;
	font-weight: 800;
	margin: 0 0 6px;
	color: var(--hifu-text);
}

.hifu-card__caption {
	font-size: 13px;
	margin: 0 0 14px;
	color: var(--hifu-accent);
}

.hifu-card--highlight .hifu-card__text {
	font-size: 13.5px;
	line-height: 1.78;
}

/* 장점 블록 */
.hifu-block {
	margin: 28px 28px 24px;
	padding: 22px 24px;
	background: linear-gradient(135deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
	border: 1px solid var(--hifu-line);
	border-radius: 18px;
}

.hifu-block__title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 17px;
	font-weight: 800;
	margin: 0 0 18px;
	color: var(--hifu-text);
}

.hifu-block__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	font-size: 14px;
	color: var(--hifu-accent);
	background: rgba(125, 211, 252, 0.2);
	border-radius: 10px;
}

.hifu-benefits {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}

.hifu-benefit {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 16px;
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 14px;
	transition: background 0.2s, border-color 0.2s, transform 0.2s;
}

.hifu-benefit:hover {
	background: rgba(255,255,255,0.09);
	border-color: rgba(125, 211, 252, 0.25);
	transform: translateY(-2px);
}

.hifu-benefit__icon {
	font-size: 20px;
	line-height: 1;
	flex-shrink: 0;
}

.hifu-benefit__text {
	font-size: 13.5px;
    font-family: "Diphylleia", serif;
	line-height: 1.5;
	color: var(--hifu-sub);
	font-weight: 500;
}

/* 이미지 갤러리 */
.hifu-gallery {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto auto;
	gap: 14px;
	padding: 24px 28px 32px;
}

.hifu-gallery__item {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 12px 32px rgba(0,0,0,0.35);
	border: 1px solid var(--hifu-line);
}

.hifu-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
	min-height: 180px;
	max-height: 220px;
}

.hifu-gallery__item:hover img {
	transform: scale(1.03);
}
.hifu-gallery__item {
	cursor: pointer;
}

/* 하이푸 갤러리 이미지 확대 모달 */
.hifu-image-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
}
.hifu-image-modal.is-open {
	display: block;
}
.hifu-image-modal-dim {
	position: absolute;
	inset: 0;
	background: rgba(2, 6, 23, 0.75);
	backdrop-filter: blur(8px);
	cursor: pointer;
}
.hifu-image-modal-box {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	max-width: calc(100vw - 48px);
	max-height: calc(100vh - 48px);
	z-index: 1;
	border-radius: 16px;
	overflow: hidden;
	background: #0f172a;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.5);
	animation: hifuImageModalIn 0.2s ease both;
	display: flex;
	flex-direction: column;
}
@keyframes hifuImageModalIn {
	from { opacity: 0; transform: translate(-50%, -50%) scale(0.96); }
	to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
.hifu-image-modal-header {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	padding: 10px 12px 8px;
	min-height: 48px;
	box-sizing: border-box;
}
.hifu-image-modal-close {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: rgba(15, 23, 42, 0.85);
	color: #fff;
	cursor: pointer;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}
.hifu-image-modal-close:hover {
	background: rgba(35, 166, 182, 0.9);
}
.hifu-image-modal-body {
	flex: 1;
	min-height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 24px 24px;
	box-sizing: border-box;
}
.hifu-image-modal-body img {
	max-width: 100%;
	max-height: calc(100vh - 140px);
	width: auto;
	height: auto;
	object-fit: contain;
	vertical-align: middle;
}

@media (max-width: 768px) {
	.hifu-image-modal-box {
		inset: 0;
		left: 0;
		top: 0;
		right: 0;
		bottom: 0;
		transform: none;
		max-width: none;
		max-height: none;
		width: 100vw;
		height: 100vh;
		height: 100dvh;
		border-radius: 0;
		animation: hifuImageModalInMobile 0.2s ease both;
		background: #0f172a70;
	}
	@keyframes hifuImageModalInMobile {
		from { opacity: 0; }
		to { opacity: 1; }
	}
	.hifu-image-modal-header {
		padding: 12px 16px 10px;
		min-height: 52px;
	}
	.hifu-image-modal-body {
		padding: 0 16px 16px;
		flex: 1;
	}
	.hifu-image-modal-body img {
		max-width: 100%;
		max-height: none;
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
}

@media (max-width: 768px) {
	.hifu-hero__title { font-size: 34px; }
	.hifu-hero { padding: 28px 20px 24px; }
	.hifu-section .hifu-card,
	.hifu-block { margin-left: 20px; margin-right: 20px; }
	.hifu-benefits { grid-template-columns: 1fr; }
	.hifu-gallery { grid-template-columns: 1fr; padding: 20px; }
}

@media (max-width: 640px) {
	.hifu-hero__title { font-size: 30px; }
	.hifu-hero__pills { gap: 8px; }
	.hifu-pill { padding: 6px 12px; font-size: 12px; }
	.hifu-section .hifu-card,
	.hifu-block { margin-left: 16px; margin-right: 16px; padding: 18px; }
	.hifu-card__ribbon { right: 16px; }
	.hifu-gallery { padding: 16px; gap: 12px; }
}





/* === 입퇴원안내 패널(다크톤/반투명) === */
.adGuide {
	--ag-bg: rgba(15, 23, 42, 0.58);
	--ag-line: rgba(255,255,255,0.10);
	--ag-soft: rgba(255,255,255,0.06);
	--ag-text: rgba(255,255,255,0.92);
	--ag-sub: rgba(255,255,255,0.68);
	--ag-accent: #fb7185;
	--ag-accent2: #60a5fa;

	position: relative;
	border: 1px solid var(--ag-line);
	background: var(--ag-bg);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 22px;
	padding: 26px;
	box-shadow: 0 22px 60px rgba(0,0,0,0.35);
	overflow: hidden;
	color: var(--ag-text);
}

.adGuide::before {
	content: "";
	position: absolute;
	inset: -35% -20%;
	background:
		radial-gradient(circle at 18% 30%, rgba(96,165,250,0.18), transparent 55%),
		radial-gradient(circle at 80% 70%, rgba(251,113,133,0.18), transparent 55%);
	filter: blur(14px);
	opacity: 0.9;
	pointer-events: none;
}

.adGuide > * { position: relative; z-index: 1; }

.adGuide__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--ag-line);
	margin-bottom: 18px;
}

.adGuide__title {
	margin: 0;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.adGuide__meta {
	margin: 0;
	font-size: 12px;
	color: var(--ag-sub);
	text-align: right;
	line-height: 1.35;
}

.adGuide__block {
	margin-top: 18px;
	padding: 18px;
	border: 1px solid var(--ag-line);
	background: rgba(255,255,255,0.04);
	border-radius: 18px;
}

.adGuide__blockTitle {
	margin: 0 0 14px;
	font-size: 15px;
	font-weight: 900;
	letter-spacing: -0.01em;
	color: rgba(255,255,255,0.92);
}

/* === 프로세스 흐름 === */
.adFlow {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
	align-items: center;
	gap: 10px;
	padding: 6px 0 10px;
}

.adArrow {
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0.75;
}

.adArrow::before {
	content: "";
	width: 0;
	height: 0;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 12px solid rgba(255,255,255,0.55);
	transform: translateX(2px);
}

.adStep {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;

	width: 115px;
	height: 115px;

	box-sizing: border-box;    /* ✅ padding 포함해서 115x115 유지 */
	border-radius: 50%;        /* ✅ 원형은 50%가 가장 확실 */
	padding: 14px 16px;
	line-height: 1.2;

	flex: 0 0 auto;            /* ✅ 부모가 flex일 때 늘어나 찌그러지는 거 방지 */
}


.adStep strong {
	display: block;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: -0.01em;
	margin-bottom: 6px;
}

.adStep span {
	display: block;
	font-size: 12px;
	color: rgba(255,255,255,0.72);
	line-height: 1.35;
}

/* 꽉 찬 원(회색/핑크) */
.adStep--solid {
	background: rgba(255,255,255,0.14);
	border: 1px solid rgba(255,255,255,0.10);
}

.adStep--solidGray {
	background: rgba(255,255,255,0.18);
	border: 1px solid rgba(255,255,255,0.10);
}

.adStep--solidAccent {
	background: rgba(251,113,133,0.90);
	border: 1px solid rgba(251,113,133,0.35);
	color: #0b1220;
}

.adStep--solidAccent span { color: rgba(11,18,32,0.72); }

/* 링(부분 강조) */
.adStep--ring {
	position: relative;
	background: rgba(0,0,0,0.18);
	border: 1px solid rgba(255,255,255,0.10);
}

.adStep--ring::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 999px;
	background: conic-gradient(from 210deg, rgba(251,113,133,0.92) 0 72deg, rgba(255,255,255,0.22) 72deg 360deg);
	opacity: 0.95;
	-webkit-mask:
		radial-gradient(circle at center, transparent 64%, #000 66%);
	mask:
		radial-gradient(circle at center, transparent 64%, #000 66%);
	pointer-events: none;
}

.adStep--ring > * { position: relative; z-index: 1; }

/* === 안내 리스트 === */
.adBullets {
	list-style: none;
	margin: 12px 0 0;
	padding: 12px 14px;
	border: 1px dashed rgba(255,255,255,0.18);
	background: rgba(0,0,0,0.15);
	border-radius: 16px;
}

.adBullets li {
	margin: 6px 0;
	font-size: 12.5px;
	line-height: 1.55;
	color: rgba(255,255,255,0.84);
}

.adDot {
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 999px;
	margin-right: 8px;
	vertical-align: middle;
	background: var(--ag-accent);
}

.adDot--soft { background: rgba(255,255,255,0.45); }

.adGuide__note {
	margin-top: 14px;
	color: rgba(255,255,255,0.76);
	font-size: 12.5px;
	line-height: 1.6;
}

/* === 신생아 면회안내 === */
.adVisit {
	margin-top: 18px;
	padding: 18px;
	border: 1px solid var(--ag-line);
	background: rgba(255,255,255,0.04);
	border-radius: 18px;
}

.adVisit__title {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 900;
	letter-spacing: -0.01em;
}

.adVisit__desc {
	margin: 0 0 14px;
	font-size: 12.5px;
	line-height: 1.65;
	color: rgba(255,255,255,0.78);
}

.adVisitTable {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid rgba(255,255,255,0.10);
	border-radius: 14px;
	overflow: hidden;
	background: rgba(0,0,0,0.16);
}

.adVisitTable th,
.adVisitTable td {
	padding: 12px 14px;
	border-bottom: 1px solid rgba(255,255,255,0.08);
	font-size: 13px;
}

.adVisitTable tr:last-child th,
.adVisitTable tr:last-child td {
	border-bottom: 0;
}

.adVisitTable th {
	width: 30%;
	text-align: center;
	font-weight: 900;
	color: rgba(255,255,255,0.86);
	background: rgba(96,165,250,0.10);
	border-right: 1px solid rgba(255,255,255,0.08);
}

.adVisitTable td {
	text-align: center;
	color: rgba(255,255,255,0.92);
}

@media (max-width: 980px) {
	.adFlow {
		display: grid;
		grid-template-columns: 1fr 1fr; 
		gap: 20px 15px;
		justify-items: center;
		padding: 10px 0;
	}

	.adArrow { display: none; }

	.adGuide__meta { text-align: left; }
	.adGuide__head { align-items: flex-start; }

	.adStep { 
		border-radius: 50%; 
		width: 100px;
		height: 100px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		text-align: center;
        margin: 0 auto;
	}

	.adStep--ring::before { border-radius: 50%; }

	.adStep strong { 
		font-size: 14px; 
		display: block; 
		margin-bottom: 2px;
	}
	.adStep span { 
		font-size: 10px; 
		line-height: 1.2;
        word-break: keep-all;
	}
}








/* === 오시는길/주차안내 패널(다크톤/반투명) === */
.routeGuide {
	--rg-bg: rgba(15, 23, 42, 0.58);
	--rg-line: rgba(255,255,255,0.10);
	--rg-soft: rgba(255,255,255,0.06);
	--rg-text: rgba(255,255,255,0.92);
	--rg-sub: rgba(255,255,255,0.68);
	--rg-accent: #60a5fa;
	--rg-warn: #fb7185;

	position: relative;
	border: 1px solid var(--rg-line);
	background: var(--rg-bg);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 22px;
	padding: 26px;
	box-shadow: 0 22px 60px rgba(0,0,0,0.35);
	color: var(--rg-text);
	overflow: visible !important;
	max-height: none !important;
	height: auto !important;
}

.routeGuide::before {
	content: "";
	position: absolute;
	/* inset: -35% -20%; */
	background:
		radial-gradient(circle at 18% 30%, rgba(96,165,250,0.18), transparent 55%),
		radial-gradient(circle at 80% 70%, rgba(251,113,133,0.18), transparent 55%);
	filter: blur(14px);
	opacity: 0.9;
	pointer-events: none;
}

.routeGuide > * { position: relative; z-index: 1; }

.routeGuide__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--rg-line);
	margin-bottom: 18px;
}

.routeGuide__title {
	margin: 0;
	font-size: 20px;
	font-weight: 900;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.routeGuide__meta {
	margin: 0;
	font-size: 10px;
	color: var(--rg-sub);
	text-align: right;
	line-height: 1.35;
}

.routeGuide__section {
	margin-top: 18px;
	padding: 18px;
	border: 1px solid var(--rg-line);
	background: rgba(255,255,255,0.04);
	border-radius: 18px;
}

.routeGuide__sectionTitle {
	margin: 0 0 14px;
	font-size: 15px;
	font-weight: 900;
	letter-spacing: -0.01em;
	color: rgba(255,255,255,0.92);
}


/* 레이아웃 */
.rgGrid {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 14px;
	align-items: stretch;
}

.rgGrid--single {
	grid-template-columns: 1fr;
}

.rgCard {
	border: 1px solid var(--rg-line);
	background: rgba(0,0,0,0.16);
	border-radius: 16px;
	padding: 14px;
}

/* 지도/이미지 자리(플레이스홀더) */
.rgMapSlot {
	border: 1px dashed rgba(255,255,255,0.20);
	background: rgba(255,255,255,0.04);
	border-radius: 16px;
	min-height: 260px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 18px;
	position: relative;
	overflow: hidden;
}

.rgMapSlot::before {
	content: "";
	position: absolute;
	inset: -60% -40%;
	background:
		radial-gradient(circle at 30% 20%, rgba(96,165,250,0.14), transparent 60%),
		radial-gradient(circle at 70% 80%, rgba(251,113,133,0.12), transparent 60%);
	filter: blur(16px);
	opacity: 0.9;
	pointer-events: none;
}

.rgMapSlot__inner {
	position: relative;
	z-index: 1;
}

.rgMapSlot__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(255,255,255,0.06);
	color: rgba(255,255,255,0.88);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.rgMapSlot__badge i {
	width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgba(96,165,250,0.18);
	border: 1px solid rgba(96,165,250,0.25);
	font-style: normal;
}

.rgMapSlot__desc {
	margin: 10px 0 0;
	font-size: 12.5px;
	line-height: 1.6;
	color: rgba(255,255,255,0.72);
}


/* 지도용 슬롯: 패딩/센터정렬 제거 */
.rgMapSlot--map{
	padding: 0 !important;
	align-items: stretch !important;
	justify-content: stretch !important;
	text-align: left !important;
	min-height: 0 !important;
	overflow: hidden;
	height: 100% !important; 
	aspect-ratio: auto !important;
}

.rgMapSlot--map > .root_daum_roughmap{
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 16px;
	overflow: hidden;
}

.rgMapSlot--map::before{
	display: none !important;
}

.rgMapSlot--map{
	aspect-ratio: 4 / 3;
	/* aspect-ratio: 3 / 3.3; */
}
section .section_address .lst { display:none; }

.rgMapSlot--map iframe{
	width: 100% !important;
	height: 100% !important;
	display: block;
}

/* 버스노선도 이미지부분 처리할때 */
.rgMapSlot__desc img{
	display: block;
	width: 100%;
	height: auto;
	opacity: 0.9;
	border-radius: 16px;
	box-shadow: 0 16px 40px rgba(0,0,0,0.30);
	border: 1px solid rgba(255,255,255,0.10);
	filter: saturate(0.95) contrast(1.02);
}


/* 정보 리스트 */
.rgInfoList {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rgInfoItem {
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: 12px;
	align-items: center;
	padding: 12px 12px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(255,255,255,0.04);
	border-radius: 14px;
}

.rgIcon {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	background: rgba(96,165,250,0.14);
	border: 1px solid rgba(96,165,250,0.22);
	color: rgba(255,255,255,0.92);
	font-weight: 900;
}

.rgInfoText strong {
	display: block;
	font-size: 12px;
	color: rgba(255,255,255,0.66);
	letter-spacing: -0.01em;
	margin-bottom: 2px;
}

.rgInfoText span {
	display: block;
	font-size: 13.5px;
	color: rgba(255,255,255,0.92);
	line-height: 1.4;
	font-weight: 800;
}

/* 버스 안내 */
.rgBusGroup {
	display: grid;
	gap: 10px;
	margin-top: 10px;
}

.rgBusRow {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 12px;
	align-items: start;
	padding: 12px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(255,255,255,0.04);
	border-radius: 14px;
}

.rgBusStop {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 8px 10px;
	border-radius: 14px;
	background: rgba(251,113,133,0.14);
	border: 1px solid rgba(251,113,133,0.25);
	font-weight: 900;
	font-size: 12.5px;
	letter-spacing: -0.01em;
	white-space: nowrap;
}

.rgBusStop i {
	width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgba(251,113,133,0.22);
	border: 1px solid rgba(251,113,133,0.26);
	font-style: normal;
}

.rgPills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.rgPill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(0,0,0,0.14);
	color: rgba(255,255,255,0.88);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.rgPill--muted {
    border-color: rgb(255 95 95 / 85%);
    color: rgb(253 163 67 / 99%);
}

/* 주차 안내 문구 */
.rgNotice {
	margin-top: 12px;
	padding: 12px 14px;
	border: 1px dashed rgba(255,255,255,0.18);
	background: rgba(0,0,0,0.15);
	border-radius: 16px;
}

.rgNotice p {
	margin: 6px 0;
	font-size: 12.5px;
	line-height: 1.6;
	color: rgba(255,255,255,0.80);
}

.rgEm {
	color: rgba(251,113,133,0.95);
	font-weight: 900;
}

.rgDivider {
	margin: 18px 0 0;
	border: 0;
	height: 1px;
	background: rgba(255,255,255,0.10);
}

/* 반응형 */
@media (max-width: 980px) {
	.about-detail{
		padding: 6px 8px 6px;
	}
	.rgGrid { grid-template-columns: 1fr; }
    .rgMapSlot--map {
        height: 300px !important; /* 모바일에서는 고정 높이 지정 */
    }
	.routeGuide__meta { text-align: left; }
	.routeGuide__head { align-items: flex-start; padding:10px;}
	.rgBusRow { grid-template-columns: 1fr; }
	.rgBusStop { justify-content: flex-start; }
	.routeGuide{
		padding: 5px;
	}
	.routeGuide__section{
		padding:3px;
	}
	.routeGuide__sectionTitle{
		padding:5px 15px;
	}
	.rgCard{
		padding: 5px;
	}
}






/* === 주요전화번호안내 패널(다크톤/반투명) === */
.phoneGuide {
	--pg-bg: rgba(15, 23, 42, 0.58);
	--pg-line: rgba(255,255,255,0.10);
	--pg-soft: rgba(255,255,255,0.06);
	--pg-text: rgba(255,255,255,0.92);
	--pg-sub: rgba(255,255,255,0.68);
	--pg-accent: #fb7185;
	--pg-accent2: #60a5fa;

	position: relative;
	border: 1px solid var(--pg-line);
	background: var(--pg-bg);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 22px;
	padding: 26px;
	box-shadow: 0 22px 60px rgba(0,0,0,0.35);
	overflow: hidden;
	color: var(--pg-text);
}

.phoneGuide::before {
	content: "";
	position: absolute;
	inset: -35% -20%;
	background:
		radial-gradient(circle at 18% 30%, rgba(96,165,250,0.18), transparent 55%),
		radial-gradient(circle at 80% 70%, rgba(251,113,133,0.18), transparent 55%);
	filter: blur(14px);
	opacity: 0.9;
	pointer-events: none;
}

.phoneGuide > * { position: relative; z-index: 1; }

.phoneGuide__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--pg-line);
	margin-bottom: 18px;
}

.phoneGuide__title {
	margin: 0;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.phoneGuide__meta {
	margin: 0;
	font-size: 12px;
	color: var(--pg-sub);
	text-align: right;
	line-height: 1.35;
}

.pgTop {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-bottom: 16px;
}

.pgHero {
	border: 1px solid var(--pg-line);
	border-radius: 18px;
	padding: 18px;
	background: rgba(255,255,255,0.04);
	overflow: hidden;
	position: relative;
	min-height: 128px;
}

.pgHero::before {
	content: "";
	position: absolute;
	inset: -50% -40%;
	filter: blur(18px);
	opacity: 0.85;
	pointer-events: none;
}

.pgHero--pink::before {
	background: radial-gradient(circle at 30% 30%, rgba(251,113,133,0.28), transparent 60%),
		radial-gradient(circle at 70% 70%, rgba(251,113,133,0.18), transparent 62%);
}

.pgHero--blue::before {
	background: radial-gradient(circle at 30% 30%, rgba(96,165,250,0.26), transparent 60%),
		radial-gradient(circle at 70% 70%, rgba(96,165,250,0.16), transparent 62%);
}

.pgHero__row {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
}

.pgHero__k {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 900;
	letter-spacing: -0.01em;
}

.pgHero__num {
	margin: 0;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -0.02em;
}

.pgHero__desc {
	margin: 10px 0 0;
	font-size: 12.5px;
	line-height: 1.6;
	color: rgba(255,255,255,0.76);
}

.pgIcon {
	width: 54px;
	height: 54px;
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(0,0,0,0.16);
	color: rgba(255,255,255,0.92);
	font-weight: 900;
	font-size: 18px;
	flex: 0 0 auto;
}

.pgHero--pink .pgIcon {
	border-color: rgba(251,113,133,0.25);
	background: rgba(251,113,133,0.12);
}

.pgHero--blue .pgIcon {
	border-color: rgba(96,165,250,0.25);
	background: rgba(96,165,250,0.12);
}

.pgPill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 10px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(255,255,255,0.06);
	color: rgba(255,255,255,0.86);
	font-size: 11px;
	margin-top: 8px;
}

.pgPill--pink {
	border-color: rgba(251,113,133,0.30);
	background: rgba(251,113,133,0.12);
}

.pgPill--blue {
	border-color: rgba(96,165,250,0.30);
	background: rgba(96,165,250,0.12);
}

/* 표 */
.pgTables {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.pgTable {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid rgba(255,255,255,0.10);
	border-radius: 16px;
	overflow: hidden;
	background: rgba(0,0,0,0.16);
}

.pgTable thead th {
	padding: 12px 14px;
	font-size: 12.5px;
	letter-spacing: -0.01em;
	font-weight: 900;
	color: rgba(255,255,255,0.86);
	background: rgba(255,255,255,0.05);
	border-bottom: 1px solid rgba(255,255,255,0.10);
}

.pgTable tbody td {
	padding: 12px 14px;
	font-size: 13px;
	color: rgba(255,255,255,0.90);
	border-bottom: 1px solid rgba(255,255,255,0.08);
}

.pgTable tbody tr:last-child td { border-bottom: 0; }

.pgTable tbody td:nth-child(1) {
	font-weight: 900;
	color: rgba(255,255,255,0.86);
}

.pgTable tbody td:nth-child(2) {
	text-align: right;
	font-weight: 900;
	letter-spacing: -0.01em;
}

.pgHot {
	color: rgba(251,113,133,0.95);
}

.pgNote {
	margin-top: 14px;
	padding: 12px 14px;
	border: 1px dashed rgba(255,255,255,0.18);
	background: rgba(0,0,0,0.15);
	border-radius: 16px;
	font-size: 12.5px;
	line-height: 1.6;
	color: rgba(255,255,255,0.78);
}

@media (max-width: 980px) {
	.pgTop { grid-template-columns: 1fr; }
	.pgTables { grid-template-columns: 1fr; }
	.phoneGuide__meta { text-align: left; }
	.phoneGuide__head { align-items: flex-start; }
}










/* === 층별안내 패널(다크톤/반투명) === */
.floorGuide {
	--fg-bg: rgba(15, 23, 42, 0.58);
	--fg-line: rgba(255,255,255,0.10);
	--fg-soft: rgba(255,255,255,0.06);
	--fg-text: rgba(255,255,255,0.92);
	--fg-sub: rgba(255,255,255,0.68);
	--fg-accent: #fb7185;
	--fg-accent2: #60a5fa;

	position: relative;
	border: 1px solid var(--fg-line);
	background: var(--fg-bg);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 22px;
	padding: 26px;
	box-shadow: 0 22px 60px rgba(0,0,0,0.35);
	overflow: hidden;
	color: var(--fg-text);
}

.floorGuide::before {
	content: "";
	position: absolute;
	inset: -35% -20%;
	background:
		radial-gradient(circle at 18% 30%, rgba(96,165,250,0.18), transparent 55%),
		radial-gradient(circle at 80% 70%, rgba(251,113,133,0.18), transparent 55%);
	filter: blur(14px);
	opacity: 0.9;
	pointer-events: none;
}

.floorGuide > * { position: relative; z-index: 1; }

.floorGuide__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--fg-line);
	margin-bottom: 18px;
}

.floorGuide__title {
	margin: 0;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.floorGuide__meta {
	margin: 0;
	font-size: 12px;
	color: var(--fg-sub);
	text-align: right;
	line-height: 1.35;
}

/* 상단 이미지 영역 */
.fgHero {
	margin-top: 4px;
	border: 1px solid var(--fg-line);
	background: rgba(255,255,255,0.04);
	border-radius: 18px;
	padding: 14px;
}

.fgHero__slot {
	border: 1px dashed rgba(255,255,255,0.18);
	background: rgba(0,0,0,0.14);
	border-radius: 16px;
	overflow: hidden;
}

.fgHero__slot img{
	display: block;
	width: 100%;
	height: auto;
	border-radius: 16px;
	opacity: 0.95;
}

/* 표 */
.fgTableWrap {
	margin-top: 16px;
	border: 1px solid rgba(255,255,255,0.10);
	border-radius: 18px;
	overflow: hidden;
	background: rgba(0,0,0,0.16);
}

.fgTable {
	width: 100%;
	border-collapse: collapse;
}

.fgTable thead th {
	padding: 12px 14px;
	font-size: 12.5px;
	font-weight: 900;
	color: rgba(255,255,255,0.86);
	background: rgba(255,255,255,0.05);
	border-bottom: 1px solid rgba(255,255,255,0.10);
}

.fgTable tbody td {
	padding: 14px 14px;
	font-size: 13px;
	color: rgba(255,255,255,0.90);
	border-bottom: 1px solid rgba(255,255,255,0.08);
	vertical-align: top;
	width:30%;
}

.fgTable tbody tr:last-child td { border-bottom: 0; }

.fgColFloor {
	width: 10% !important;
	text-align: center;
	font-weight: 900;
	color: rgba(255,255,255,0.86);
	background: rgba(96,165,250,0.07);
	border-left: 1px solid rgba(255,255,255,0.08);
	border-right: 1px solid rgba(255,255,255,0.08);
}

.fgTags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.fgTagBtn {
	appearance: none;
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(255,255,255,0.06);
	color: rgba(255,255,255,0.88);
	border-radius: 999px;
	padding: 7px 10px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: -0.01em;
	cursor: pointer;
	transition: transform .12s ease, background .12s ease, border-color .12s ease;
}

.fgTagBtn:hover {
	transform: translateY(-1px);
	background: rgba(255,255,255,0.10);
	border-color: rgba(255,255,255,0.18);
}

.fgTagBtn.is-linked {
	border-color: rgba(251,113,133,0.30);
	background: rgba(251,113,133,0.10);
}

.fgTagBtn.is-linked:hover {
	background: rgba(251,113,133,0.14);
}

.fgTagBtn.is-missing {
	opacity: 0.62;
	border-style: dashed;
}

/* 토스트 */
.fgToast {
	position: fixed;
	left: 50%;
	bottom: 55px;
	transform: translateX(-50%);
	z-index: 9999;
	background: rgba(0,0,0,0.70);
	border: 1px solid rgba(255,255,255,0.14);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	color: rgba(255,255,255,0.92);
	padding: 10px 14px;
	border-radius: 999px;
	font-size: 12.5px;
	line-height: 1.3;
	display: none;
}

/* 모달 */
.fgModal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: none;
}

.fgModal.is-open { display: block; }

.fgModal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.55);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.fgModal__panel {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(920px, calc(100vw - 28px));
	max-height: calc(100vh - 28px);
	overflow: hidden;
	border-radius: 22px;
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(15, 23, 42, 0.78);
	box-shadow: 0 28px 80px rgba(0,0,0,0.55);
}

.fgModal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid rgba(255,255,255,0.10);
}

.fgModal__title {
	margin: 0;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: -0.01em;
	color: rgba(255,255,255,0.92);
}

.fgModal__close {
	appearance: none;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(255,255,255,0.06);
	color: rgba(255,255,255,0.92);
	width: 36px;
	height: 36px;
	border-radius: 12px;
	cursor: pointer;
	font-weight: 900;
}

.fgModal__body {
	padding: 14px;
	overflow: auto;
	max-height: calc(100vh - 120px);
	scrollbar-width: thin;
	scrollbar-color: #818181 #414141;
}

.fgModal__alt{
	margin-left: auto;
	margin-right: 10px;
	max-width: 52%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;

	font-size: 14px;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: rgba(255,255,255,0.82);

	padding: 5px 10px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.12);
    background: rgb(215 153 99 / 82%);
}


.fgViewer {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

.fgMainImg {
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(0,0,0,0.18);
	overflow: hidden;
}

.fgMainImg img {
	display: block;
	width: 100%;
	/* height: 600px; */
	opacity: 0.96;
}

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

.fgThumb {
	appearance: none;
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(255,255,255,0.06);
	border-radius: 14px;
	padding: 0;
	overflow: hidden;
	cursor: pointer;
	opacity: 0.82;
}

.fgThumb.is-active {
	border-color: rgba(251,113,133,0.35);
	opacity: 1;
}

.fgThumb img {
	display: block;
	width: 100%;
	height: 76px;
	object-fit: cover;
}

@media (max-width: 980px) {
	.floorGuide { padding: 15px; }
	.floorGuide__meta { text-align: left; }
	.floorGuide__head { align-items: flex-start; }
	.fgColFloor { width: 90px; }
	.fgThumbs { grid-template-columns: repeat(4, 1fr); }
	.fgThumb img { height: 68px; }
	.fgMainImg img { height: 100%; }
	
	.fgTagBtn {
		font-size: 10px;
		padding: 5px;
	}
}








/* === 증명서 발급(제증명) 패널 === */
.certIssue {
	--ci-bg: rgba(15, 23, 42, 0.58);
	--ci-line: rgba(255,255,255,0.10);
	--ci-soft: rgba(255,255,255,0.06);
	--ci-text: rgba(255,255,255,0.92);
	--ci-sub: rgba(255,255,255,0.68);
	--ci-accent: #fb7185;
	--ci-accent2: #60a5fa;
	--ci-good: #34d399;

	position: relative;
	border: 1px solid var(--ci-line);
	background: var(--ci-bg);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 22px;
	padding: 26px;
	box-shadow: 0 22px 60px rgba(0,0,0,0.35);
	overflow: hidden;
	color: var(--ci-text);
}

.certIssue::before{
	content:"";
	position:absolute;
	inset:-35% -20%;
	background:
		radial-gradient(circle at 18% 30%, rgba(96,165,250,0.18), transparent 55%),
		radial-gradient(circle at 80% 70%, rgba(251,113,133,0.18), transparent 55%);
	filter: blur(14px);
	opacity: .9;
	pointer-events:none;
}

.certIssue > *{ position:relative; z-index:1; }

.certIssue__head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:16px;
	padding-bottom:16px;
	border-bottom:1px solid var(--ci-line);
	margin-bottom:18px;
}

.certIssue__title{
	margin:0;
	font-size:22px;
	font-weight:900;
	letter-spacing:-0.02em;
	line-height:1.2;
}

.certIssue__meta{
	margin:0;
	font-size:12px;
	color:var(--ci-sub);
	text-align:right;
	line-height:1.35;
}

/* 진행 플로우 */
.ciFlow{
	margin-top: 6px;
	padding: 16px;
	border: 1px solid var(--ci-line);
	border-radius: 18px;
	background: rgba(255,255,255,0.04);
}

.ciFlow__title{
	margin: 0 0 12px;
	font-size: 14px;
	font-weight: 900;
	color: rgba(255,255,255,0.86);
	letter-spacing: -0.01em;
}

.ciSteps{
	display: grid;
	/* grid-template-columns: repeat(4, 1fr); */
	grid-template-columns: 1fr 44px 1fr 44px 1fr 44px 1fr; /* ✅ 7칸 */
	gap: 12px;
	align-items: center;
}

.ciStep{
	position: relative;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(0,0,0,0.16);
	border-radius: 18px;
	padding: 14px 14px 12px;
	min-height: 86px;
	overflow: hidden;
}

.ciStep::before{
	content:"";
	position:absolute;
	inset:-60% -50%;
	background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.10), transparent 60%);
	filter: blur(18px);
	opacity: .9;
	pointer-events:none;
}

.ciStep__k{
	margin:0 0 8px;
	font-size: 12px;
	font-weight: 900;
	letter-spacing:-0.01em;
	color: rgba(255,255,255,0.82);
	text-align:center;
	display:flex;
	align-items:center;
    justify-content: center;
	gap:8px;
}

.ciStep__dot{
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: rgba(255,255,255,0.35);
	box-shadow: 0 0 0 6px rgba(255,255,255,0.06);
}

.ciStep.is-accent .ciStep__dot{
	background: rgba(251,113,133,0.92);
	box-shadow: 0 0 0 6px rgba(251,113,133,0.14);
}

.ciStep__desc{
	margin:0;
	font-size: 11px;
	line-height: 1.55;
	color: rgba(255,255,255,0.74);
	text-align: center;
}

.ciArrow{
	display:flex;
	align-items:center;
	justify-content:center;
	color: rgba(255,255,255,0.45);
	font-weight: 900;
	font-size: 18px;
	width: 44px;
}

/* 다운로드 버튼 */
.ciActionRow{
	display:flex;
	align-items:center;
	justify-content:center;
	gap: 10px;
	margin-top: 14px;
}

.ciDownload{
	appearance:none;
	border: 1px solid rgba(52,211,153,0.28);
	background: rgba(52,211,153,0.14);
	color: rgba(255,255,255,0.92);
	border-radius: 14px;
	padding: 11px 14px;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: -0.01em;
	cursor: pointer;
	display:inline-flex;
	align-items:center;
	gap: 10px;
	transition: transform .12s ease, background .12s ease, border-color .12s ease;
	text-decoration:none;
}

.ciDownload:hover{
	transform: translateY(-1px);
	background: rgba(52,211,153,0.18);
	border-color: rgba(52,211,153,0.34);
}

.ciDownload__icon{
	width: 34px;
	height: 34px;
	border-radius: 12px;
	display:flex;
	align-items:center;
	justify-content:center;
	background: rgba(0,0,0,0.18);
	border: 1px solid rgba(255,255,255,0.12);
}

/* 안내 문단/리스트 */
.ciGrid{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 16px;
}

.ciCard{
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(0,0,0,0.16);
	border-radius: 18px;
	padding: 16px;
}

.ciCard__h{
	margin: 0 0 10px;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: -0.01em;
	color: rgba(255,255,255,0.88);
}

.ciList{
	margin: 0;
	padding-left: 18px;
	color: rgba(255,255,255,0.80);
	font-size: 12.5px;
	line-height: 1.65;
}

.ciList li{ margin: 6px 0; }
.ciHot{ color: rgba(251,113,133,0.95); font-weight: 900; }
.ciSoft{ color: rgba(255,255,255,0.68); }

/* 표(요건) */
.ciTables{
	margin-top: 14px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
}

.ciTableWrap{
	border: 1px solid rgba(255,255,255,0.10);
	border-radius: 18px;
	overflow: hidden;
	background: rgba(0,0,0,0.16);
}

.ciTableTitle{
	padding: 12px 14px;
	background: rgba(255,255,255,0.05);
	border-bottom: 1px solid rgba(255,255,255,0.10);
	font-size: 12.5px;
	font-weight: 900;
	color: rgba(255,255,255,0.86);
	letter-spacing: -0.01em;
	display:flex;
	align-items:center;
	justify-content: space-between;
	gap: 10px;
}

.ciBadge{
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding: 4px 10px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(255,255,255,0.06);
	color: rgba(255,255,255,0.82);
	font-size: 11px;
	white-space: nowrap;
}

.ciTable{
	width: 100%;
	border-collapse: collapse;
}

.ciTable td{
	padding: 12px 14px;
	border-bottom: 1px solid rgba(255,255,255,0.08);
	font-size: 12.5px;
	line-height: 1.6;
	color: rgba(255,255,255,0.86);
	vertical-align: top;
}

.ciTable tr:last-child td{ border-bottom: 0; }

.ciColA{
	width: 230px;
	background: rgba(96,165,250,0.06);
	font-weight: 900;
	color: rgba(255,255,255,0.84);
	border-right: 1px solid rgba(255,255,255,0.08);
}

.ciColB{
	width: 140px;
	font-weight: 900;
	color: rgba(255,255,255,0.88);
	border-right: 1px solid rgba(255,255,255,0.08);
}

@media (max-width: 720px){
	.ciSteps{ grid-template-columns: 1fr; }
	.ciArrow{ display:none; }
	.ciGrid{ grid-template-columns: 1fr; }
	.certIssue__meta{ text-align:left; }
	.certIssue__head{ align-items:flex-start; }
	.ciColA{ width: 170px; }
	.ciColB{ width: 110px; }
}




.imgModal{
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
}

.imgModal.is-open{ display: block; }

.imgModal__backdrop{
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.65);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.imgModal__panel{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(980px, calc(100vw - 28px));
	max-height: calc(100vh - 28px);
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(15, 23, 42, 0.86);
	box-shadow: 0 28px 80px rgba(0,0,0,0.55);
	overflow: hidden;
	padding: 3%;
}

.imgModal__close{
	position: absolute;
	right: 12px;
	top: 12px;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(255,255,255,0.06);
	color: rgba(255,255,255,0.92);
	cursor: pointer;
	font-weight: 900;
}

.imgModal__caption{
	display: flex;
	justify-content: flex-end;
	margin-bottom: 10px;
	padding-right: 52px; /* 닫기 버튼 공간 */
}

.imgModal__alt{
	max-width: 70%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 12px;
	font-weight: 800;
	color: rgba(255,255,255,0.84);
	padding: 6px 10px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(0,0,0,0.18);
}

.imgModal__img{
	display: block;
	width: 100%;
	height: auto;
	max-height: calc(100vh - 140px);
	object-fit: contain;
	border-radius: 14px;
	opacity: 0.98;
}







/* 산후조리원 컨텐츠 영역 */
.careInfo{
	margin-top: 18px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* 공통 카드 */
.careCard{
    --ag-bg: rgba(15, 23, 42, 0.58);
    --ag-line: rgba(255, 255, 255, 0.10);
    --ag-soft: rgba(255, 255, 255, 0.06);
    --ag-text: rgba(255, 255, 255, 0.92);
    --ag-sub: rgba(255, 255, 255, 0.68);
    --ag-accent: #fb7185;
    --ag-accent2: #60a5fa;
    position: relative;
    border: 1px solid var(--ag-line);
    background: var(--ag-bg);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 22px;
    padding: 18px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.35);
    overflow: hidden;
    color: var(--ag-text);
}

.careCard--alert{
	border-color: rgba(251,113,133,0.22);
	background: rgba(251,113,133,0.10);
}

.careCard__head{
	display:flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 14px;
}

.careBadge{
	display:inline-flex;
	align-items:center;
	gap: 8px;
	width: fit-content;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.02em;
	color: rgba(255,255,255,0.88);
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(255,255,255,0.06);
}

.careBadge--warn{
	border-color: rgba(251,113,133,0.32);
    background: rgb(255 155 69);
}

.careBadge--accent{
	border-color: rgba(59,130,246,0.30);
	background: rgba(59,130,246,0.14);
}

.careTitle{
	margin: 0;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.35;
	color: rgba(255,255,255,0.92);
	letter-spacing: -0.02em;
}

.careDesc{
	margin: 0;
	font-size: 12.8px;
	line-height: 1.65;
	color: rgba(255,255,255,0.70);
}

/* 리스트 */
.careList{
	margin: 0;
	padding: 0 0 0 14px;
	display:flex;
	flex-direction: column;
	gap: 8px;
}
.careList li{
	font-size: 12.8px;
	line-height: 1.65;
	color: rgba(255,255,255,0.84);
}

/* 갤러리 */
.careGallery{
	display:grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 10px;
}
.careGallery__thumb{
	display:block;
	border-radius: 16px;
	overflow:hidden;
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(0,0,0,0.18);
	aspect-ratio: 4 / 3;
}
.careGallery__thumb img{
	width:100%;
	height:100%;
	display:block;
	object-fit: cover;
	opacity: 0.92;
	transform: scale(1.02);
}
.careGallery__thumb:hover img{
	opacity: 1;
	transform: scale(1.05);
	transition: transform 220ms ease, opacity 220ms ease;
}

/* 포인트(01~07) */
.carePoints{
	margin: 0;
	padding: 0;
	list-style: none;
	display:flex;
	flex-direction: column;
	gap: 10px;
}
.carePoints li{
	display:flex;
	gap: 12px;
	padding: 12px;
	border-radius: 16px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(255,255,255,0.04);
}
.careNum{
	min-width: 44px;
	height: 44px;
	border-radius: 14px;
	display:flex;
	align-items:center;
	justify-content:center;
	font-weight: 900;
	color: rgba(255,255,255,0.92);
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.12);
}
.carePoint__body strong{
	display:block;
	font-size: 13.5px;
	color: rgba(255,255,255,0.92);
}
.carePoint__body p{
	margin: 4px 0 0;
	font-size: 12.6px;
	line-height: 1.6;
	color: rgba(255,255,255,0.72);
}

/* 2열 */
.careGrid2{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

/* 전화 카드 */
.careCall{
	margin-top: 14px;
	display:flex;
	align-items:center;
	gap: 12px;
	padding: 12px;
	border-radius: 16px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(0,0,0,0.18);
}
.careCall__icon{
	width: 42px;
	height: 42px;
	border-radius: 14px;
	display:flex;
	align-items:center;
	justify-content:center;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.12);
	color: rgba(255,255,255,0.92);
	font-weight: 900;
}
.careCall__label{
	font-size: 11.5px;
	color: rgba(255,255,255,0.64);
}
.careCall__tel{
	font-size: 14px;
	font-weight: 900;
	color: rgba(255,255,255,0.92);
	letter-spacing: 0.02em;
}
.careCall__btn{
	margin-left:auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding: 10px 12px;
	border-radius: 14px;
	font-size: 12px;
	font-weight: 900;
	color: rgba(255,255,255,0.92);
	text-decoration:none;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(251,113,133,0.12);
}
.careCall__btn:hover{
	background: rgba(251,113,133,0.18);
}

.careCall--inline{
	margin-top: 16px;
}

/* 미니 리스트 */
.careMini{
	margin: 0;
	padding: 0;
	list-style:none;
	display:flex;
	flex-direction: column;
	gap: 10px;
}
.careMini li{
	display:flex;
	align-items:center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 14px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(255,255,255,0.04);
}
.careMini span{
	font-size: 12px;
	color: rgba(255,255,255,0.62);
}
.careMini b{
	font-size: 12.5px;
	color: rgba(255,255,255,0.90);
	font-weight: 900;
}

/* 서브 안내 */
.careSubNotice{
	padding: 12px;
	border-radius: 16px;
	border: 1px dashed rgba(255,255,255,0.18);
	background: rgba(255,255,255,0.04);
}
.careSubNotice p{
	margin: 0 0 8px;
	color: rgba(255,255,255,0.88);
	font-size: 12.6px;
}
.careMiniList{
	margin: 0 0 10px;
	padding-left: 16px;
}
.careMiniList li{
	color: rgba(255,255,255,0.72);
	font-size: 12.5px;
	line-height: 1.6;
}

/* 절차 */
.careSteps{
	margin-top: 16px;
	display:flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: nowrap;
}
.careStep{
	flex: 1 1 0;
	min-width: 0;	
	display:flex;
	justify-content:center;
}
.careStep__bubble{
	width: 100%;
	max-width: 130px;
	padding: 14px 12px;
	border-radius: 999px;
	text-align:center;
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(255,255,255,0.06);
	color: rgba(255,255,255,0.88);
	font-weight: 900;
	line-height: 1.25;
}
.careStep__bubble small{
	display:block;
	margin-top: 6px;
	font-weight: 700;
	color: rgba(255,255,255,0.70);
}
.careStep.is-active .careStep__bubble{
	border-color: rgba(59,130,246,0.28);
	background: rgba(59,130,246,0.12);
}
.careStep.is-accent .careStep__bubble{
	border-color: rgba(251,113,133,0.28);
	background: rgba(251,113,133,0.12);
}

.careArrow{
	display: block;
	width: 14px;
	height: 2px;
	background: rgba(255,255,255,0.16);
	position: relative;
	flex: 0 0 auto;
}
.careArrow:after{
	content:"";
	position:absolute;
	right: -2px;
	top: 50%;
	transform: translateY(-50%);
	border-left: 8px solid rgba(255,255,255,0.20);
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
}

/* 반응형 */
@media (max-width: 980px){
	.careGallery{ grid-template-columns: repeat(3, 1fr); }
	.careGrid2{ grid-template-columns: 1fr; }
	.careArrow{ display:none; }
	.careSteps{ gap: 12px; }
}
@media (max-width: 720px){
	.careSteps{
		flex-wrap: wrap;			/* 여기서만 줄바꿈 허용 */
		gap: 12px;
	}
	.careStep{
		flex: 0 0 calc(50% - 6px);	/* 2개씩 딱 반반 */
	}
	.careStep__bubble{
		max-width: none;			/* 반폭에서 꽉 차게 */
	}
}




.careTerms{
	margin-top: 18px;
	display:flex;
	flex-direction: column;
	gap: 16px;
}

/* 헤더 */
.careTerms__header{
	border-radius: 22px;
	padding: 18px;
	border: 1px solid rgba(255,255,255,0.10);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 18px 50px rgba(0,0,0,0.26);
    border-color: rgba(251, 113, 133, 0.22);
    background: rgba(251, 113, 133, 0.10);
}

.careTerms__chip{
	display:inline-flex;
	align-items:center;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	color: rgba(255,255,255,0.84);
	border: 1px solid rgba(255,255,255,0.12);
    background: rgb(255 155 69);
}

.careTerms__title{
	margin: 10px 0 6px;
	font-size: 18px;
	font-weight: 900;
	letter-spacing: -0.02em;
	color: rgba(255,255,255,0.92);
}

.careTerms__sale{
	color: rgba(251,113,133,0.92);
}

.careTerms__desc{
	margin: 0;
	font-size: 12.8px;
	line-height: 1.65;
	color: rgba(255,255,255,0.70);
}

/* 카드 공통 */
.ctCard{
    --ag-bg: rgba(15, 23, 42, 0.58);
    --ag-line: rgba(255, 255, 255, 0.10);
    --ag-soft: rgba(255, 255, 255, 0.06);
    --ag-text: rgba(255, 255, 255, 0.92);
    --ag-sub: rgba(255, 255, 255, 0.68);
    --ag-accent: #fb7185;
    --ag-accent2: #60a5fa;
    position: relative;
    border: 1px solid var(--ag-line);
    background: var(--ag-bg);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 22px;
    padding: 26px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.35);
    overflow: hidden;
    color: var(--ag-text);
}

.ctCard--accent{
	border-color: rgba(251,113,133,0.22);
	background: rgba(251,113,133,0.10);
}

.ctCard__head{
	display:flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 14px;
}

.ctCard__head--split{
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.ctCard__title{
	margin: 0;
	font-size: 14.5px;
	font-weight: 900;
	color: rgba(255,255,255,0.92);
}

.ctCard__sub{
	margin: 0;
	font-size: 12.5px;
	line-height: 1.6;
	color: rgba(255,255,255,0.70);
}

.ctHint{
	padding: 8px 10px;
	border-radius: 14px;
	font-size: 11.5px;
	color: rgba(255,255,255,0.72);
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(255,255,255,0.06);
}

/* 약관 텍스트 */
.ctTerms{
	display:flex;
	flex-direction: column;
	gap: 12px;
}

.ctTerms__item{
	padding: 12px;
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(255,255,255,0.04);
}

.ctTerms__title{
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 900;
	color: rgba(255,255,255,0.90);
}

.ctList{
	margin: 0;
	padding-left: 16px;
	display:flex;
	flex-direction: column;
	gap: 6px;
}

.ctList li{
	font-size: 12.5px;
	line-height: 1.62;
	color: rgba(255,255,255,0.76);
}

/* 각주 */
.ctFootnote{
	margin-top: 14px;
	display:flex;
	gap: 10px;
	padding: 12px;
	border-radius: 18px;
	border: 1px dashed rgba(255,255,255,0.18);
	background: rgba(255,255,255,0.04);
}

.ctDot{
	width: 10px;
	height: 10px;
	border-radius: 999px;
	margin-top: 4px;
	background: rgba(251,113,133,0.85);
	box-shadow: 0 0 0 6px rgba(251,113,133,0.12);
}

.ctFootnote__p{
	margin: 0 0 4px;
	font-size: 12.2px;
	line-height: 1.6;
	color: rgba(255,255,255,0.70);
}

.ctTableWrap{
	overflow: auto;
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(0,0,0,0.12);

	scrollbar-width: thin;
	scrollbar-color: rgba(255,255,255,0.28) transparent;
}

.ctTableWrap::-webkit-scrollbar{
	width: 10px;
	height: 10px;
}

.ctTableWrap::-webkit-scrollbar-track{
	background: transparent;
	border-radius: 999px;
}

.ctTableWrap::-webkit-scrollbar-thumb{
	background: rgba(255,255,255,0.22);
	border-radius: 999px;

	border: 2px solid transparent;
	background-clip: padding-box;
}

.ctTableWrap::-webkit-scrollbar-thumb:hover{
	background: rgba(255,255,255,0.32);
	background-clip: padding-box;
}

.ctTableWrap::-webkit-scrollbar-thumb:active{
	background: rgba(255,255,255,0.40);
	background-clip: padding-box;
}

.ctTableWrap::-webkit-scrollbar-corner{
	background: transparent;
}

.ctTable{
	width: 100%;
	border-collapse: collapse;
	/* min-width: 760px; */
}

.ctTable th,
.ctTable td{
	padding: 12px 12px;
	border-bottom: 1px solid rgba(255,255,255,0.08);
	font-size: 12.5px;
	color: rgba(255,255,255,0.78);
	vertical-align: middle;
}

.ctTable thead th{
	position: sticky;
	top: 0;
	z-index: 1;
	background: rgba(15, 23, 42, 0.85);
	color: rgba(255,255,255,0.88);
	font-weight: 900;
	border-bottom: 1px solid rgba(255,255,255,0.12);
}

.ctTable td b{
	color: rgba(255,255,255,0.90);
}

.ctTable tbody td:nth-child(3),
.ctTable tbody td:nth-child(4),
.ctTable tbody td:nth-child(5){
	vertical-align: middle;
}

.ctTable--tight th,
.ctTable--tight td{
	padding: 10px 10px;
}

.ctRight{
	text-align: right;
	white-space: nowrap;
}
.ctCenter{
	text-align: center;
	white-space: nowrap;
}
.boldText{
	font-size:14px;
	font-weight:bold;
	color:#e5b937;
}

/* 노트 */
.ctNote{
	margin-top: 12px;
	padding: 12px;
	border-radius: 18px;
	border: 1px dashed rgba(255,255,255,0.18);
	background: rgba(255,255,255,0.04);
}

.ctNote p{
	margin: 0 0 6px;
	font-size: 12.2px;
	line-height: 1.6;
	color: rgba(255,255,255,0.72);
}

.ctStrong{
	color: rgba(255,255,255,0.95);
}

/* CTA */
.ctCTA{
	margin-top: 14px;
	display:flex;
	align-items:center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px;
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(0,0,0,0.18);
}

.ctCTA__label{
	font-size: 11.5px;
	color: rgba(255,255,255,0.66);
}

.ctCTA__tel{
	margin-top: 2px;
	font-size: 16px;
	font-weight: 900;
	color: rgba(255,255,255,0.92);
	letter-spacing: 0.02em;
}

.ctCTA__sub{
	margin-top: 4px;
	font-size: 12.2px;
	color: rgba(255,255,255,0.70);
}

.ctCTA__btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding: 10px 12px;
	border-radius: 14px;
	font-size: 12px;
	font-weight: 900;
	color: rgba(255,255,255,0.92);
	text-decoration:none;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(251,113,133,0.14);
}

.ctCTA__btn:hover{
	background: rgba(251,113,133,0.20);
}

/* 반응형 */
@media (max-width: 980px){
	.ctCard__head--split{
		flex-direction: column;
	}
	.ctTable{
		min-width: 680px;
	}
	.ctCTA{
		flex-direction: column;
		align-items: stretch;
	}
}



.ccHero{
	display:flex;
	gap: 14px;
	align-items: stretch;
	padding: 14px;
}

.ccHero__img{
	flex: 0 0 44%;
	min-height: 180px;
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.10);
	background-size: cover;
	box-shadow: 0 18px 50px rgba(0,0,0,0.25);
}

.ccHero__txt{
	flex: 1;
	padding: 6px 4px;
	display:flex;
	flex-direction: column;
	justify-content: center;
}

.ccHero__tag{
	display:inline-flex;
	align-self: flex-start;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	color: rgba(255,255,255,0.85);
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(255,255,255,0.06);
}

.ccHero__title{
	margin: 10px 0 8px;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -0.03em;
	line-height: 1.25;
	color: rgba(255,255,255,0.92);
}

.ccHero__desc{
	margin: 0;
	font-size: 12.6px;
	line-height: 1.7;
	color: rgba(255,255,255,0.72);
}

/* 표 안 텍스트 정렬(가독성) */
.ccCenter{
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
}

@media (max-width: 980px){
	.ccHero{
		flex-direction: column;
	}
	.ccHero__img{
		flex: none;
		width: 100%;
		min-height: 200px;
	}
}




.nutriGuide2{ display:grid; gap:18px; }

.ngTop{
	display:flex; justify-content:space-between; align-items:flex-end; gap:14px;
	padding: 14px 16px;
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(251, 113, 133, 0.10);
	backdrop-filter: blur(10px);
	box-shadow: 0 18px 40px rgba(0,0,0,0.16);
	margin-top: 18px;
}
.ngTop__chip{
	display:inline-flex; align-items:center; gap:8px;
	font-size: 11px; font-weight: 900; letter-spacing: 0.4px;
	color: rgba(255,255,255,0.88);
	padding: 6px 10px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.12);
	background: rgb(255 155 69);
}
.ngTop__title{ margin: 8px 0 4px 0; font-size: 20px; color: rgba(255,255,255,0.92); letter-spacing:-0.3px; }
.ngTop__desc{ margin: 0; font-size: 12.5px; color: rgba(255,255,255,0.70); line-height:1.5; }
.ngTop__mini{ display:flex; align-items:center; gap:8px; font-size:12px; color: rgba(255,255,255,0.70); }
.ngDot{ width:8px; height:8px; border-radius:99px; background: rgba(255,90,120,0.95); box-shadow: 0 10px 18px rgba(255,90,120,0.22); }

.ngHero2{
	display:grid; grid-template-columns: 1.15fr 0.85fr;
	border-radius: 22px;
	overflow:hidden;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(15, 23, 42, 0.26);
	backdrop-filter: blur(10px);
	box-shadow: 0 18px 40px rgba(0,0,0,0.20);
}
.ngHero2__media{ position:relative; min-height: 240px; }
.ngHero2__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; filter:saturate(1.06) contrast(1.02); }
.ngHero2__shine{
	position:absolute; inset:0;
	background: radial-gradient(circle at 30% 15%, rgba(255,255,255,0.18), transparent 55%),
				linear-gradient(90deg, rgba(0,0,0,0.08), rgba(0,0,0,0.22));
	pointer-events:none;
}
.ngHero2__badge{
	position:absolute; left: 14px; top: 14px;
	display:inline-flex; align-items:center; gap:10px;
	padding: 10px 12px;
	border-radius: 14px;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(10, 14, 22, 0.38);
	backdrop-filter: blur(10px);
	color: rgba(255,255,255,0.92);
	font-size: 12.5px; font-weight: 800;
}
.ngIco{ display:inline-flex; width:26px; height:26px; align-items:center; justify-content:center; border-radius:10px; background: rgba(255,255,255,0.10); }

.ngHero2__copy{
	padding: 16px;
	background: linear-gradient(135deg, rgba(64, 178, 186, 0.80), rgba(64, 178, 186, 0.66));
	color: rgba(255,255,255,0.95);
	display:flex; flex-direction:column; gap:14px;
}
.ngHero2__quote{ display:flex; gap:12px; justify-content: center;}
.ngQuoteMark{ font-size: 34px; line-height: 1; font-weight: 900; opacity: 0.9; }
.ngHero2__headline{ margin:0; font-size: 18px; line-height: 1.35; letter-spacing:-0.3px; font-weight: 900; font-family: "Diphylleia", serif; font-style: italic;}
.ngHero2__tcenter{ text-align:center;}

.ngHero2__stats{ display:grid; gap:10px; margin-top:auto; }
.ngStat{
	display:flex; gap:10px; align-items:center;
	padding: 10px 12px;
	border-radius: 16px;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(255,255,255,0.10);
}
.ngStat__ico{
	width:38px; height:38px; border-radius: 14px;
	display:flex; align-items:center; justify-content:center;
	background: rgba(10, 14, 22, 0.20);
}
.ngStat__text strong{ display:block; font-size: 13px; letter-spacing:-0.2px; }
.ngStat__text span{ display:block; font-size: 12px; opacity: 0.85; margin-top:2px; }

.ngGrid{
	display:grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}
.ngPoint{
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(15, 23, 42, 0.26);
	backdrop-filter: blur(10px);
	box-shadow: 0 16px 34px rgba(0,0,0,0.16);
	padding: 14px;
}
.ngPoint__head{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.ngPoint__ico{
	width:28px; height:28px; border-radius: 12px;
	display:flex; align-items:center; justify-content:center;
	background: rgba(255, 90, 120, 0.92);
	color:#fff; font-weight:900; font-size: 12px;
	box-shadow: 0 12px 22px rgba(255,90,120,0.20);
}
.ngPoint h4{ margin:0; font-size: 15px; color: rgba(255,255,255,0.92); letter-spacing:-0.2px; }
.ngPoint p{ margin:0; font-size: 12.8px; line-height:1.6; color: rgba(255,255,255,0.74); }

.ngPanel{
	border-radius: 20px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(15, 23, 42, 0.26);
	backdrop-filter: blur(10px);
	box-shadow: 0 18px 40px rgba(0,0,0,0.16);
	padding: 16px;
}
.ngPanel__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:14px; margin-bottom: 12px; }
.ngPanel__chip{
	display:inline-flex; align-items:center; gap:8px;
	font-size: 11px; font-weight: 900; letter-spacing: 0.4px;
	color: rgba(255,255,255,0.88);
	padding: 6px 10px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(255,255,255,0.06);
}
.ngPanel__title{ margin: 8px 0 4px 0; font-size: 20px; color: rgba(255,255,255,0.92); letter-spacing:-0.3px; }
.ngPanel__desc{ margin:0; font-size: 12.5px; color: rgba(255,255,255,0.70); }
.ngPanel__hint{ display:flex; align-items:center; gap:8px; font-size:12px; color: rgba(255,255,255,0.68); margin-bottom:20px;}
.ngHintDot{ width:8px; height:8px; border-radius:99px; background: rgba(64,178,186,0.95); box-shadow: 0 12px 20px rgba(64,178,186,0.18); }

.ngGallery2{
	display:grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
}
.ngImg2{
	border: 0;
	padding: 0;
	background: transparent;
	cursor: pointer;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,0.12);
	box-shadow: 0 16px 30px rgba(0,0,0,0.18);
	position: relative;
}
.ngImg2 img{
	display:block;
	width:100%;
	height: 200px;
	object-fit: cover;
	transition: transform 180ms ease, filter 180ms ease;
	filter: saturate(1.05) contrast(1.02);
}
.ngImg2__cap{
	position:absolute;
	left: 10px;
	bottom: 10px;
	padding: 6px 10px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(10, 14, 22, 0.34);
	backdrop-filter: blur(10px);
	color: rgba(255,255,255,0.92);
	font-size: 12px;
	font-weight: 800;
}
.ngImg2:hover img{
	transform: scale(1.04);
	filter: saturate(1.10) contrast(1.03);
}

/* 모달 */
.ngModal2{ position: fixed; inset: 0; display:none; z-index: 99999; }
.ngModal2.is-open{ display:block; }
.ngModal2__backdrop{
	position:absolute; inset:0;
	background: rgba(0,0,0,0.74);
	backdrop-filter: blur(6px);
}
.ngModal2__dialog{
	position:absolute; left:50%; top:50%;
	transform: translate(-50%, -50%);
	width: min(1040px, calc(100vw - 40px));
	height: min(84vh, 820px);
	border-radius: 20px;
	overflow:hidden;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(10, 14, 22, 0.70);
	box-shadow: 0 30px 80px rgba(0,0,0,0.55);
}
.ngModal2__img{ width:100%; height:100%; object-fit: contain; display:block; }
.ngModal2__close{
	position:absolute; right:10px; top:10px;
	width: 40px; height:40px;
	border-radius: 14px;
	border: 1px solid rgba(255,255,255,0.18);
	background: rgba(255,255,255,0.10);
	color: rgba(255,255,255,0.92);
	cursor:pointer;
}

/* 섹션 카드 */
.ngCard{
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(15, 23, 42, 0.30);
	backdrop-filter: blur(10px);
	box-shadow: 0 18px 40px rgba(0,0,0,0.18);
	padding: 16px 16px;
}

.ngSectionTitle{
	margin: 0 0 10px 0;
	font-size: 18px;
	letter-spacing: -0.3px;
	color: rgba(255,255,255,0.92);
}

.ngSectionDesc{
	margin: 0 0 16px 0;
	font-size: 13px;
	line-height: 1.65;
	color: rgba(255,255,255,0.76);
}
/* 번호 리스트 */
.ngList{
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
}

.ngList p{
	margin: 10px;
	font-size: 13px;
}


.ngList li{
	display: grid;
	grid-template-columns: 28px 1fr;
	gap: 10px;
	align-items: start;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(255,255,255,0.08);
	color: rgba(255,255,255,0.80);
	font-size: 13px;
	line-height: 1.55;
}

.ngList li:last-child{
	border-bottom: 0;
	padding-bottom: 0;
}

.ngList__num{
	width: 22px;
	height: 22px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 900;
	font-size: 12px;
	color: #fff;
	background: rgba(255, 90, 120, 0.95);
	box-shadow: 0 10px 24px rgba(255, 90, 120, 0.22);
}

@media (max-width: 1024px){
	.ngHero2{ grid-template-columns: 1fr; }
	.ngGrid{ grid-template-columns: 1fr; }
	.ngGallery2{ grid-template-columns: repeat(2, 1fr); }
	.ngImg2 img{ height: 160px; }
	.ngPanel__head{ flex-direction: column; align-items:flex-start; }
}









/* ========== 연혁부분 ========== */

.edenFocus2{
	margin-top: 18px;
	display:flex;
	flex-direction: column;
	gap: 14px;
}

/* Header */
.ef2Head{
	border-radius: 22px;
	padding: 20px;
	border: 1px solid rgba(255,255,255,0.10);
    background: rgba(251, 113, 133, 0.10);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 18px 50px rgba(0,0,0,0.26);
}
.ef2Chip{
	display:inline-flex;
	align-items:center;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	color: rgba(255,255,255,0.84);
	border: 1px solid rgba(255,255,255,0.12);
    background: rgb(255 155 69);
}
.ef2Title{
	margin: 10px 0 6px;
	font-size: 20px;
	font-weight: 900;
	letter-spacing: -0.02em;
	color: rgba(255,255,255,0.92);
}
.ef2Desc{
	margin: 0;
	font-size: 12.8px;
	line-height: 1.7;
	color: rgba(255,255,255,0.70);
}

.ef2Timeline{
	position: relative;
	display:flex;
	flex-direction: column;
	gap: 12px;
}

.ef2Timeline::before{
	content:"";
	position:absolute;
	left: 124px;
	top: 6px;
	bottom: 6px;
	width: 2px;
	border-radius: 999px;
	background: linear-gradient(
		to bottom,
		rgba(251,113,133,0.00),
		rgba(251,113,133,0.55),
		rgba(125,211,252,0.20),
		rgba(251,113,133,0.55),
		rgba(251,113,133,0.00)
	);
	box-shadow:
		0 0 0 7px rgba(251,113,133,0.08),
		0 0 26px rgba(251,113,133,0.20);
}

.ef2Group{
	position: relative;
	display:flex;
	gap: 14px;
	align-items: flex-start;
}

.ef2Year{
    font-family: "Jua", sans-serif;
	position: sticky;
	top: 92px;
	flex: 0 0 98px;
	height: 52px;

	display:flex;
	align-items:center;
	justify-content:center;

	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(255,255,255,0.05);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);

	color: rgba(255,255,255,0.90);
	font-weight: 900;
	letter-spacing: 0.02em;
}

.ef2List{
	flex: 1;
	display:flex;
	flex-direction: column;
	gap: 10px;
	padding-left: 24px;
}

.ef2Event{
	position: relative;
	display:flex;
	gap: 12px;
	align-items: flex-start;

	border-radius: 20px;
	padding: 14px 14px 14px 14px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(15, 23, 42, 0.32);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 18px 50px rgba(0,0,0,0.28);

	transition: transform .18s ease, border-color .18s ease, background .18s ease;
	overflow: hidden;
}

.ef2Event::after{
	content:"";
	position:absolute;
	inset: 0;
	background: radial-gradient(900px 220px at 0% 0%, rgba(255,255,255,0.10), rgba(255,255,255,0.00) 60%);
	pointer-events:none;
	opacity: .85;
}

.ef2Event::before{
	content:"";
	position:absolute;
	left: -26px;
	top: 18px;
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: rgba(251,113,133,0.92);
	box-shadow: 0 0 0 7px rgba(251,113,133,0.14);
}

.ef2Event:hover{
	transform: translateY(-2px);
	border-color: rgba(255,255,255,0.16);
	background: rgba(15, 23, 42, 0.36);
}

.ef2Date{
    font-family: "Jua", sans-serif;
	flex: 0 0 auto;
	display:inline-flex;
	align-items:center;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	color: rgba(255,255,255,0.86);
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(255,255,255,0.06);
	white-space: nowrap;
}

.ef2Body{ flex: 1; }
.ef2Text{
    font-family: "Diphylleia", serif;
	margin-top: 2px;
	font-size: 14px;
	line-height: 1.7;
	color: rgba(255,255,255,0.90);
	font-weight: 900;
	letter-spacing: -0.01em;
}
.ef2Sub{
    font-family: "Diphylleia", serif;
	margin-top: 6px;
	font-size: 12.5px;
	line-height: 1.65;
	color: rgba(255,255,255,0.72);
}

.ef2Event[data-kind="award"]::before{
	background: rgba(250,204,21,0.95);
	box-shadow: 0 0 0 7px rgba(250,204,21,0.18);
}
.ef2Event[data-kind="cert"]::before{
	background: rgba(125,211,252,0.95);
	box-shadow: 0 0 0 7px rgba(125,211,252,0.16);
}
.ef2Event[data-kind="rank"]::before{
	background: rgba(251,113,133,0.92);
	box-shadow: 0 0 0 7px rgba(251,113,133,0.14);
}

/* 제 1회 임산부의 날 대통령 표창 수상 강조 */
.ef2Event.ef2Event--presidential{
	border-color: rgba(250,204,21,0.45);
	background: linear-gradient(135deg, rgba(250,204,21,0.18), rgba(15, 23, 42, 0.45));
	box-shadow: 0 18px 50px rgba(0,0,0,0.28), 0 0 0 1px rgba(250,204,21,0.25);
}
.ef2Event.ef2Event--presidential::before{
	background: rgba(250,204,21,0.98);
	box-shadow: 0 0 0 8px rgba(250,204,21,0.25), 0 0 20px rgba(250,204,21,0.35);
	width: 12px;
	height: 12px;
	left: -28px;
	top: 16px;
}
.ef2Event.ef2Event--presidential .ef2Text{
	color: #fff;
	font-size: 15px;
	text-shadow: 0 0 20px rgba(250,204,21,0.2);
}
.ef2Event.ef2Event--presidential .ef2PresidentialBadge{
	display: inline-block;
	margin-top: 6px;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	background: linear-gradient(135deg, rgba(250,204,21,0.35), rgba(250,204,21,0.15));
	border: 1px solid rgba(250,204,21,0.5);
	color: rgba(255,255,255,0.98);
	letter-spacing: 0.02em;
}

@media (max-width: 980px){
	.ef2Timeline::before{ left: 18px; }

	.ef2Group{
		flex-direction: column;
		gap: 10px;
		padding-left: 22px;
	}

	.ef2Year{
		position: relative;
		top: auto;
		width: fit-content;
		flex: none;
		height: auto;
		padding: 10px 14px;
	}

	.ef2List{
		padding-left: 0;
		width: 100%;
	}

	.ef2Event::before{
		left: -18px;
	}
	.ef2Event.ef2Event--presidential::before{
		left: -20px;
	}
}



/* 연혁 영역 덮어씌우기용 래퍼 */
.efSwitchWrap{
	position: relative;
}

/* 오버레이 */
.efSwitchOverlay{
	position: absolute;
	inset: 0;
	z-index: 50;
	display: none;
	padding: 14px;
	border-radius: 22px;

	/* 덮는 느낌 */
	background: rgba(2, 6, 23, 0.62);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.efSwitchOverlay.is-active{
	display: block;
	animation: efFadeIn .18s ease-out;
}

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

/* 오버레이 카드 */
.efOverlayCard{
	border-radius: 22px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(15, 23, 42, 0.40);
	box-shadow: 0 22px 60px rgba(0,0,0,0.45);
	overflow: hidden;
}

/* 상단바 */
.efOverlayTop{
	display:flex;
	align-items:center;
	justify-content: space-between;
	gap: 10px;
	padding: 14px 14px;
	border-bottom: 1px solid rgba(255,255,255,0.08);
	background: rgba(255,255,255,0.04);
}

.efOverlayTitle{
	font-weight: 900;
	color: rgba(255,255,255,0.92);
	letter-spacing: -0.02em;
}

.efOverlayClose{
	cursor: pointer;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(255,255,255,0.06);
	color: rgba(255,255,255,0.88);
	padding: 8px 10px;
	border-radius: 14px;
	font-weight: 900;
	font-size: 12px;
}

.efOverlayClose:hover{
	background: rgba(255,255,255,0.10);
}

/* 본문 */
.efOverlayBody{
	padding: 14px;
	color: rgba(255,255,255,0.78);
}

/* 오른쪽 아래 플로팅 버튼 */
.efFloatBtn{
	z-index: 9999;

	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap: 8px;

	padding: 12px 14px;
	border-radius: 999px;
	border: 1px solid rgba(255,255,255,0.16);
	background: rgba(251,113,133,0.16);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);

	color: rgba(255,255,255,0.92);
	font-weight: 900;
	font-size: 12px;
	cursor: pointer;

	box-shadow: 0 18px 45px rgba(0,0,0,0.35);
	width: 100%;
}

.efFloatBtn:hover{
	background: rgba(251,113,133,0.22);
}

/* 내용 교체 트랜지션 */
.efSwap{
	transition: opacity .24s ease, transform .24s ease, filter .24s ease;
	will-change: opacity, transform, filter;
}

.efSwap.is-leaving{
	opacity: 0;
	transform: translateY(8px);
	filter: blur(2px);
}

.efSwap.is-entering{
	opacity: 0;
	transform: translateY(10px);
	filter: blur(3px);
}

.efSwap.is-entered{
	opacity: 1;
	transform: translateY(0);
	filter: blur(0);
}



/* =========================
   시설안내
   ========================= */

.edenFacilityGallery{
	display:flex;
	flex-direction: column;
	gap: 12px;
	margin-top:18px;
}

.edenFacilityGalleryHead{
	display:flex;
	align-items:flex-end;
	justify-content: space-between;
	gap: 12px;

	border-radius: 22px;
	padding: 20px;
	border: 1px solid rgba(255,255,255,0.10);
    background: rgba(251, 113, 133, 0.10);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 13px 14px 20px rgba(0, 0, 0, 0.26);
    margin-bottom: 10px;
}

.edenFacilityGalleryChip{
	display:inline-flex;
	align-items:center;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 900;
	color: rgba(255,255,255,0.86);
	border: 1px solid rgba(255,255,255,0.12);
    background: rgb(255 155 69);
}

.edenFacilityGalleryTitle{
    margin: 10px 0 6px;
	font-size: 18px;
	font-weight: 900;
	letter-spacing: -0.02em;
	color: rgba(255,255,255,0.92);
}

.edenFacilityGalleryHint{
	margin-top: 6px;
	font-size: 12.5px;
	line-height: 1.6;
	color: rgba(255,255,255,0.70);
}

.edenFacilityGalleryCounter{
	display:flex;
	align-items:center;
	gap: 6px;
	padding: 8px 10px;
	border-radius: 14px;
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(255,255,255,0.06);
	color: rgba(255,255,255,0.88);
	font-weight: 900;
	font-size: 12px;
	white-space: nowrap;
}

.edenFacilityGalleryCounterSlash{
	opacity: .55;
}

/* Stage */
.edenFacilityGalleryStage{
	position: relative;
	display:flex;
	align-items: center;
	gap: 10px;
}

.edenFacilityGalleryViewport{
	position: relative;
	flex: 1;
	border-radius: 22px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(15, 23, 42, 0.20);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 18px 50px rgba(0,0,0,0.24);

	overflow: hidden;
	min-height: 320px;
}

.edenFacilityGalleryTrack{
	display:flex;
	height: 100%;
	transform: translate3d(0,0,0);
	transition: transform .35s ease;
	will-change: transform;
}

.edenFacilityGallerySlide{
	position: relative;
	flex: 0 0 100%;
	height: 100%;
	user-select: none;
	-webkit-user-drag: none;
	cursor: zoom-in;
}

.edenFacilityGallerySlide img{
	width: 100%;
	height: 350px;
	object-fit: cover;
    object-position: 0 80%;
	display:block;
	filter: saturate(1.02) contrast(1.02);
}

/* Caption */
.edenFacilityGalleryCaption{
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 12px;
	pointer-events: none;

	padding: 10px 12px;
	border-radius: 16px;
	background: rgba(2, 6, 23, 0.52);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255,255,255,0.12);
}

.edenFacilityGalleryCaption span{
	display:block;
	color: rgba(255,255,255,0.90);
	font-weight: 900;
	font-size: 12.7px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Nav */
.edenFacilityGalleryNav{
	width: 42px;
	height: 42px;
	border-radius: 16px;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(255,255,255,0.06);
	color: rgba(255,255,255,0.92);
	font-weight: 900;
	font-size: 22px;
	cursor: pointer;
	flex: 0 0 auto;
}
.edenFacilityGalleryNav:hover{ background: rgba(255,255,255,0.10); }

/* Thumbs */
.edenFacilityGalleryThumbWrap{
	display:flex;
	align-items:center;
	gap: 10px;

	border-radius: 22px;
	padding: 10px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(15, 23, 42, 0.22);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 18px 50px rgba(0,0,0,0.22);
	overflow: hidden;
}

.edenFacilityGalleryThumbViewport{
	flex: 1;
	overflow: hidden;
}

.edenFacilityGalleryThumbTrack{
	display:flex;
	gap: 8px;
	transform: translate3d(0,0,0);
	transition: transform .25s ease;
	will-change: transform;
}

.edenFacilityGalleryThumb{
	width: 86px;
	height: 58px;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(255,255,255,0.04);
	cursor: pointer;
	flex: 0 0 auto;
	padding: 0;
}

.edenFacilityGalleryThumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display:block;
	opacity: .86;
}

.edenFacilityGalleryThumb.is-active{
	border-color: rgba(251,113,133,0.55);
	box-shadow: 0 0 0 6px rgba(251,113,133,0.10);
}
.edenFacilityGalleryThumb.is-active img{ opacity: 1; }

.edenFacilityGalleryThumbNav{
	width: 38px;
	height: 38px;
	border-radius: 14px;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(255,255,255,0.06);
	color: rgba(255,255,255,0.92);
	font-weight: 900;
	font-size: 18px;
	cursor: pointer;
	flex: 0 0 auto;
}
.edenFacilityGalleryThumbNav:hover{ background: rgba(255,255,255,0.10); }

/* Lightbox */
.edenFacilityGalleryLightbox{
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
}
.edenFacilityGalleryLightbox.is-active{ display:block; }

.edenFacilityGalleryLightboxBg{
	position:absolute;
	inset:0;
	background: rgba(2, 6, 23, 0.72);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.edenFacilityGalleryLightboxPanel{
	position:absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(820px, calc(100vw - 28px));

	border-radius: 22px;
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(15, 23, 42, 0.45);
	box-shadow: 0 24px 80px rgba(0,0,0,0.55);

	padding: 14px;
	overflow: hidden;
}

.edenFacilityGalleryLightboxImg{
	width: 100%;
	height: min(70vh, 680px);
	object-fit: contain;
	border-radius: 16px;
	background: rgba(0,0,0,0.18);
	display:block;
}

.edenFacilityGalleryLightboxCap{
	margin-top: 10px;
	padding: 10px 12px;
	border-radius: 16px;
	border: 1px solid rgba(255,255,255,0.12);
	background: rgba(255,255,255,0.06);
	color: rgba(255,255,255,0.86);
	font-weight: 900;
	font-size: 13px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.edenFacilityGalleryLightboxClose{
	position:absolute;
	right: 12px;
	top: 10px;

	width: 38px;
	height: 38px;
	border-radius: 14px;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(255,255,255,0.06);
	color: rgba(255,255,255,0.92);
	font-weight: 900;
	font-size: 22px;
	cursor: pointer;
}
.edenFacilityGalleryLightboxClose:hover{ background: rgba(255,255,255,0.10); }

.edenFacilityGalleryLightboxNav{
	position:absolute;
	top: 50%;
	transform: translateY(-50%);

	width: 44px;
	height: 44px;
	border-radius: 16px;
	border: 1px solid rgba(255,255,255,0.14);
	background: rgba(255,255,255,0.06);
	color: rgba(255,255,255,0.92);
	font-weight: 900;
	font-size: 22px;
	cursor: pointer;
}
.edenFacilityGalleryLightboxNav:hover{ background: rgba(255,255,255,0.10); }

.edenFacilityGalleryLightboxPrev{ left: 12px; }
.edenFacilityGalleryLightboxNext{ right: 12px; }

@media (max-width: 640px){
	.edenFacilityGallerySlide img{ height: 320px; }
}

/* ===== 고위험임신 질환정보 카드 섹션 ===== */
.disease-cards-section {
	max-width: 1200px;
	margin: 0 auto;
	padding: 2rem 1rem 3rem;
}
.disease-cards-header {
	text-align: center;
	margin-bottom: 2.5rem;
}
.disease-cards-title {
	font-family: "Jua", sans-serif;
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 700;
	color: rgba(255,255,255,0.95);
	margin: 0 0 0.5rem;
	letter-spacing: -0.02em;
}
.disease-cards-title em {
	font-style: normal;
	color: #fecaca;
}
.disease-cards-desc {
	font-size: 0.95rem;
	color: rgba(255,255,255,0.65);
	margin: 0 0 1.25rem;
}
.disease-cards-toolbar {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
}
.disease-cards-search-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.2rem 0.7rem;
	font-size: 0.7rem;
	color: rgba(255,255,255,0.9);
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.2);
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s, transform 0.15s;
}
.disease-cards-search-btn:hover {
	background: rgba(255,255,255,0.14);
	border-color: rgba(255,255,255,0.35);
	transform: translateY(-1px);
}
.disease-cards-search-btn svg {
	flex-shrink: 0;
}
.disease-cards-cancel-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.5rem 0.9rem;
	font-size: 0.85rem;
	color: rgba(255,255,255,0.85);
	background: rgba(239,68,68,0.25);
	border: 1px solid rgba(239,68,68,0.45);
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s, transform 0.15s;
}
.disease-cards-cancel-btn:hover {
	background: rgba(239,68,68,0.4);
	border-color: rgba(239,68,68,0.6);
	transform: translateY(-1px);
}
.disease-cards-cancel-btn svg {
	flex-shrink: 0;
}
.disease-cards-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
.disease-card {
	display: block;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: 12px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.disease-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 24px rgba(0,0,0,0.25);
	border-color: rgba(254,202,202,0.35);
}
.disease-card__thumb {
	/* aspect-ratio: 4/3; */
	background: rgba(0,0,0,0.2);
	overflow: hidden;
}
.disease-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.disease-card__thumb--none {
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgba(255,255,255,0.4);
	font-size: 0.85rem;
}
.disease-card__title {
	padding: 5px 0;
	font-weight: 400;
	font-size: 16px;
	font-family:"Black Han Sans","Noto Sans KR",sans-serif;
	line-height: 1.4;
	color: rgba(255,255,255,0.92);
    background: linear-gradient(145deg, #639dfba1 0%, #dc5656a3 100%);
	text-align: center;
}
.disease-cards-loading,
.disease-cards-empty {
	text-align: center;
	padding: 2rem;
	color: rgba(255,255,255,0.5);
	font-size: 0.95rem;
}
.disease-cards-empty { display: none; }
.disease-cards-loading { display: none; }

@media (max-width: 900px) {
	.disease-cards-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.25rem;
	}
}
@media (max-width: 560px) {
	.disease-cards-grid {
		/* grid-template-columns: 1fr; */
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
	}
	.disease-cards-section { padding: 1.5rem 0.75rem 2rem; }
}

/* 질환정보 검색 모달 */
.disease-search-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s, visibility 0.2s;
}
.disease-search-modal.is-open {
	opacity: 1;
	visibility: visible;
}
.disease-search-modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.6);
	cursor: pointer;
}
.disease-search-modal-box {
	position: relative;
	width: 100%;
	max-width: 440px;
	background: linear-gradient(145deg, #1e293b 0%, #0f172aba 100%);
	border: 1px solid rgba(255,255,255,0.15);
	border-radius: 16px;
	box-shadow: 0 24px 48px rgba(0,0,0,0.4);
	overflow: hidden;
}
.disease-search-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.25rem 1.5rem;
	border-bottom: 1px solid rgba(255,255,255,0.1);
}
.disease-search-modal-header h3 {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 700;
	color: rgba(255,255,255,0.95);
}
.disease-search-modal-close {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	line-height: 1;
	color: rgba(255,255,255,0.7);
	background: none;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}
.disease-search-modal-close:hover {
	background: rgba(255,255,255,0.1);
	color: #fff;
}
.disease-search-modal-body {
	padding: 1.5rem;
}
.disease-search-field {
	display: flex;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
}
.disease-search-field input {
	flex: 1;
	padding: 0.75rem 1rem;
	font-size: 1rem;
	color: #fff;
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.2);
	border-radius: 8px;
	outline: none;
	transition: border-color 0.2s;
}
.disease-search-field input::placeholder {
	color: rgba(255,255,255,0.4);
}
.disease-search-field input:focus {
	border-color: rgba(254,202,202,0.5);
}
.disease-search-submit {
	padding: 0.75rem 1.25rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: #0f172a;
	background: #fecaca;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	transition: background 0.2s, transform 0.15s;
}
.disease-search-submit:hover {
	background: #fda4a4;
	transform: translateY(-1px);
}
.disease-search-hint {
	margin: 0;
	font-size: 0.8rem;
	color: rgba(255,255,255,0.45);
}
body.modal-lock { overflow: hidden; }

/* === 비급여진료비 패널 (증명서 발급과 동일한 카드·다크 테마) === */
.feeUser {
	--fee-bg: rgba(15, 23, 42, 0.58);
	--fee-line: rgba(255,255,255,0.10);
	--fee-text: rgba(255,255,255,0.92);
	--fee-sub: rgba(255,255,255,0.68);
	--fee-accent: #60a5fa;

	position: relative;
	border: 1px solid var(--fee-line);
	background: var(--fee-bg);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 22px;
	padding: 26px;
	/* box-shadow: 0 22px 60px rgba(0,0,0,0.35); */
	overflow: hidden;
	color: var(--fee-text);
}

.feeUser::before {
	content: "";
	position: absolute;
	inset: -35% -20%;
	background:
		radial-gradient(circle at 18% 30%, rgba(96,165,250,0.18), transparent 55%),
		radial-gradient(circle at 80% 70%, rgba(251,113,133,0.12), transparent 55%);
	filter: blur(14px);
	opacity: .9;
	pointer-events: none;
}

.feeUser > * { position: relative; z-index: 1; }

.feeUser__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--fee-line);
	margin-bottom: 18px;
}

.feeUser__title {
	margin: 0;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: var(--fee-text);
}

.feeUser__titleWrap {
	display: flex;
	align-items: center;
	gap: 8px;
}
.feeUser__titleWrap .feeUser__title { margin-bottom: 0; }

.feeUser__meta {
	margin: 0;
	font-size: 12px;
	color: var(--fee-sub);
	text-align: right;
	line-height: 1.35;
}

.feeUser__searchBtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 1px solid rgba(255,255,255,0.2);
	border-radius: 8px;
	background: rgba(96,165,250,0.25);
	color: #fff;
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.feeUser__searchBtn:hover {
	background: rgba(96,165,250,0.4);
	border-color: rgba(96,165,250,0.5);
	color: #fff;
}
.feeUser__searchIcon {
	flex-shrink: 0;
	display: block;
}

.feeUser__empty {
	margin: 0;
	padding: 20px 0;
	color: var(--fee-sub);
	font-size: 14px;
}

/* 탭 (증명서 발급 플로우와 톤 맞춤) */
.feeUser__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 18px;
}

.feeUser__tab {
	display: inline-block;
	padding: 10px 18px;
	border: 1px solid rgba(255,255,255,0.14);
	border-radius: 14px;
	background: rgba(0,0,0,0.2);
	color: rgba(255,255,255,0.78);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: -0.01em;
	text-decoration: none;
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.feeUser__tab:hover {
	background: rgba(255,255,255,0.08);
	border-color: rgba(255,255,255,0.22);
	color: rgba(255,255,255,0.92);
}

.feeUser__tab.is-active {
	background: rgba(96,165,250,0.35);
	border-color: rgba(96,165,250,0.5);
	color: #fff;
}

/* 테이블 감싸기 (문화센터 ctTable과 동일 스타일) */
.feeUser__tableWrap {
	overflow: auto;
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,0.10);
	background: rgba(0,0,0,0.12);
	scrollbar-width: thin;
	scrollbar-color: rgba(255,255,255,0.28) transparent;
}

.feeUser__tableWrap::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}

.feeUser__tableWrap::-webkit-scrollbar-track {
	background: transparent;
	border-radius: 999px;
}

.feeUser__tableWrap::-webkit-scrollbar-thumb {
	background: rgba(255,255,255,0.22);
	border-radius: 999px;
	border: 2px solid transparent;
	background-clip: padding-box;
}

.feeUser__tableWrap::-webkit-scrollbar-thumb:hover {
	background: rgba(255,255,255,0.32);
	background-clip: padding-box;
}

.feeUser__tableWrap::-webkit-scrollbar-thumb:active {
	background: rgba(255,255,255,0.40);
	background-clip: padding-box;
}

.feeUser__tableWrap::-webkit-scrollbar-corner {
	background: transparent;
}

.feeUser__tableWrap > .feeUser__table {
	display: table;
	width: 100%;
	min-width: 720px;
}

.feeUser__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12.5px;
	line-height: 1.5;
}

.feeUser__table th,
.feeUser__table td {
	padding: 12px 12px;
	border-bottom: 1px solid rgba(255,255,255,0.08);
	color: rgba(255,255,255,0.78);
	vertical-align: middle;
}

.feeUser__table thead th {
	position: sticky;
	top: 0;
	z-index: 1;
	background: rgba(15, 23, 42, 0.85);
	color: rgba(255,255,255,0.88);
	font-weight: 900;
	border-bottom: 1px solid rgba(255,255,255,0.12);
	text-align: center;
	letter-spacing: -0.01em;
}

.feeUser__table .feeUser__theadRow1 th { font-size: 13px; }
.feeUser__table .feeUser__theadRow2 th { font-size: 12px; font-weight: 600; color: rgba(255,255,255,0.85); }
.feeUser__table .feeUser__thGroup { vertical-align: middle; }

.feeUser__table tbody td {
	background: transparent;
	text-align: center;
}

.feeUser__table tbody tr:nth-child(even) td { background: rgba(255,255,255,0.03); }
.feeUser__table tbody tr:hover td { background: rgba(255,255,255,0.06);}
.feeUser__table tbody tr:last-child td { border-bottom: 0; }
.feeUser__table tbody tr td:first-child { text-align: left; }

.feeUser__table .feeUser__tdCategory { font-weight: 700; color: rgba(255,255,255,0.90); }
.feeUser__table .feeUser__tdNum { text-align: right; font-variant-numeric: tabular-nums; }
.feeUser__table .feeUser__tdCenter { text-align: center; }

/* 비급여진료비 검색 모달 */
.feeSearchModal__panel { max-width: 420px; }
.feeSearchModal__hint {
	margin: 0 0 12px;
	font-size: 12px;
	color: var(--fee-sub, rgba(255,255,255,0.6));
	line-height: 1.4;
}
.feeSearchModal__input {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 16px;
	border: 1px solid rgba(255,255,255,0.2);
	border-radius: 12px;
	background: rgba(0,0,0,0.2);
	color: #fff;
	font-size: 15px;
}
.feeSearchModal__input::placeholder { color: rgba(255,255,255,0.45); }
.feeSearchModal__input:focus {
	outline: none;
	border-color: rgba(96,165,250,0.6);
}
.feeSearchModal__resultCount {
	margin-top: 10px;
	font-size: 13px;
	color: var(--fee-sub, rgba(255,255,255,0.7));
}

.feeUser__emptyCell {
	text-align: center;
	color: rgba(255,255,255,0.5);
	padding: 28px 16px !important;
	background: transparent;
}

@media (max-width: 720px) {
	.feeUser__head { flex-direction: column; align-items: flex-start; }
	.feeUser__meta { text-align: left; }
	.feeUser__table thead th,
	.feeUser__table tbody td { padding: 10px 12px; font-size: 11.5px; }
}
