/* ============================================================
 * main-theme.css — 메인 페이지(샤인플란트치과 전용)
 * templates/template-main-inoue.php 에서만 로드된다.
 *
 * CSS 에서 쓰는 이미지 경로는 inc/main-inoue.php 가
 * :root 인라인 변수로 주입한다.
 *   --idc-greeting-bg / --idc-callbar-bg
 * ============================================================ */

.site-main--idc-home{
	--idc-serif: "Noto Serif KR", "AppleMyungjo", "Nanum Myeongjo", "Batang", serif;
	--idc-sans: "Noto Sans KR", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Nanum Gothic", sans-serif;
	--idc-text: #424244;
}

/* 섹션은 site-main 직계라 별도 처리 없이 화면 전체 폭을 쓴다 */
.site-main--idc-home .idc-sec{
	position: relative;
	width: 100%;
}

/* 스크롤 등장 애니메이션 */
.idc-fade{ opacity: 0; transform: translateY(28px); }
.idc-fade.is-in{
	opacity: 1;
	transform: none;
	transition: opacity .9s ease, transform .9s ease;
}
@media (prefers-reduced-motion: reduce){
	.idc-fade, .idc-fade.is-in{ opacity: 1; transform: none; transition: none; }
}

/* ============================================================
 * 1. 인사말 (의료진 소개)
 * ============================================================ */

.idc-greeting{
	padding: 140px 0 120px;
	background-color: #f4f4f4;
	background-image: var(--idc-greeting-bg);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	font-family: var(--idc-serif);
	color: var(--idc-text);
	overflow: hidden;
}

.idc-greeting__inner{
	display: flex;
	align-items: flex-start;
	max-width: 1920px;
	margin: 0 auto;
}

.idc-greeting__photo{
	flex: 0 0 45%;            /* 1920 기준 864px — 본문 시작 x=867 */
	display: flex;
	justify-content: flex-end;
	padding-right: 7.7%;      /* 사진 우측 끝 x=716 */
	padding-top: 188px;       /* 섹션 상단에서 328px 지점 */
}

.idc-greeting__photo img{
	display: block;
	width: 522px;
	max-width: 100%;
	height: auto;
}

.idc-greeting__body{
	flex: 1 1 auto;
	min-width: 0;
	padding-right: 4%;
}

.idc-greeting__label{
	margin: 0 0 0 3px;
	font-size: 40px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.04em;
}

.idc-greeting__lead{
	margin: 55px 0 0;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.02em;
}

.idc-greeting__text{
	margin: 21px 0 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 32px;        /* 시안 행 피치 32px */
	letter-spacing: 0.02em;
}

.idc-greeting__sign{ margin-top: 60px; }

.idc-greeting__clinic{
	margin: 0;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.03em;
}

.idc-greeting__doctor{
	margin: 9px 0 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.03em;
}

/* ============================================================
 * 2. 4대 강점
 * ============================================================ */

.idc-feat{
	--idc-feat-h: 664px;                          /* 시안 높이 = 이미지 원본 높이 */
	--idc-feat-veil: rgba(70, 70, 70, 0);         /* 기본: 없음 (이미지에 이미 반영됨) */
	--idc-feat-veil-hover: rgba(70, 70, 70, .42); /* hover 시 덮이는 회색 막 */
	font-family: var(--idc-sans);
	background-color: #2b2b2b;
}

.idc-feat__list{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	max-width: 1920px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.idc-feat__item{
	position: relative;
	height: var(--idc-feat-h);
	overflow: hidden;
}

.idc-feat__media{
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.idc-feat__bg{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform 1s cubic-bezier(.22, .61, .36, 1);
	will-change: transform;
}

/* 회색 오버레이 — hover 시 덮인다 */
.idc-feat__media::after{
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--idc-feat-veil);
	transition: background-color .5s ease;
	pointer-events: none;
}

.idc-feat__item:hover .idc-feat__bg,
.idc-feat__item:focus-within .idc-feat__bg{ transform: scale(1.09); }

.idc-feat__item:hover .idc-feat__media::after,
.idc-feat__item:focus-within .idc-feat__media::after{
	background-color: var(--idc-feat-veil-hover);
}

.idc-feat__body{
	position: relative;
	z-index: 2;
	padding: 222px 20px 0;
	text-align: center;
	color: #ffffff;
}

.idc-feat__icon{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 72px;              /* 시안 아이콘 영역 y 222~294 */
	margin: 0;
}

.idc-feat__icon img{
	display: block;
	height: auto;
	max-width: 100%;
}

.idc-feat__title{
	margin: 34px 0 0;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.02em;
}

.idc-feat__desc{
	margin: 18px 0 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;         /* 시안 행 피치 30px */
	letter-spacing: 0.01em;
}

/* ============================================================
 * 3. 진료과목 (벽돌식 레이아웃)
 * ============================================================ */

.idc-svc{
	--idc-svc-veil: rgba(24, 24, 24, .46);       /* 기본 : 어둡게 덮는다 */
	--idc-svc-veil-hover: rgba(24, 24, 24, .18); /* hover : 옅어진다 */
	padding: 162px 0 100px;
	background-color: #ffffff;
	font-family: var(--idc-sans);
}

.idc-svc__head{
	max-width: 1400px;
	margin: 0 auto;
	text-align: center;
}

.idc-svc__label{
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.40em;
	text-indent: 0.40em;      /* 자간 때문에 우측으로 밀리는 만큼 보정 */
	color: #cccccc;
}

.idc-svc__title{
	margin: 12px 0 0;
	font-size: 38px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: var(--idc-text);
}

/* ── 벽돌 그리드 : 1400 x 890 비율 캔버스 ── */
.idc-svc__grid{
	position: relative;
	width: 100%;
	max-width: 1400px;
	margin: 86px auto 0;
	aspect-ratio: 1400 / 890;
}

.idc-svc__tile{
	position: absolute;
	left: var(--idc-x);
	top: var(--idc-y);
	width: var(--idc-w);
	height: var(--idc-h);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	text-decoration: none;
	background-color: #2b2b2b;
}

.idc-svc__media{
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.idc-svc__img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(1);
	transform: scale(1);
	transition: filter .6s ease, transform 1s cubic-bezier(.22, .61, .36, 1);
	will-change: transform, filter;
}

/* 어두운 막 — hover 시 옅어진다 */
.idc-svc__media::after{
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--idc-svc-veil);
	transition: background-color .6s ease;
	pointer-events: none;
}

