/* 동탄점 커리큘럼 5개 페이지 — 첫 페이지와 같은 화이트/그레이 밝은 톤.
   body.dt-curr 는 functions.php 에서 커리큘럼 페이지에만 붙입니다.
   dt-curr-banner / body / cta / service / quote, dt-curr-intro, dt-step 은 Elementor 요소의 CSS 클래스입니다. */

body.dt-curr {
	--dtc-accent: #e96651;
	--dtc-ink: #1b1f29;
	--dtc-body: #4b5162;
	--dtc-gray: #9097aa;
	--dtc-line: #e1e5ea;
	--dtc-bg-gray: #eef0f3;
	--dtc-radius: 16px;
	--dtc-shadow: 0 1px 2px rgba(27, 31, 41, .04), 0 4px 14px rgba(27, 31, 41, .05);
	--dtc-en: 'Lexend', 'DM Sans', sans-serif;
	background: #fff;
}
body.dt-curr .site-content,
body.dt-curr #content { background: #fff; }

/* ① 배너: 사진이 살아 보이게 왼쪽만 진한 가로 그라데이션, 글자는 왼쪽 정렬 */
.dt-curr .elementor .dt-curr-banner {
	min-height: 500px;
	--min-height: 500px;
	--justify-content: flex-start;
	justify-content: flex-start !important;
	align-items: center !important;
	--align-items: center;
	background-color: #f5f6f8 !important;
	border-bottom: 1px solid #e6e9ee;
}
.dt-curr .elementor .dt-curr-banner::before,
.dt-curr .elementor .dt-curr-banner > .elementor-background-overlay {
	background: linear-gradient(90deg, rgba(245,246,248,.96) 0%, rgba(245,246,248,.93) 34%, rgba(245,246,248,.55) 58%, rgba(245,246,248,.12) 82%, rgba(245,246,248,.05) 100%) !important;
	--overlay-opacity: 1 !important;
	opacity: 1 !important;
}
.dt-curr .elementor .dt-curr-banner__inner {
	max-width: 640px !important;
	width: 100% !important;
	--width: 100%;
	--gap: 10px;
	gap: 10px;
	align-items: flex-start !important;
	margin-right: auto;
}
.dt-curr .dt-curr-banner .elementor-widget-heading,
.dt-curr .dt-curr-banner .elementor-heading-title,
.dt-curr .dt-curr-banner .elementor-widget-text-editor { text-align: left !important; }
.dt-curr .dt-curr-banner .elementor-heading-title {
	color: var(--dtc-ink) !important;
	text-shadow: none !important;
	font-size: clamp(34px, 4.2vw, 56px) !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: -.03em;
}
.dt-curr .dt-curr-banner .dt-curr-eyebrow .elementor-heading-title {
	font-family: var(--dtc-en) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: .16em !important;
	line-height: 1.4 !important;
	color: var(--dtc-accent) !important;
}
.dt-curr .dt-curr-banner .elementor-widget-text-editor,
.dt-curr .dt-curr-banner .elementor-widget-text-editor * {
	color: #3f4556 !important;
	text-shadow: none !important;
	font-size: 17px;
	line-height: 1.7;
	text-align: left !important;
}
.dt-curr .dt-curr-banner .elementor-widget-text-editor p { margin: 0 0 4px; }
.dt-curr .elementor .dt-curr-banner__actions { --gap: 12px; gap: 12px; margin-top: 14px; justify-content: flex-start !important; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; padding: 0 !important; }
.dt-curr .dt-curr-banner__btn .elementor-button {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 52px; padding: 0 30px !important;
	border-radius: 999px !important;
	font-size: 16px !important; font-weight: 600 !important;
	transition: background-color .2s, border-color .2s;
}
.dt-curr .dt-curr-banner__btn--accent .elementor-button { background: var(--dtc-accent) !important; border: 1px solid var(--dtc-accent) !important; color: #fff !important; box-shadow: 0 6px 16px rgba(233, 102, 81, .25); }
.dt-curr .dt-curr-banner__btn--accent .elementor-button:hover { background: #d4533f !important; border-color: #d4533f !important; }
.dt-curr .dt-curr-banner__btn--line .elementor-button { background: #fff !important; border: 1px solid #cfd4dc !important; color: var(--dtc-ink) !important; }
.dt-curr .dt-curr-banner__btn--line .elementor-button:hover { border-color: var(--dtc-ink) !important; }
.dt-curr #dt-step-1 { scroll-margin-top: 120px; }

@media (max-width: 767px) {
	.dt-curr .elementor .dt-curr-banner {
		min-height: 440px; --min-height: 440px;
		align-items: flex-end !important; --align-items: flex-end;
		--padding-top: 140px !important; --padding-bottom: 40px !important; --padding-left: 20px !important; --padding-right: 20px !important;
	}
	.dt-curr .elementor .dt-curr-banner::before,
	.dt-curr .elementor .dt-curr-banner > .elementor-background-overlay {
		background: linear-gradient(180deg, rgba(245,246,248,.25) 0%, rgba(245,246,248,.7) 30%, rgba(245,246,248,.94) 50%, rgba(245,246,248,.97) 100%) !important;
	}
	.dt-curr .dt-curr-banner .elementor-heading-title { font-size: clamp(28px, 8vw, 34px) !important; }
	.dt-curr .dt-curr-banner .elementor-widget-text-editor, .dt-curr .dt-curr-banner .elementor-widget-text-editor * { font-size: 15px; }
	.dt-curr .dt-curr-banner__btn, .dt-curr .dt-curr-banner__btn .elementor-button { width: 100%; }
	.dt-curr .elementor .dt-curr-banner__actions { width: 100%; }
}

/* ② 본문: 옅은 회색 영역 위에 흰색 카드(소개 1장 + STEP 3장) */
.dt-curr .elementor .dt-curr-body {
	background: var(--dtc-bg-gray) !important;
	--padding-top: 72px !important;
	--padding-bottom: 88px !important;
	padding-top: 72px !important;
	padding-bottom: 88px !important;
	border-bottom: 1px solid #e6e9ee;
}
.dt-curr .dt-curr-steps {
	--gap: 24px !important;
	gap: 24px !important;
	max-width: 1080px;
	margin-inline: auto;
}
.dt-curr .elementor .dt-curr-intro,
.dt-curr .elementor .dt-step {
	background: #fff !important;
	border: 1px solid var(--dtc-line) !important;
	border-radius: var(--dtc-radius) !important;
	box-shadow: var(--dtc-shadow) !important;
	--padding-top: 48px;
	--padding-bottom: 48px;
	--padding-left: 48px;
	--padding-right: 48px;
	padding: 48px !important;
	--gap: 14px;
	gap: 14px;
}

/* 소개 카드: 과정 이름 + 요약 */
.dt-curr .dt-curr-intro .elementor-heading-title {
	color: var(--dtc-ink) !important;
	font-size: clamp(24px, 3vw, 34px) !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
}
.dt-curr .dt-curr-intro .content-box {
	background: #f7f8fa !important;
	border: 0 !important;
	border-left: 4px solid var(--dtc-accent) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
}
.dt-curr .dt-curr-intro .content-box::before,
.dt-curr .dt-curr-intro .content-box::after { display: none !important; }
/* Elementor 요소 설정에 있던 파란 왼쪽 테두리·글자 그림자·튀어나오는 애니메이션은 끕니다. */
.dt-curr .dt-curr-intro .content-box,
.dt-curr .dt-curr-intro .content-box > .elementor-widget-container {
	text-shadow: none !important;
	animation: none !important;
}
.dt-curr .dt-curr-intro .content-box > .elementor-widget-container {
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
}
.dt-curr .dt-curr-intro .content-box.elementor-invisible { visibility: visible !important; }

/* STEP 카드 */
.dt-curr .dt-step > .elementor-widget-heading:first-child .elementor-heading-title {
	font-family: inherit !important;
	font-size: clamp(21px, 2.4vw, 28px) !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	color: var(--dtc-ink) !important;
	-webkit-text-fill-color: currentColor !important;
	background: none !important;
	text-align: left !important;
}
.dt-curr .dt-step > .elementor-widget-heading:first-child { text-align: left !important; }
.dt-curr .dt-step > .elementor-widget-heading:first-child .elementor-heading-title::before {
	content: '';
	display: block;
	width: 28px;
	height: 3px;
	margin-bottom: 16px;
	border-radius: 2px;
	background: var(--dtc-accent);
}

/* "1WEEK = 4회" 같은 핵심 수치: 흐린 장식체·그라데이션 → 주색 굵은 글자 */
.dt-curr .dt-step .gradient,
.dt-curr .dt-step .gradient .elementor-heading-title,
.dt-curr .dt-step .elementor-widget-heading:not(:first-child) .elementor-heading-title {
	text-align: left !important;
}
.dt-curr .dt-step .gradient .elementor-heading-title,
.dt-curr .dt-step .elementor-widget-heading:nth-child(2) .elementor-heading-title {
	font-family: var(--dtc-en) !important;
	font-size: clamp(26px, 3.4vw, 38px) !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: var(--dtc-accent) !important;
	-webkit-text-fill-color: var(--dtc-accent) !important;
	background: none !important;
	-webkit-text-stroke: 0 !important;
	text-shadow: none !important;
	animation: none !important;
	letter-spacing: 0 !important;
}
.dt-curr .dt-step .elementor-widget-text-editor {
	color: var(--dtc-body);
	font-size: 15px;
	line-height: 1.75;
	text-align: left;
}
.dt-curr .dt-step .elementor-widget-text-editor ul { margin: 8px 0 0 1.1em; }
.dt-curr .dt-step .elementor-widget-text-editor li + li { margin-top: 6px; }
.dt-curr .dt-step .elementor-widget-text-editor strong { color: var(--dtc-ink); }

/* ③ 사진 띠의 상담 버튼 */
.dt-curr .dt-curr-cta .elementor-button {
	background: var(--dtc-accent) !important;
	border: 1px solid var(--dtc-accent) !important;
	color: #fff !important;
	border-radius: 999px !important;
	padding: 16px 36px !important;
	font-weight: 600 !important;
	box-shadow: 0 6px 16px rgba(233, 102, 81, .25);
}
.dt-curr .dt-curr-cta .elementor-button:hover { background: #d4533f !important; border-color: #d4533f !important; }

/* 성인연기반 추가서비스 띠: 짙은 회색 → 흰색 카드 */
.dt-curr .elementor .dt-curr-service {
	background: #fff !important;
	border: 1px solid var(--dtc-line) !important;
	border-radius: var(--dtc-radius) !important;
	box-shadow: var(--dtc-shadow) !important;
	max-width: 1080px;
	margin: 40px auto !important;
}
.dt-curr .dt-curr-service *,
.dt-curr .dt-curr-service .elementor-heading-title { color: var(--dtc-ink) !important; }
.dt-curr .dt-curr-service .elementor-icon { color: var(--dtc-accent) !important; fill: var(--dtc-accent) !important; }

/* ④ 인용 띠: 짙은 회색 → 흰색, 짙은 글자 */
.dt-curr .elementor .dt-curr-quote {
	background: #fff !important;
	margin: 0 !important;
	padding-top: 56px !important;
	padding-bottom: 56px !important;
}
.dt-curr .dt-curr-quote .elementor-heading-title { color: var(--dtc-ink) !important; }
.dt-curr .dt-curr-quote .elementor-icon,
.dt-curr .dt-curr-quote .elementor-icon i,
.dt-curr .dt-curr-quote .elementor-icon svg { color: #c3c8d2 !important; fill: #c3c8d2 !important; }

@media (max-width: 767px) {
	.dt-curr .elementor .dt-curr-body { padding-top: 40px !important; padding-bottom: 56px !important; --padding-top: 40px !important; --padding-bottom: 56px !important; }
	.dt-curr .elementor .dt-curr-intro,
	.dt-curr .elementor .dt-step { padding: 28px 22px !important; --padding-top: 28px; --padding-bottom: 28px; --padding-left: 22px; --padding-right: 22px; }
	.dt-curr .dt-curr-steps { --gap: 16px !important; gap: 16px !important; }
	.dt-curr .elementor .dt-curr-service { margin: 24px 16px !important; }
}

/* 시간표 표 위젯(Essential Addons)이 설치돼 있지 않아 표가 안 나올 때는 "*표를 좌우로 당겨보세요" 안내도 숨깁니다.
   플러그인을 설치해 표가 나오면 자동으로 다시 보입니다. */
.dt-curr .scroll-table-wrapper:not(:has(table)) { display: none !important; }
