@charset "utf-8";
/* ============================================================
   bid_support 공통 랜딩 (edumain, cert 등) — 모던 카드형 디자인
   reset.css / basic_full.css / basic_normal.css 의 레거시 h2/h3/ol/ul/li 무력화
   ============================================================ */
/* bid_support 페이지의 #page_title (sub-title) — 흐릿한 위쪽 잔재 제거 */
body:has(.bs_landing) #page_title.sub-title {
	font-family: Pretendard, sans-serif;
	font-size: 22px !important;
	font-weight: 700 !important;
	color: #111827 !important;
	margin: 0 0 16px !important;
	padding: 0 0 12px !important;
	border-bottom: 2px solid #064E3B !important;
	border-top: none !important;
	height: auto !important;
	line-height: 1.3 !important;
	float: none !important;
	width: auto !important;
}
body:has(.bs_landing) #page_title.sub-title:before,
body:has(.bs_landing) #page_title.sub-title:after { display: none !important; }

.bs_landing {
	font-family: Pretendard, -apple-system, BlinkMacSystemFont, sans-serif;
	color: #1F2937;
	max-width: 1200px;
	margin: 0 auto;
}
.bs_landing * { box-sizing: border-box; }
.bs_landing h2,
.bs_landing h3,
.bs_landing h4 {
	width: auto !important;
	height: auto !important;
	float: none !important;
	clear: none !important;
	border: none !important;
	padding: 0;
	margin: 0;
	line-height: 1.4 !important;
}
.bs_landing ol,
.bs_landing ul {
	float: none !important;
	clear: none !important;
	list-style: none !important;
	margin: 0;
	padding: 0;
}
.bs_landing ol > li,
.bs_landing ul > li {
	float: none !important;
	clear: none !important;
	list-style: none !important;
	width: auto;
	height: auto;
}
.bs_only_mobile { display: none; }