.idc-svc__tile:hover .idc-svc__img,
.idc-svc__tile:focus-visible .idc-svc__img{
	filter: grayscale(0);          /* 컬러 사진으로 전환 */
	transform: scale(1.08);        /* zoom */
}

.idc-svc__tile:hover .idc-svc__media::after,
.idc-svc__tile:focus-visible .idc-svc__media::after{
	background-color: var(--idc-svc-veil-hover);
}

.idc-svc__name{
	position: relative;
	z-index: 2;
	padding: 0 12px;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.02em;
	color: #ffffff;
	text-align: center;
	text-shadow: 0 2px 10px rgba(0, 0, 0, .45);
	pointer-events: none;
}

/* ============================================================
 * 4·5. 미디어 슬라이더 (치료 사례 / 병원 둘러보기) — 공용
 * ============================================================ */

.idc-mslider{
	--idc-slide-w: 450px;      /* 활성 슬라이드 폭 */
	--idc-slide-h: 622px;      /* 활성 슬라이드 높이 */
	--idc-slide-scale: 0.786;  /* 비활성 슬라이드 축소율 */
	--idc-slide-gap: 20px;
	padding: 96px 0 80px;
	background-color: #ffffff;
	font-family: var(--idc-sans);
	overflow: hidden;
}

.idc-mslider--case{
	--idc-slide-w: 450px;
	--idc-slide-h: 622px;
	--idc-slide-scale: 0.786;
}

.idc-mslider--clinic{
	--idc-slide-w: 750px;
	--idc-slide-h: 484px;
	--idc-slide-scale: 0.851;
	padding-top: 79px;
}

/* ── 헤더 ── */
.idc-mslider__head{
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 24px;
	text-align: center;
}

.idc-mslider__label{
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.40em;
	text-indent: 0.40em;
	color: #cccccc;
}

.idc-mslider__title{
	margin: 12px 0 0;
	font-size: 38px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: var(--idc-text);
}

.idc-mslider--clinic .idc-mslider__title{ margin-top: 0; }

.idc-mslider__desc{
	margin: 21px 0 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: #6b6b6b;
}

/* ── 인디케이터 : 원형 · 활성 시 가로로 늘어남 ── */
.idc-mslider__pager{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 44px;
}

.idc-mslider__pager .swiper-pagination-bullet{
	width: 10px;
	height: 10px;
	margin: 0 !important;
	border-radius: 999px;          /* 원형 */
	background-color: #b0b0b0;
	opacity: 1;
	transition: width .35s ease, background-color .35s ease;
}

.idc-mslider__pager .swiper-pagination-bullet-active{
	width: 44px;                   /* 활성 : 가로로 늘어난 원형 */
	background-color: #44daff;
}

/* ── 슬라이더 ── */
.idc-mslider__viewport{
	margin-top: 32px;
}

.idc-mslider__swiper{
	width: 100%;
	height: var(--idc-slide-h);
	overflow: visible;             /* 좌우 슬라이드가 화면 끝까지 보이도록 */
}

.idc-mslider__swiper .swiper-wrapper{
	align-items: center;           /* 크기가 다른 슬라이드를 세로 중앙 정렬 */
}

.idc-mslider__slide{
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(var(--idc-slide-w) * var(--idc-slide-scale));
	height: calc(var(--idc-slide-h) * var(--idc-slide-scale));
	overflow: hidden;
	background-color: #d0d0d0;
	transition: width .5s ease, height .5s ease;
}

.idc-mslider__slide.swiper-slide-active{
	width: var(--idc-slide-w);
	height: var(--idc-slide-h);
}

.idc-mslider__img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.idc-mslider__placeholder{
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0.02em;
	color: #6b6b6b;
	text-align: center;
}

/* ── 버튼 ── */
.idc-mslider__foot{
	margin-top: 28px;
	text-align: center;
}

.idc-mslider__btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-width: 366px;
	min-height: 62px;
	padding: 0 28px;
	border-radius: 6px;
	background-color: #f0f0f0;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: #424242;
	text-decoration: none;
	transition: background-color .3s ease, color .3s ease;
}

.idc-mslider__btn:hover,
.idc-mslider__btn:focus-visible{
	background-color: #e2e2e2;
	color: #1f1f1f;
}

.idc-mslider__btn-arrow{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 8px;
	border-color: transparent transparent transparent #f0a04b;
}

/* ============================================================
 * 6. 진료안내 (지도 + 진료시간)
 * ============================================================ */

.idc-access{
	--idc-accent: #23b1d5;                 /* 시안 강조색 */
	padding: 111px 0 98px;
	background-color: #ffffff;
	font-family: var(--idc-sans);
	color: var(--idc-text);
}

.idc-access__head{ text-align: center; }

.idc-access__title{
	margin: 0;
	font-size: 38px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
}

.idc-access__inner{
	width: min(1100px, 100% - 48px);       /* 시안 지도 폭 1100px */
	margin: 0 auto;
}

/* ── 지도 ── */
.idc-access__map{
	position: relative;
	margin-top: 72px;
	aspect-ratio: 1100 / 519;
	background-color: #eaeaea;
	overflow: hidden;
}

