/* =========================================================
   temporal2.jsp 전용 스타일 (완전 독립 네임스페이스)
   temporal1.jsp(swp- 접두어)와 절대 겹치지 않도록
   모든 클래스/커스텀프로퍼티를 leb- 접두어로 통일했다.
   ========================================================= */
.leb-wrap {
	--leb-gold: #f5c518;
	--leb-text: #241432;
	--leb-text-sub: #5b5567;
	--leb-border: #e7deef;
	--leb-radius-lg: 20px;
	--leb-radius-md: 14px;
	--leb-radius-sm: 10px;

	max-width: 1200px;
	margin: 0 auto;
	padding: 60px 24px 120px;
	color: var(--leb-text);
	font-size: 16px;
	line-height: 1.7;
	box-sizing: border-box;
}
.leb-wrap *, .leb-wrap *::before, .leb-wrap *::after { box-sizing: inherit; }
.leb-sr-only {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ---- 히어로 (세로 높이 여유있게) ---- */
.leb-hero {
	position: relative;
	overflow: hidden;
	border-radius: var(--leb-radius-lg);
	padding: 88px 56px 28px;
	min-height: 420px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: linear-gradient(135deg, #fdecec 0%, #fbd5d5 55%, #ffe0e0 100%);
}
.leb-hero-inner {
	position: relative;
	z-index: 1;
	display: flex; justify-content: space-between; align-items: center;
	gap: 56px; flex-wrap: wrap; width: 100%;
}
.leb-hero-left { flex: 1 1 380px; min-width: 280px; }
.leb-eyebrow { margin: 0 0 16px; font-size: 15px; font-weight: 600; color: var(--leb-text-sub); letter-spacing: .02em; }
.leb-hero-title {
	margin: 0 0 28px; font-size: 64px; font-weight: 800; line-height: 1.35;
	background: linear-gradient(100deg, #ef4444 0%, #7f1d1d 65%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.leb-hero-bullets { margin: 0; padding: 0; list-style: none; font-size: 16px; color: var(--leb-text-sub); }
.leb-hero-bullets li { position: relative; padding-left: 16px; margin-bottom: 6px; font-weight: 700; color: var(--leb-text); }
.leb-hero-bullets li::before {
	content: "·";
	position: absolute;
	left: 0;
	top: 0;
	color: #b91c1c;
	font-weight: 800;
}
.leb-hero-right { display: flex; flex-direction: column; gap: 18px; min-width: 320px; flex: 1 1 340px; max-width: 420px; }
.leb-badge { display: flex; align-items: center; gap: 10px; padding: 18px 24px; border-radius: 999px; font-size: 17.5px; font-weight: 700; color: #fff; }
.leb-badge--solid { background: #b91c1c; }
.leb-badge--dark { background: #7f1d1d; }
.leb-badge-check { color: var(--leb-gold); font-size: 18px; }
.leb-hero-footnote { position: relative; z-index: 1; margin: 20px 4px 0; font-size: 12.5px; color: var(--leb-text-sub); text-align: right; }

/* 배경처럼 녹아드는 장식 이미지 자리 */
.leb-hero-decor {
	position: absolute;
	left: -30px;
	bottom: 0;
	width: 1100px;
	max-width: 86%;
	height: 100%;
	z-index: 0;
	pointer-events: none;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.5) 30%, rgba(0,0,0,1) 60%);
	mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.3) 30%, rgba(0,0,0,1) 60%);
}
.leb-hero-decor img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left bottom;
	opacity: .9;
}
@media (max-width: 880px) {
	.leb-hero-decor { display: none; }
}

/* ---- 섹션 공통 ---- */
.leb-section { margin-top: 72px; margin-bottom: 25px;}
.leb-wrap > .leb-section:first-of-type,
.leb-hero + .leb-section { margin-top: 56px; }
.leb-h2 { font-size: 27px; font-weight: 800; margin: 0 0 28px; color: var(--leb-text); }

.leb-steps { text-align: left; }
.leb-steps-eyebrow { margin: 0 0 8px; color: #b91c1c; font-weight: 700; font-size: 15px; }
.leb-strong { color: #7f1d1d; }
.leb-steps-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 30px; }
.leb-step-card {
	background: linear-gradient(160deg, #fef2f2 0%, #fbd5d5 100%);
	border-radius: var(--leb-radius-md);
	padding: 26px 24px;
}
.leb-step-badge {
	display: inline-block; background: #b91c1c; color: #fff;
	font-size: 12.5px; font-weight: 800; letter-spacing: .02em;
	padding: 5px 12px; border-radius: 999px; margin-bottom: 14px;
}
.leb-step-title { font-size: 18px; font-weight: 800; margin: 0 0 12px; color: var(--leb-text); }
.leb-step-list { margin: 0; color: var(--leb-text-sub); font-size: 16px; }
.leb-step-list li { margin-bottom: 4px; }

.leb-apply-sub { color: var(--leb-text-sub); margin: -16px 0 24px; }
.leb-apply-table-wrap { border: 1px solid #fbd5d5; border-radius: var(--leb-radius-md); overflow: hidden; }
.leb-apply-table { border-collapse: collapse; width: 100%; }
.leb-apply-table th, .leb-apply-table td { padding: 16px 22px; text-align: left; font-size: 15px; border-bottom: 1px solid var(--leb-border); }
.leb-apply-table tr:last-child th, .leb-apply-table tr:last-child td { border-bottom: none; }
.leb-apply-table th { width: 180px; font-weight: 700; background: #fdecec; color: #7f1d1d; }
.leb-apply-highlight { color: #d6336c; font-weight: 700; }
.leb-schedule-cta-wrap { text-align: center; margin-top: 34px; }

.leb-cta {
	display: inline-block; min-width: 320px; padding: 18px 32px;
	background: #b91c1c; color: #fff; font-size: 17px; font-weight: 800;
	text-align: center; text-decoration: none; border-radius: 999px;
	transition: background .15s ease;
}
.leb-cta:hover { background: #7f1d1d; }
@media (max-width: 560px) { .leb-cta { min-width: 0; width: 100%; } }

@media (max-width: 880px) {
	.leb-wrap { padding: 40px 18px 90px; }
	.leb-hero { padding: 48px 28px 24px; min-height: 0; }
	.leb-hero-title { font-size: 30px; }
	.leb-steps-grid { grid-template-columns: 1fr; }
	.leb-apply-table th { width: 130px; }
}
@media (max-width: 560px) {
	.leb-hero-right { max-width: 100%; }
	.leb-hero-more-link { justify-content: center; margin-top: 12px; }
}

/* ---- 세미나 일정표 (temporal1의 swp-schedule과 동일 구조, leb- 전용) ---- */
.leb-schedule-title {
	display: flex; align-items: center; gap: 10px;
	font-size: 20px; font-weight: 800; color: #1f2937; margin: 0 0 22px;
}
.leb-schedule-bar { display: inline-block; width: 4px; height: 20px; border-radius: 2px; background: #b91c1c; }
.leb-schedule-icon { font-size: 18px; }
.leb-schedule-table-wrap { border-top: 2px solid #1f2937; border-bottom: 1px solid #e5e7eb; margin-top: 10px; }
.leb-schedule-table { border-collapse: collapse; width: 100%; }
.leb-schedule-table thead th {
	padding: 14px 16px; background: #f9fafb; font-size: 14px; font-weight: 700;
	color: #374151; text-align: center; border-bottom: 1px solid #e5e7eb;
}
.leb-schedule-table thead th:first-child { text-align: left; }
.leb-schedule-table tbody th, .leb-schedule-table tbody td {
	padding: 16px; text-align: center; font-size: 17px; color: #111827; border-bottom: 1px solid #e5e7eb;
}
.leb-schedule-table tbody th { text-align: left; font-weight: 700; }
.leb-schedule-time { display: block; margin-top: 3px; font-size: 12.5px; color: #9ca3af; }
.leb-schedule-note { margin: 16px 4px 0; text-align: right; font-size: 13px; color: #b91c1c; font-weight: 700; }

@media (max-width: 560px) {
	.leb-schedule-table thead th, .leb-schedule-table tbody th, .leb-schedule-table tbody td {
		padding: 10px 6px; font-size: 13px;
	}
}

/* ---- 예외 강조 배너: 세미나 2회 + 지도교수 방문 ---- */
.leb-visit-banner {
	display: flex; align-items: center; gap: 36px;
	background: linear-gradient(135deg, #b91c1c 0%, #7f1d1d 100%);
	border-radius: var(--leb-radius-lg);
	padding: 44px 48px; color: #fff; flex-wrap: wrap;
}
.leb-visit-icon {
	flex: none; width: 96px; height: 96px; display: flex;
	align-items: center; justify-content: center; font-size: 44px;
	background: rgba(255,255,255,.16); border-radius: 50%;
}
.leb-visit-body { flex: 1 1 420px; }
.leb-visit-eyebrow { margin: 0 0 8px; font-size: 14.5px; font-weight: 700; color: #ffd4d4; }
.leb-visit-title { margin: 0 0 16px; font-size: 26px; font-weight: 800; line-height: 1.4; color: #fff; }
.leb-visit-title span { color: #ffe680; }
.leb-visit-desc { margin: 0 0 22px; font-size: 15.5px; line-height: 1.75; color: rgba(255,255,255,.92); max-width: 620px; }
.leb-visit-points { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
.leb-visit-points li {
	display: flex; align-items: center; gap: 8px;
	background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.28);
	border-radius: 999px; padding: 10px 18px; font-size: 14.5px; font-weight: 700; color: #fff;
}
.leb-visit-check { color: #ffe680; }

@media (max-width: 720px) {
	.leb-visit-banner { padding: 34px 26px; gap: 20px; }
	.leb-visit-title { font-size: 22px; }
}

#main_practice_search_3{background: #fbd5d5; 
width: 100%;
	padding: 70px 20px 60px;
	box-sizing: border-box;}

#main_practice_search_3.is-loading .practice_search_row {
	opacity: 0.7;
	pointer-events: none;
}
/* 히어로 좌측 하단 - 전국실습모집(temporal1) 안내 링크 */
.leb-hero-more-link {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: flex-start;
	margin-top: 14px;

}
.leb-hero-more-link a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 18px;
	border-radius: 999px;
	background: rgba(36, 20, 50, 0.82);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: background .15s ease, transform .15s ease;
}
.leb-hero-more-link a:hover {
	background: #000;
	transform: translateX(2px);
}
.leb-hero-more-link a svg {
	flex: none;
}

@media (max-width: 560px) {
	.leb-hero-more-link { justify-content: center; margin-top: 12px; }
}