/* Hero */
.bs_hero {
	display: flex;
	align-items: center;
	gap: 32px;
	padding: 40px 36px;
	background: linear-gradient(135deg, #115E59 0%, #064E3B 100%);
	border-radius: 14px;
	color: #fff;
	margin-bottom: 28px;
	overflow: hidden;
}
.bs_hero_inner { flex: 1; min-width: 0; }
.bs_hero_badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	font-size: 12px;
	font-weight: 600;
	color: #5EEAD4;
	background: rgba(255,255,255,0.10);
	border: 1px solid rgba(255,255,255,0.18);
	border-radius: 20px;
	margin-bottom: 14px;
}
.bs_hero_title {
	margin: 0 0 12px !important;
	padding: 0 !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: -0.02em;
	color: #fff !important;
	height: auto !important;
	width: auto !important;
	border: none !important;
	float: none !important;
	display: block;
}
.bs_hero_title strong {
	color: #5EEAD4 !important;
	font-weight: 800 !important;
	display: inline-block;
}
.bs_hero_title br { display: block !important; }
.bs_hero_desc {
	margin: 0 0 22px;
	font-size: 14.5px;
	line-height: 1.65;
	color: rgba(255,255,255,0.86);
}
.bs_hero_cta { display: flex; gap: 10px; flex-wrap: wrap; }
.bs_hero_visual {
	flex: 0 0 180px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.bs_hero_icon {
	width: 140px;
	height: 140px;
	border-radius: 50%;
	background: rgba(255,255,255,0.10);
	border: 2px solid rgba(255,255,255,0.18);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 56px;
	color: #fff;
}

/* 공통 버튼 */
.bs_btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 22px;
	font-size: 14px;
	font-weight: 600;
	border-radius: 8px;
	text-decoration: none;
	transition: all 0.15s ease;
	cursor: pointer;
	line-height: 1;
	border: 1px solid transparent;
	white-space: nowrap;
}
.bs_btn_primary { background: #0F766E; color: #fff; border-color: #0F766E; }
.bs_btn_primary:hover { background: #115E59; border-color: #115E59; color: #fff; text-decoration: none; }
.bs_btn_outline { background: rgba(255,255,255,0.06); color: #fff; border-color: rgba(255,255,255,0.40); }
.bs_btn_outline:hover { background: rgba(255,255,255,0.16); color: #fff; text-decoration: none; }
.bs_btn_lg { padding: 14px 28px; font-size: 15px; }
/* Hero 안이 아닌 일반 영역의 outline 버튼 */
.bs_cta_bottom .bs_btn_outline,
.bs_section .bs_btn_outline {
	background: #fff;
	color: #064E3B;
	border-color: #D1D5DB;
}
.bs_cta_bottom .bs_btn_outline:hover,
.bs_section .bs_btn_outline:hover {
	background: #F9FAFB;
	border-color: #064E3B;
	color: #064E3B;
}

/* Feature grid (4-col 카드) */
.bs_features {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 16px !important;
	margin-bottom: 32px;
	width: 100%;
	float: none !important;
	clear: both;
}
.bs_feature_card {
	background: #fff;
	border: 1px solid #E5E7EB;
	border-radius: 12px;
	padding: 24px 20px;
	text-align: center;
	transition: all 0.2s ease;
}
.bs_feature_card:hover {
	border-color: #5EEAD4;
	box-shadow: 0 4px 16px rgba(15,118,110,0.08);
	transform: translateY(-2px);
}
.bs_feature_ico {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 14px;
	font-size: 22px;
	color: #fff;
}
.bs_ico_blue   { background: linear-gradient(135deg, #14B8A6, #115E59); }
.bs_ico_green  { background: linear-gradient(135deg, #10B981, #047857); }
.bs_ico_orange { background: linear-gradient(135deg, #2DD4BF, #0D9488); }
.bs_ico_purple { background: linear-gradient(135deg, #34D399, #059669); }
.bs_feature_card h4 {
	margin: 0 0 8px;
	font-size: 15px;
	font-weight: 700;
	color: #111827;
}
.bs_feature_card p {
	margin: 0;
	font-size: 13px;
	color: #6B7280;
	line-height: 1.55;
}

/* Section */
.bs_section {
	background: #fff;
	border: 1px solid #E5E7EB;
	border-radius: 12px;
	padding: 28px 32px;
	margin-bottom: 20px;
}
.bs_section_title {
	margin: 0 0 20px;
	padding: 0 0 14px;
	font-size: 17px;
	font-weight: 700;
	color: #111827;
	letter-spacing: -0.01em;
	border-bottom: 1px solid #E5E7EB;
	display: flex;
	align-items: center;
	gap: 10px;
}
.bs_section_title i { color: #0F766E; }

/* Process (절차) */
.bs_process {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 14px !important;
	width: 100% !important;
	float: none !important;
	clear: both;
}
.bs_process > li {
	background: #F9FAFB;
	border: 1px solid #E5E7EB;
	border-radius: 10px;
	padding: 20px 18px;
	display: flex !important;
	align-items: flex-start;
	gap: 14px;
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	list-style: none !important;
}
.bs_step_num {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #0F766E;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
}
.bs_step_body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.bs_step_body strong {
	font-size: 14px;
	font-weight: 600;
	color: #111827;
	letter-spacing: -0.01em;
}
.bs_step_body span {
	font-size: 12.5px;
	color: #6B7280;
	line-height: 1.5;
}

/* Price */
.bs_price_grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1.4fr;
	gap: 14px;
}
.bs_price_card {
	background: #F9FAFB;
	border: 1px solid #E5E7EB;
	border-radius: 10px;
	padding: 22px 24px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	text-align: center;
}
.bs_price_card.bs_price_alt {
	background: #F0FDFA;
	border-color: #5EEAD4;
}
.bs_price_label {
	font-size: 13px;
	color: #6B7280;
	font-weight: 500;
}
.bs_price_value {
	font-size: 28px;
	font-weight: 800;
	color: #0F766E;
	letter-spacing: -0.02em;
}
.bs_price_value small { font-size: 16px; font-weight: 600; margin-left: 2px; color: #0F766E; }
.bs_price_text { font-size: 22px; }
.bs_price_sub { font-size: 12px; color: #9CA3AF; }
.bs_price_account {
	background: #fff;
	border: 1px solid #E5E7EB;
	border-radius: 10px;
	padding: 18px 22px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.bs_price_account_row {
	display: flex;
	align-items: center;
	gap: 12px;
}
.bs_price_account_row i {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: #F0FDFA;
	color: #0F766E;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
}
.bs_price_account_row > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.bs_price_account_row span { font-size: 11.5px; color: #9CA3AF; }
.bs_price_account_row strong { font-size: 13px; color: #111827; font-weight: 600; }
.bs_warn {
	margin: 4px 0 0;
	padding: 8px 12px;
	font-size: 12px;
	color: #B45309;
	background: #FEF3C7;
	border-radius: 6px;
	display: flex;
	align-items: center;
	gap: 6px;
}

/* CTA bottom */
.bs_cta_bottom {
	margin-top: 28px;
	padding: 32px 36px;
	background: linear-gradient(135deg, #F9FAFB 0%, #F0FDFA 100%);
	border: 1px solid #E5E7EB;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.bs_cta_text { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1; }
.bs_cta_text strong { font-size: 17px; font-weight: 700; color: #111827; letter-spacing: -0.01em; }
.bs_cta_text span { font-size: 13.5px; color: #6B7280; }
.bs_cta_btns { display: flex; gap: 10px; flex-wrap: wrap; }

/* ============================================================
   cert 인증서 페이지 전용
   ============================================================ */
.cert_provider_grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 18px !important;
	width: 100%;
	float: none !important;
	clear: both;
}
.cert_provider {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 24px;
	background: #fff;
	border: 1px solid #E5E7EB;
	border-radius: 12px;
	text-decoration: none;
	color: inherit;
	transition: all 0.2s ease;
}
.cert_provider:hover {
	border-color: #0F766E;
	box-shadow: 0 6px 20px rgba(15,118,110,0.10);
	transform: translateY(-2px);
	text-decoration: none;
	color: inherit;
}
.cert_provider_logo {
	width: 60px;
	height: 60px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	color: #fff;
}
.cert_logo_blue { background: linear-gradient(135deg, #14B8A6, #115E59); }
.cert_logo_teal { background: linear-gradient(135deg, #14B8A6, #0F766E); }
.cert_provider_body { flex: 1; }
.cert_provider_body h4 {
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 700;
	color: #111827;
	letter-spacing: -0.01em;
}
.cert_provider_body h4 small {
	font-size: 12px;
	font-weight: 500;
	color: #6B7280;
	margin-left: 4px;
}
.cert_provider_body p {
	margin: 0 0 12px;
	font-size: 13px;
	color: #6B7280;
	line-height: 1.55;
}
.cert_check_list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.cert_check_list li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 0;
	font-size: 13px;
	color: #374151;
}
.cert_check_list li i { color: #10B981; font-size: 11px; }
.cert_provider_cta { margin-top: 4px; }

.cert_notice_grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 14px !important;
	width: 100%;
	float: none !important;
	clear: both;
}
.cert_notice_card {
	background: #F9FAFB;
	border: 1px solid #E5E7EB;
	border-radius: 10px;
	padding: 22px 18px;
	text-align: center;
}
.cert_notice_ico {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 12px;
	font-size: 18px;
	color: #fff;
}
.cert_notice_card h4 {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 700;
	color: #111827;
}
.cert_notice_card p {
	margin: 0;
	font-size: 12.5px;
	color: #6B7280;
	line-height: 1.55;
}

/* ============================================================
   반응형
   ============================================================ */
@media (max-width: 1100px) {
	.bs_features,
	.bs_process,
	.cert_notice_grid { grid-template-columns: repeat(2, 1fr); }
	.bs_price_grid { grid-template-columns: 1fr; }
	.cert_provider_grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
	.bs_only_mobile { display: inline; }
	.bs_hero { padding: 28px 22px; gap: 18px; flex-direction: column; text-align: center; }
	.bs_hero_visual { flex: 0 0 auto; }
	.bs_hero_icon { width: 100px; height: 100px; font-size: 40px; }
	.bs_hero_title { font-size: 22px; }
	.bs_features { grid-template-columns: 1fr 1fr; }
	.bs_section { padding: 22px 18px; }
	.bs_cta_bottom { padding: 24px 22px; flex-direction: column; text-align: center; }
}