.idc-access__map iframe{
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.idc-access__map-link{
	position: absolute;
	right: 10px;
	bottom: 10px;
	padding: 7px 14px;
	border-radius: 3px;
	background-color: rgba(255, 255, 255, .92);
	box-shadow: 0 1px 4px rgba(0, 0, 0, .22);
	font-size: 13px;
	font-weight: 500;
	color: #3a3a3a;
	text-decoration: none;
	transition: background-color .25s ease;
}

.idc-access__map-link:hover,
.idc-access__map-link:focus-visible{ background-color: #ffffff; }

/* ── 하단 2단 ── */
.idc-access__cols{
	display: grid;
	grid-template-columns: 1fr 573px;      /* 시안 : 좌 502 / 간격 25 / 우 573 */
	gap: 25px;
	margin-top: 64px;
}

/* 좌 : 주소 · 주차 */
.idc-access__eyebrow{
	margin: 0;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.02em;
}

.idc-access__lead{
	margin: 4px 0 0;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.02em;
}

.idc-access__addr{
	display: block;
	margin: 15px 0 0;
	font-style: normal;
	font-size: 20px;
	font-weight: 400;
	line-height: 32px;
	letter-spacing: 0.01em;
}

.idc-access__addr span{ display: block; }

.idc-access__station{ color: var(--idc-accent); }

.idc-access__parking-title{
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 44px 0 0;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.02em;
}

.idc-access__parking-icon{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 6px;
	background-color: var(--idc-accent);
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	color: #ffffff;
}

.idc-access__parking-text{
	margin: 28px 0 0;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.01em;
}

.idc-access__parking-note{
	margin: 0;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.01em;
	color: var(--idc-accent);
}

/* 우 : 진료시간 */
.idc-access__hours-title{
	margin: 0;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.02em;
}

.idc-hours{
	width: 100%;
	margin-top: 23px;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.3;
}

.idc-hours th,
.idc-hours td{
	padding: 17px 0;
	font-weight: 400;
	text-align: center;
	vertical-align: middle;
}

.idc-hours thead th{
	background-color: #daf8ff;             /* 시안 헤더 밴드 */
	color: #6b6b6b;
}

.idc-hours .idc-hours__label{
	width: 32%;                            /* 시안 183 / 573 */
	padding-left: 13px;
	text-align: left;
}

.idc-hours thead .idc-hours__label{ text-align: center; color: #6b6b6b; }

.idc-hours tbody tr{ border-bottom: 1px solid #ececec; }

.idc-hours tbody .idc-hours__label{ color: var(--idc-text); }

.idc-hours td.is-open,
.idc-hours td.is-closed{ color: var(--idc-text); }

.idc-access__notes{
	margin: 27px 0 0;
	padding: 0;
	list-style: none;
	font-size: 16px;
	font-weight: 400;
	line-height: 26px;
	letter-spacing: 0.01em;
	color: #4a4a4a;
}

/* 스크린리더 전용 */
.idc-access .screen-reader-text{
	position: absolute;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* ============================================================
 * 7. 전화 예약 CTA 띠
 * ============================================================ */

.idc-callbar{
	--idc-callbar-h: 284px;
	--idc-callbar-cyan: #5adfff;
	background-color: #6f6f6f;
	background-image: var(--idc-callbar-bg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	font-family: var(--idc-sans);
}

.idc-callbar__link{
	display: block;
	text-decoration: none;
	color: inherit;
}

.idc-callbar__inner{
	display: flex;
	align-items: center;
	gap: 38px;                             /* 아이콘 우측 520 → 텍스트 560 */
	width: min(1100px, 100% - 48px);
	min-height: var(--idc-callbar-h);
	margin: 0 auto;
	padding: 33px 0 20px;                  /* 시안은 세로 중앙보다 약 6px 아래 */
}

.idc-callbar__icon{ flex: 0 0 auto; }

.idc-callbar__icon img{
	display: block;
	width: 111px;                          /* 원본 230px 의 시안 표시 크기 */
	height: auto;
}

.idc-callbar__text{
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.idc-callbar__lead{
	font-size: 31px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: #ffffff;
}

.idc-callbar__tel{
	font-size: 58px;
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: 0.01em;
	color: var(--idc-callbar-cyan);
}

/* 클릭 가능함을 알리는 최소한의 피드백 */
.idc-callbar__link:hover .idc-callbar__tel,
.idc-callbar__link:focus-visible .idc-callbar__tel{ color: #ffffff; }

.idc-callbar__link:hover .idc-callbar__icon img,
.idc-callbar__link:focus-visible .idc-callbar__icon img{
	transform: scale(1.05);
	transition: transform .3s ease;
}

/* ============================================================
 * 반응형
 * ============================================================ */

@media (max-width: 1679px){
	.idc-greeting{ padding: 110px 0 96px; }
	.idc-greeting__photo{ padding-top: 150px; }
	.idc-greeting__photo img{ width: 30vw; }
	.idc-greeting__label{ font-size: 34px; }
	.idc-greeting__lead{ font-size: 28px; margin-top: 44px; }
	.idc-greeting__text{ font-size: 17px; line-height: 30px; }
	.idc-greeting__clinic{ font-size: 23px; }
	.idc-greeting__doctor{ font-size: 17px; }

	.idc-feat{ --idc-feat-h: 580px; }
	.idc-feat__body{ padding-top: 186px; }
	.idc-feat__icon{ height: 64px; }
	.idc-feat__title{ font-size: 26px; margin-top: 28px; }
	.idc-feat__desc{ font-size: 15px; line-height: 27px; margin-top: 14px; }

	.idc-svc{ padding: 130px 24px 80px; }
	.idc-svc__title{ font-size: 34px; }
	.idc-svc__grid{ margin-top: 64px; }
	.idc-svc__name{ font-size: 26px; }

	.idc-mslider{ padding: 80px 0 70px; }
	.idc-mslider--clinic{ padding-top: 66px; }
	.idc-mslider__title{ font-size: 34px; }
	.idc-mslider__desc{ font-size: 17px; }

	.idc-access{ padding: 96px 0 80px; }
	.idc-access__title{ font-size: 34px; }
	.idc-access__map{ margin-top: 58px; }
	.idc-access__cols{ margin-top: 56px; }
}

@media (max-width: 1279px){
	.idc-greeting{ padding: 90px 0 80px; }
	.idc-greeting__photo{ flex-basis: 40%; padding-right: 4%; padding-top: 110px; }
	.idc-greeting__body{ padding-right: 5%; }
	.idc-greeting__label{ font-size: 30px; }
	.idc-greeting__lead{ font-size: 25px; }
	.idc-greeting__text{ font-size: 16px; line-height: 28px; }

	.idc-feat{ --idc-feat-h: 520px; }
	.idc-feat__body{ padding: 150px 14px 0; }
	.idc-feat__icon{ height: 56px; }
	.idc-feat__icon img{ max-height: 100%; width: auto; }
	.idc-feat__title{ font-size: 22px; margin-top: 24px; }
	.idc-feat__desc{ font-size: 14px; line-height: 25px; }

	.idc-svc{ padding: 100px 24px 70px; }
	.idc-svc__label{ font-size: 14px; }
	.idc-svc__title{ font-size: 30px; margin-top: 16px; }
	.idc-svc__grid{ margin-top: 52px; }
	.idc-svc__name{ font-size: 22px; }

	.idc-mslider{ padding: 70px 0 60px; --idc-slide-w: 380px; --idc-slide-h: 525px; }
	.idc-mslider--clinic{ padding-top: 56px; --idc-slide-w: 620px; --idc-slide-h: 400px; }
	.idc-mslider__label{ font-size: 14px; }
	.idc-mslider__title{ font-size: 30px; }
	.idc-mslider__desc{ font-size: 16px; margin-top: 16px; }
	.idc-mslider__pager{ margin-top: 34px; }
	.idc-mslider__viewport{ margin-top: 26px; }
	.idc-mslider__btn{ min-width: 320px; min-height: 56px; font-size: 17px; }

	.idc-access{ padding: 80px 0 70px; }
	.idc-access__title{ font-size: 30px; }
	.idc-access__map{ margin-top: 46px; }
	.idc-access__cols{ grid-template-columns: 1fr 480px; gap: 20px; margin-top: 44px; }
	.idc-access__eyebrow{ font-size: 21px; }
	.idc-access__lead{ font-size: 24px; }
	.idc-access__addr{ font-size: 18px; line-height: 30px; }
	.idc-access__parking-title{ font-size: 24px; margin-top: 42px; }
	.idc-access__parking-text, .idc-access__parking-note{ font-size: 18px; }
	.idc-access__hours-title{ font-size: 24px; }
	.idc-hours{ font-size: 18px; }
	.idc-hours th, .idc-hours td{ padding: 15px 0; }
}

/* 1023 이하 — 인사말 세로 배치 / 강점 2×2 */
@media (max-width: 1023px){
	.idc-greeting{ padding: 72px 0 64px; }
	.idc-greeting__inner{ flex-direction: column; align-items: center; padding: 0 24px; }
	.idc-greeting__photo{ flex: 0 0 auto; justify-content: center; padding: 0 0 32px; }
	.idc-greeting__photo img{ width: 300px; }
	.idc-greeting__body{ width: 100%; max-width: 720px; padding-right: 0; }
	.idc-greeting__text br{ display: none; }   /* 시안용 강제 줄바꿈 해제 */
	.idc-greeting__label{ font-size: 26px; }
	.idc-greeting__lead{ font-size: 22px; margin-top: 24px; }
	.idc-greeting__text{ font-size: 16px; line-height: 2; margin-top: 20px; }
	.idc-greeting__sign{ margin-top: 40px; }
	.idc-greeting__clinic{ font-size: 20px; }
	.idc-greeting__doctor{ font-size: 16px; }

	.idc-feat{ --idc-feat-h: 440px; }
	.idc-feat__list{ grid-template-columns: repeat(2, 1fr); }
	.idc-feat__body{ padding: 110px 20px 0; }
	.idc-feat__title{ font-size: 21px; }
	.idc-feat__desc{ font-size: 14px; line-height: 24px; }
	.idc-feat__item:hover .idc-feat__bg{ transform: none; }  /* 터치 기기 확대 해제 */

	/* 벽돌 배치 해제 — 2열 균등 그리드로 흐르게 한다 */
	.idc-svc{ padding: 80px 20px 60px; }
	.idc-svc__title{ font-size: 26px; }
	.idc-svc__grid{
		position: static;
		aspect-ratio: auto;
		margin-top: 40px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}
	.idc-svc__tile{
		position: relative;
		left: auto; top: auto;
		width: auto; height: auto;
		aspect-ratio: 4 / 3;
	}
	.idc-svc__name{ font-size: 20px; }
	.idc-svc__tile:hover .idc-svc__img{ transform: none; }  /* 터치 기기 확대 해제 */

	.idc-mslider{ padding: 60px 0 50px; --idc-slide-w: 300px; --idc-slide-h: 415px; --idc-slide-scale: .84; }
	.idc-mslider--clinic{ padding-top: 46px; --idc-slide-w: 460px; --idc-slide-h: 297px; --idc-slide-scale: .88; }
	.idc-mslider__title{ font-size: 26px; }
	.idc-mslider__desc{ font-size: 15px; }
	.idc-mslider__pager .swiper-pagination-bullet{ width: 9px; height: 9px; }
	.idc-mslider__pager .swiper-pagination-bullet-active{ width: 34px; }
	.idc-mslider__btn{ min-width: 280px; min-height: 52px; font-size: 16px; }
	.idc-mslider__placeholder{ font-size: 16px; }

	/* 지도 아래 2단 → 1단 */
	.idc-access{ padding: 80px 0 60px; }
	.idc-access__title{ font-size: 26px; }
	.idc-access__map{ margin-top: 36px; aspect-ratio: 4 / 3; }
	.idc-access__cols{ grid-template-columns: 1fr; gap: 44px; margin-top: 36px; }
	.idc-access__eyebrow{ font-size: 19px; }
	.idc-access__lead{ font-size: 22px; }
	.idc-access__addr{ font-size: 17px; line-height: 28px; margin-top: 20px; }
	.idc-access__parking-title{ font-size: 22px; margin-top: 34px; }
	.idc-access__parking-icon{ width: 30px; height: 30px; font-size: 19px; }
	.idc-access__parking-text, .idc-access__parking-note{ font-size: 17px; }
	.idc-access__hours-title{ font-size: 22px; }
	.idc-hours{ font-size: 17px; margin-top: 22px; }
	.idc-hours th, .idc-hours td{ padding: 13px 0; }
	.idc-hours .idc-hours__label{ width: 34%; }
	.idc-access__notes{ font-size: 15px; line-height: 24px; }
}

/* 767 이하 — 강점 1열 */
@media (max-width: 767px){
	.idc-greeting{ padding: 56px 0 48px; }
	.idc-greeting__inner{ padding: 0 20px; }
	.idc-greeting__photo img{ width: 230px; }
	.idc-greeting__label{ font-size: 22px; }
	.idc-greeting__lead{ font-size: 19px; }
	.idc-greeting__text{ font-size: 15px; line-height: 1.95; }
	.idc-greeting__clinic{ font-size: 18px; }
	.idc-greeting__doctor{ font-size: 15px; }

	.idc-feat{ --idc-feat-h: 340px; }
	.idc-feat__list{ grid-template-columns: 1fr; }
	.idc-feat__body{ padding: 70px 24px 0; }
	.idc-feat__icon{ height: 48px; }
	.idc-feat__title{ font-size: 19px; margin-top: 18px; }
	.idc-feat__desc{ font-size: 13.5px; line-height: 23px; margin-top: 10px; }
	.idc-feat__desc br{ display: none; }

	.idc-svc{ padding: 60px 20px 48px; }
	.idc-svc__label{ font-size: 12px; letter-spacing: 0.26em; text-indent: 0.26em; }
	.idc-svc__title{ font-size: 23px; margin-top: 12px; }
	.idc-svc__grid{ grid-template-columns: 1fr; gap: 12px; margin-top: 32px; }
	.idc-svc__tile{ aspect-ratio: 16 / 10; }
	.idc-svc__name{ font-size: 19px; }

	.idc-mslider{ padding: 48px 0 42px; --idc-slide-w: 230px; --idc-slide-h: 318px; --idc-slide-scale: .88; }
	.idc-mslider--clinic{ padding-top: 38px; --idc-slide-w: 300px; --idc-slide-h: 194px; }
	.idc-mslider__label{ font-size: 12px; letter-spacing: 0.26em; text-indent: 0.26em; }
	.idc-mslider__title{ font-size: 23px; margin-top: 10px; }
	.idc-mslider__desc{ font-size: 14px; line-height: 1.75; margin-top: 12px; }
	.idc-mslider__pager{ margin-top: 26px; gap: 6px; }
	.idc-mslider__viewport{ margin-top: 20px; }
	.idc-mslider__btn{ min-width: 240px; min-height: 48px; font-size: 15px; }
	.idc-mslider__placeholder{ font-size: 14px; }

	.idc-access{ padding: 56px 0 44px; }
	.idc-access__inner{ width: min(1100px, 100% - 40px); }
	.idc-access__title{ font-size: 23px; }
	.idc-access__map{ margin-top: 28px; aspect-ratio: 1 / 1; }
	.idc-access__cols{ gap: 34px; margin-top: 30px; }
	.idc-access__eyebrow{ font-size: 17px; }
	.idc-access__lead{ font-size: 19px; }
	.idc-access__addr{ font-size: 15px; line-height: 26px; }
	.idc-access__parking-title{ font-size: 19px; gap: 9px; }
	.idc-access__parking-icon{ width: 26px; height: 26px; font-size: 16px; border-radius: 5px; }
	.idc-access__parking-text, .idc-access__parking-note{ font-size: 15px; }
	.idc-access__hours-title{ font-size: 19px; }
	.idc-hours{ font-size: 14px; }
	.idc-hours th, .idc-hours td{ padding: 11px 0; }
	.idc-hours .idc-hours__label{ width: 38%; padding-left: 6px; }
	.idc-access__notes{ font-size: 13px; line-height: 22px; }
}

/* ============================================================
 * 1-B. 의료진 소개 — 편지형 (template-parts/main/doctor-letter.php)
 *   시안 1920 × 2831 기준. 배경(편지지) 이미지 비율에 맞춰 고정 배치한다.
 * ============================================================ */

.idc-letter{
	position: relative;
	aspect-ratio: 1920 / 2831;
	background-color: #f8f3ec;
	background-image: var(--idc-letter-bg);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100% 100%;
	font-family: var(--idc-sans);
	color: #4a4a4a;
	overflow: hidden;
}

/* ── 상단 제목 ── */
.idc-letter__head{
	position: absolute;
	top: 3.5%;
	left: 0;
	right: 0;
	text-align: center;
}

.idc-letter__eyebrow{
	margin: 0;
	font-size: 1.0vw;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.34em;
	text-indent: 0.34em;
	color: #b6aea3;
}

.idc-letter__title{
	margin: 0.9vw 0 0;
	font-size: 2.4vw;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: #5a5854;
}

.idc-letter__rule{
	display: block;
	width: 2.3vw;
	height: 2px;
	margin: 1.1vw auto 0;
	background-color: #8d887f;
}

/* ── 편지 본문 ── */
.idc-letter__paper{
	position: absolute;
	top: 15.3%;
	left: 16.5%;
	width: 67.2%;
	text-align: center;
	font-size: 1.52vw;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: -0.02em;
	color: #4f4d4a;
	word-break: keep-all;
}

.idc-letter__para{
	margin: 0 0 1.35em;
}

/* 모바일 전용 줄바꿈 — PC 에서는 숨김 */
.idc-letter__br--mo{ display: none; }

.idc-letter__para:last-child{ margin-bottom: 0; }

/* ── 하단 : 사진 + 약력 ── */
/* 하단 : 사진 + 약력 — 한 줄로 묶어 아래쪽에 정렬한다 (시안 기준) */
.idc-letter__foot{
	position: absolute;
	left: 14%;
	right: 5%;
	bottom: 3.5%;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	gap: 3.5%;
}

/* 사진 — 원본(551 × 791) 크기로 출력하고, 화면이 좁아지면 비율에 맞춰 축소 */
.idc-letter__photo{
	flex: 0 0 auto;
	width: min(551px, 30vw);
	margin-bottom: 0;
}

.idc-letter__photo img{
	display: block;
	width: 100%;
	height: auto;
}

.idc-letter__profile{
	flex: 1 1 auto;
	min-width: 0;
	padding-bottom: 7%;     /* 사진 아래끝보다 위에 놓이도록 */
}

.idc-letter__name{
	display: flex;
	align-items: baseline;
	gap: 0.6vw;
	margin: 0 0 0.9vw;
}

.idc-letter__name strong{
	font-size: 2.35vw;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: #3f3d3a;
}

.idc-letter__name span{
	font-size: 1.22vw;
	font-weight: 400;
	color: #6f6b66;
}

.idc-letter__badge{
	display: inline-flex;
	align-items: center;
	gap: 0.55vw;
	margin: 0 0 1.35vw;
	padding: 0.85vw 1.5vw 0.85vw 1.1vw;
	border-radius: 999px;
	background-color: #3a2609;
	font-size: 1.42vw;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: #ffffff;
	white-space: nowrap;
}

.idc-letter__badge-logo{
	width: 1.75vw;
	height: 1.75vw;
	flex-shrink: 0;
}

.idc-letter__career{
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 1.2vw;
	line-height: 1.85;
	color: #6a6660;
}

/* ── 반응형 : 1023px 이하는 비율 고정을 풀고 일반 흐름으로 ── */
@media (max-width: 1023px){
	.idc-letter{
		aspect-ratio: auto;
		padding: 64px 20px 56px;
		background-image: none;
		background-color: #faf5ee;
	}

	.idc-letter__head{
		position: static;
		margin-bottom: 32px;
	}

	.idc-letter__eyebrow{ font-size: 13px; }
	.idc-letter__title{ font-size: 28px; margin-top: 10px; }
	.idc-letter__rule{ width: 34px; margin-top: 14px; }

	.idc-letter__paper{
		position: static;
		width: 100%;
		max-width: 640px;
		margin: 0 auto;
		padding: 36px 22px;
		border-radius: 4px;
		background-color: #ffffff;
		box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
		font-size: 16px;
		line-height: 1.95;
	}

	.idc-letter__foot{
		position: static;
		display: flex;
		flex-direction: column;
		align-items: center;
		max-width: 640px;
		margin: 28px auto 0;
		gap: 0;
	}

	.idc-letter__photo{
		position: static;
		width: min(300px, 62vw);
		margin-bottom: 0;
	}

	.idc-letter__profile{
		position: static;
		max-width: 100%;
		margin-top: 8px;
		padding-bottom: 0;
		text-align: center;
	}

	.idc-letter__name{ justify-content: center; gap: 8px; margin-bottom: 12px; }
	.idc-letter__name strong{ font-size: 25px; }
	.idc-letter__name span{ font-size: 16px; }

	.idc-letter__badge{
		gap: 8px;
		margin-bottom: 16px;
		padding: 10px 18px 10px 14px;
		font-size: 15px;
		white-space: normal;
	}

	.idc-letter__badge-logo{ width: 22px; height: 22px; }

	.idc-letter__career{ font-size: 15px; }
}

/* ── 모바일 전용 레이아웃 (시안 720 기준) ────────────────
   배경 리본 장식 : assets/images/main/mobile/doctor-letter-deco.jpg
   사진 · 배지 로고 : mobile/ 폴더의 모바일 전용 이미지 (템플릿의 <picture>) */
@media (max-width: 767px){
	.idc-letter{
		padding: 46px 0 0;
		background-color: #f8f3ee;
		background-image: var(--idc-letter-bg-mo);
		background-repeat: no-repeat;
		background-position: center bottom;
		background-size: 100% auto;
	}

	/* 상단 제목 */
	.idc-letter__head{ margin-bottom: 26px; padding: 0 20px; }
	.idc-letter__eyebrow{ font-size: 11px; letter-spacing: 0.28em; text-indent: 0.28em; }
	.idc-letter__title{ font-size: 20px; margin-top: 8px; }
	.idc-letter__rule{ width: 42px; height: 2px; margin-top: 12px; }

	/* 편지지 */
	.idc-letter__paper{
		width: 92%;
		max-width: none;
		margin: 0 auto;
		padding: 34px 4px 45px;
		border-radius: 0;
		background-color: #ffffff;
		box-shadow: 0 6px 22px rgba(0, 0, 0, .05);
		font-size: clamp(13px, 3.65vw, 17px);
		line-height: 1.85;
		letter-spacing: -0.05em;
	}

	/* 모바일 시안 줄바꿈 — PC 줄바꿈은 그대로 두고, | 지점에서 한 번 더 끊는다 */
	.idc-letter__br--mo{ display: inline; }

	.idc-letter__para{ margin-bottom: 1.15em; }

	/* 하단 : 사진 → 배지 → 약력 (세로) */
	.idc-letter__foot{
		max-width: none;
		margin: 0;
		padding: 0 20px 44px;
	}

	.idc-letter__photo{
		width: min(66vw, 300px);
		margin: 6px 0 0;
	}

	.idc-letter__profile{ margin-top: 0; }

	/* 이름 줄은 모바일 시안에 없음 */
	.idc-letter__name{ display: none; }

	.idc-letter__badge{
		gap: 7px;
		margin: 0 auto 14px;
		padding: 9px 20px 9px 16px;
		font-size: clamp(12px, 3.4vw, 15px);
		white-space: nowrap;
	}

	.idc-letter__badge-logo{ width: 19px; height: 19px; }

	.idc-letter__career{
		font-size: clamp(12px, 3.25vw, 14px);
		line-height: 1.95;
		color: #7b756c;
	}
}

@media (max-width: 380px){
	.idc-letter__paper{ padding: 28px 14px 32px; }
	.idc-letter__badge{ padding: 8px 14px 8px 12px; letter-spacing: -0.04em; }
}

/* ============================================================
 * 2-B. 블로그 섹션 (template-parts/main/blog-posts.php)
 * ============================================================ */

.idc-blog{
	padding: 110px 0 120px;
	background-color: #ffffff;
	font-family: var(--idc-sans);
}

.idc-blog__head{
	max-width: 1400px;
	margin: 0 auto 46px;
	padding: 0 24px;
	text-align: center;
}

.idc-blog__title{
	margin: 0;
	font-size: 44px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.01em;
	color: #5a5854;
	word-break: keep-all;
}

.idc-blog__desc{
	margin: 16px 0 0;
	font-size: 19px;
	line-height: 1.6;
	color: #7b7770;
	word-break: keep-all;
}

/* 뷰포트 : 카드 4장 + 좌우 화살표 */
.idc-blog__viewport{
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 1420px;
	margin: 0 auto;
	padding: 0 104px;
}

.idc-blog__swiper{ overflow: hidden; }

.idc-blog__slide{ height: auto; }

.idc-blog__card{
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid #ececec;
	background-color: #ffffff;
	color: inherit;
	text-decoration: none;
	transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}

a.idc-blog__card:hover,
a.idc-blog__card:focus-visible{
	border-color: #dcd6cc;
	box-shadow: 0 12px 28px rgba(0, 0, 0, .08);
	transform: translateY(-4px);
}

.idc-blog__thumb{
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background-color: #eeeeee;
}

.idc-blog__thumb img{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}

a.idc-blog__card:hover .idc-blog__thumb img{ transform: scale(1.05); }

.idc-blog__placeholder{
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 19px;
	color: #9e9e9e;
}

.idc-blog__body{
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: 160px;
	padding: 22px 20px;
}

.idc-blog__card-title{
	margin: 0;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.5;
	color: #4a4845;
	display: -webkit-box;
	-webkit-line-clamp: 2;
			line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	word-break: keep-all;
}

.idc-blog__card-excerpt{
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
	color: #8b8781;
	display: -webkit-box;
	-webkit-line-clamp: 2;
			line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	word-break: keep-all;
}

.idc-blog__card-date{
	margin-top: auto;
	font-size: 14px;
	color: #a5a19b;
}

/* 좌우 화살표 (블로그 · 둘러보기 공용 톤) */
.idc-blog__nav,
.idc-tour__nav{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #6e6b66;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	transition: color .2s ease, transform .2s ease, opacity .2s ease;
}

.idc-blog__nav--prev,
.idc-tour__nav--prev{ left: 12px; }

.idc-blog__nav--next,
.idc-tour__nav--next{ right: 12px; }

.idc-blog__nav:hover,
.idc-tour__nav:hover{ color: #2f2d2a; }

.idc-blog__nav--prev:hover,
.idc-tour__nav--prev:hover{ transform: translateY(-50%) translateX(-3px); }

.idc-blog__nav--next:hover,
.idc-tour__nav--next:hover{ transform: translateY(-50%) translateX(3px); }

.idc-blog__nav.swiper-button-disabled,
.idc-tour__nav.swiper-button-disabled{
	opacity: .25;
	pointer-events: none;
}

/* 더보기 */
.idc-blog__foot{
	margin-top: 54px;
	text-align: center;
}

.idc-blog__more{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 210px;
	min-height: 60px;
	padding: 0 30px;
	border: 1px solid #6e6b66;
	background-color: transparent;
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: #4a4845;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease;
}

.idc-blog__more:hover,
.idc-blog__more:focus-visible{
	background-color: #4a4845;
	color: #ffffff;
}

@media (max-width: 1279px){
	.idc-blog{ padding: 88px 0 96px; }
	.idc-blog__title{ font-size: 36px; }
	.idc-blog__viewport{ padding: 0 72px; }
	.idc-blog__nav,
	.idc-tour__nav{ width: 44px; height: 44px; font-size: 24px; }
}

@media (max-width: 767px){
	.idc-blog{ padding: 64px 0 72px; }
	.idc-blog__head{ margin-bottom: 30px; }
	.idc-blog__title{ font-size: 27px; }
	.idc-blog__desc{ font-size: 16px; }
	.idc-blog__viewport{ padding: 0 40px; }
	.idc-blog__nav,
	.idc-tour__nav{ width: 34px; height: 34px; font-size: 20px; }
	.idc-blog__nav--prev,
	.idc-tour__nav--prev{ left: 2px; }
	.idc-blog__nav--next,
	.idc-tour__nav--next{ right: 2px; }
	.idc-blog__body{ min-height: 0; padding: 14px 12px; gap: 6px; }
	.idc-blog__card-title{ font-size: 15px; }
	.idc-blog__card-excerpt{ font-size: 13px; -webkit-line-clamp: 2; line-clamp: 2; }
	.idc-blog__card-date{ font-size: 12px; }
	.idc-blog__placeholder{ font-size: 15px; }
	.idc-blog__foot{ margin-top: 36px; }
	.idc-blog__more{ min-width: 172px; min-height: 52px; font-size: 16px; }
}

/* ============================================================
 * 2-C. 둘러보기 (template-parts/main/clinic-tour.php)
 * ============================================================ */

.idc-tour{
	padding: 96px 0 110px;
	background-color: #fbf8f3;
	font-family: var(--idc-sans);
}

.idc-tour__head{
	max-width: 1400px;
	margin: 0 auto 52px;
	padding: 0 24px;
	text-align: center;
}

.idc-tour__eyebrow{
	margin: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.34em;
	text-indent: 0.34em;
	color: #b6aea3;
}

.idc-tour__title{
	margin: 14px 0 0;
	font-size: 44px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: #5a5854;
}

.idc-tour__rule{
	display: block;
	width: 44px;
	height: 2px;
	margin: 20px auto 0;
	background-color: #8d887f;
}

.idc-tour__viewport{
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 1560px;
	margin: 0 auto;
	padding: 0 104px;
}

.idc-tour__swiper{ overflow: hidden; }

.idc-tour__slide{
	position: relative;
	overflow: hidden;
	background-color: #eeeae4;
}

.idc-tour__slide img{
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1330 / 890;
	object-fit: cover;
}

.idc-tour__pager{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 26px;
}

.idc-tour__pager .swiper-pagination-bullet{
	width: 9px;
	height: 9px;
	margin: 0 !important;
	background: #cdc6bb;
	opacity: 1;
	transition: width .25s ease, background-color .25s ease;
}

.idc-tour__pager .swiper-pagination-bullet-active{
	width: 26px;
	border-radius: 999px;
	background: #6e6b66;
}

@media (max-width: 1279px){
	.idc-tour{ padding: 80px 0 90px; }
	.idc-tour__title{ font-size: 36px; }
	.idc-tour__eyebrow{ font-size: 15px; }
	.idc-tour__viewport{ padding: 0 72px; }
}

@media (max-width: 767px){
	.idc-tour{ padding: 60px 0 68px; }
	.idc-tour__head{ margin-bottom: 30px; }
	.idc-tour__title{ font-size: 27px; margin-top: 10px; }
	.idc-tour__eyebrow{ font-size: 13px; }
	.idc-tour__rule{ width: 34px; margin-top: 14px; }
	.idc-tour__viewport{ padding: 0 40px; }
	.idc-tour__pager{ margin-top: 18px; }
}

/* ============================================================
 * 2-D. 진료시간 · 오시는 길 (template-parts/main/location.php)
 * ============================================================ */

.idc-loc{
	padding: 96px 0 110px;
	background-color: #f7efe5;
	font-family: var(--idc-sans);
}

.idc-loc__head{
	max-width: 1400px;
	margin: 0 auto 60px;
	padding: 0 24px;
	text-align: center;
}

.idc-loc__eyebrow{
	margin: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.34em;
	text-indent: 0.34em;
	color: #b3a894;
}

.idc-loc__title{
	margin: 14px 0 0;
	font-size: 44px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: #5a5854;
}

.idc-loc__rule{
	display: block;
	width: 44px;
	height: 2px;
	margin: 20px auto 0;
	background-color: #8d887f;
}

.idc-loc__inner{
	box-sizing: border-box;
	width: 100%;
	max-width: 1332px;
	margin: 0 auto;
	padding: 0 24px;
}

.idc-loc__map img{
	display: block;
	width: 100%;
	height: auto;
}

/* 하단 2단 패널 */
.idc-loc__panels{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
}

.idc-loc__panel{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 46px 28px 42px;
	text-align: center;
}

.idc-loc__panel--hours{
	background-color: #ffffff;
	color: #4a4845;
}

.idc-loc__panel--way{
	background-color: #6b4a15;
	color: #ffffff;
}

.idc-loc__panel-title{
	margin: 0 0 26px;
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

/* 진료시간 표 */
.idc-hours-list{
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
	font-size: 19px;
	line-height: 1.4;
	color: #6f6b66;
}

.idc-hours-list__row{
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 0 18px;
}

/* 요일 — 시안처럼 글자를 좌우 끝까지 벌리는 양쪽 정렬 */
.idc-hours-list__row dt{
	justify-self: end;
	display: block;
	width: 9.2em;
	margin: 0;
	font-weight: 500;
	letter-spacing: normal;
	color: #6f6b66;
	white-space: nowrap;
	text-align: justify;
	text-align-last: justify;
	text-justify: inter-character;
}

/* 야간 아이콘도 같은 줄에서 양쪽 정렬에 포함 */
.idc-hours-list__row dt .idc-hours-list__icon{
	display: inline-block;
	vertical-align: -3px;
}

.idc-hours-list__row dd{
	grid-column: 3;
	justify-self: start;
	margin: 0;
	font-weight: 500;
	letter-spacing: 0.01em;
	color: #6f6b66;
	white-space: nowrap;
}

.idc-hours-list__icon{
	width: 17px;
	height: 17px;
	flex-shrink: 0;
}

.idc-loc__notes{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px 14px;
	margin: 24px 0 0;
	font-size: 15px;
	color: #9b958c;
}

/* 오시는 길 */
.idc-loc__address{
	margin: 0;
	font-size: 21px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.01em;
	word-break: keep-all;
}

.idc-loc__divider{
	display: block;
	width: 72%;
	max-width: 330px;
	height: 1px;
	margin: 30px 0;
	background-color: rgba(255, 255, 255, .45);
}

.idc-loc__parking-label{
	margin: 0 0 16px;
	font-size: 19px;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: rgba(255, 255, 255, .88);
}

.idc-loc__parking{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	margin: 0;
	padding: 0 36px;
	border-radius: 999px;
	background-color: #ffffff;
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: #4a4845;
	white-space: nowrap;
}

@media (max-width: 1279px){
	.idc-loc{ padding: 80px 0 90px; }
	.idc-loc__title{ font-size: 36px; }
	.idc-loc__eyebrow{ font-size: 15px; }
	.idc-loc__panel{ padding: 38px 22px 34px; }
	.idc-hours-list{ font-size: 17px; }
	.idc-loc__address{ font-size: 19px; }
}

@media (max-width: 767px){
	.idc-loc{ padding: 60px 0 68px; }
	.idc-loc__head{ margin-bottom: 32px; }
	.idc-loc__title{ font-size: 27px; margin-top: 10px; }
	.idc-loc__eyebrow{ font-size: 13px; }
	.idc-loc__rule{ width: 34px; margin-top: 14px; }
	.idc-loc__inner{ padding: 0 16px; }

	.idc-loc__panels{ grid-template-columns: 1fr; }

	.idc-loc__panel{ padding: 32px 18px 30px; }
	.idc-loc__panel-title{ margin-bottom: 20px; font-size: 21px; }

	.idc-hours-list{ gap: 12px; font-size: 15px; }
	.idc-hours-list__row{ gap: 0 10px; }
	.idc-hours-list__row dt{ width: 8.6em; }

	.idc-loc__notes{ font-size: 13px; margin-top: 18px; }
	.idc-loc__address{ font-size: 17px; }
	.idc-loc__divider{ margin: 22px 0; }
	.idc-loc__parking-label{ font-size: 16px; margin-bottom: 12px; }
	.idc-loc__parking{ min-height: 48px; padding: 0 26px; font-size: 16px; }
}

@media (max-width: 380px){
	.idc-hours-list{ font-size: 14px; }
	.idc-hours-list__row{ gap: 0 8px; }
}

/* 블로그 섹션 2개가 연달아 나올 때 — 대표원장 칼럼은 흰색 배경 */
.idc-blog--column{
	background-color: #ffffff;
	background-image: none;
}

.idc-blog--column + .idc-blog--story{
	padding-top: 96px;
}

@media (max-width: 767px){
	.idc-blog--column + .idc-blog--story{ padding-top: 56px; }
}
