/*
	 (LSIT) - 파트너 프로그램 전용 프리미엄 스타일시트
	파일 경로: www/layouts/lsit/css/partners.css
	설명: LSIT의 브랜드 컬러인 오렌지(주황) 및 다크 럭셔리 차콜 톤앤매너로 스타일을 완전히 조율했습니다.
*/

/* --------------------------------------------------
   0. 코어 스타일 변수(Variables) 및 공통 스타일
   -------------------------------------------------- */
:root {
	--lsit-orange: #ff6b00;
	--lsit-orange-hover: #e05e00;
	--lsit-deep-charcoal: #18181b;
	--lsit-light-gray: #fcfcfc;
	--lsit-border: #f4f4f5;
	--lsit-input-bg: rgba(255, 107, 0, 0.02);
	
	/* 회청색 및 다크 그레이 폼/제출 버튼 컬러 */
	--lsit-btn-gray: #4b5563;
	--lsit-btn-gray-hover: #1f2937;
	
	--text-primary: #18181b;
	--text-secondary: #52525b;
	--text-muted: #a1a1aa;
	--white: #ffffff;
}

.lsit-partners-wrapper {
	background-color: var(--white);
	color: var(--text-secondary);
	font-family: 'Inter', 'Noto Sans KR', sans-serif;
	overflow-x: hidden;
	padding-bottom: 120px;
}

/* --------------------------------------------------
   1. 히어로 섹션 (Partners Hero Section)
   -------------------------------------------------- */
.partners-hero {
	background-color: var(--lsit-deep-charcoal);
	/* 웅장하고 미려한 HSL 주황 광선 및 다크 차콜 럭셔리 그라데이션 */
	background-image: radial-gradient(circle at 50% 35%, rgba(255, 107, 0, 0.22) 0%, transparent 65%), 
	                  linear-gradient(135deg, #18181b 0%, #09090b 100%);
	/* 뾰족한 삼각형 clip-path 공간을 확보하기 위해 패딩 조율 */
	padding: 130px 0 240px;
	color: var(--white);
	text-align: center;
	position: relative;
	/* 아래가 삼각형 모양으로 뾰족하게 떨어지는 셰이프 */
	clip-path: polygon(0 0, 100% 0, 100% 78%, 50% 100%, 0 78%);
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 78%, 50% 100%, 0 78%);
}

.partners-hero__content {
	max-width: 800px;
	margin: 0 auto;
}

.partners-hero__eyebrow {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--lsit-orange); /* 브랜드 시그니처 주황색 조명 컬러 */
	letter-spacing: 2.5px;
	margin-bottom: 24px;
	text-transform: uppercase;
	text-shadow: 0 2px 10px rgba(255, 107, 0, 0.25);
}

.partners-hero__title {
	font-size: 3.4rem;
	font-weight: 500 !important; /* 묵직하면서도 얇은 자간 비율 */
	line-height: 1.35;
	letter-spacing: -1.8px;
	margin: 0 0 28px;
	color: var(--white);
}

.partners-hero__subtitle {
	font-size: 1.25rem;
	font-weight: 300 !important; /* 깔끔하고 얇은 가독성 한글 */
	line-height: 1.85;
	color: rgba(255, 255, 255, 0.9);
	margin: 0;
	letter-spacing: -0.6px;
}

/* 히어로 안의 파트너가 되세요 주황 버튼 스타일 (타 테마 간섭 차단 및 강제 사각 플랫화) */
.partners-btn-hero {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 15px 36px !important;
	font-size: 1.05rem !important;
	font-weight: 500 !important;
	letter-spacing: -0.4px !important;
	color: #ffffff !important;
	background-image: none !important; /* 구형 입체 그라데이션 차단 */
	background-color: var(--lsit-orange) !important; /* 브랜드 주황색 */
	border: none !important;
	border-radius: 0px !important; /* 완전 사각형 구축 */
	cursor: pointer !important;
	text-decoration: none !important;
	transition: all 0.22s ease-in-out !important;
	box-shadow: 0 4px 15px rgba(255, 107, 0, 0.35) !important;
	margin-top: 36px !important;
	box-sizing: border-box !important;
	height: auto !important;
	text-shadow: none !important;
}

.partners-btn-hero:hover {
	background-color: var(--lsit-orange-hover) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 22px rgba(255, 107, 0, 0.5) !important;
	color: #ffffff !important;
}

/* --------------------------------------------------
   2. 혜택 카드 그리드 섹션 (Benefits Section - 오버랩 디자인)
   -------------------------------------------------- */
.partners-benefits {
	padding: 0 0 80px;
	background-color: transparent !important; /* 뒤의 히어로 뾰족한 삼각형 꼬리가 보이도록 설정 */
	margin-top: -120px; /* 히어로 다각형 내부와 카드가 안정적으로 오버랩되도록 조정 */
	position: relative;
	z-index: 100;
}

/* 2열 대칭 플랫 사각 그리드 */
.partners-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	max-width: 960px; /* 카드가 너무 넓게 퍼지지 않도록 안정된 너비 부여 */
	margin: 0 auto;
}

/* 둥글기 0px 플랫 카드 */
.partners-card {
	background-color: var(--white);
	border: 1px solid var(--lsit-border);
	border-radius: 0px !important; /* 완전 사각 큐브화 */
	padding: 48px 40px;
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.03);
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
	position: relative;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* 호버 시 브랜드 네온 주황 조명 점등 */
.partners-card:hover {
	transform: translateY(-8px);
	border-color: var(--lsit-orange);
	box-shadow: 0 20px 45px rgba(255, 107, 0, 0.15);
}

.partners-card__icon-wrapper {
	width: 56px;
	height: 56px;
	background-color: rgba(255, 107, 0, 0.05);
	color: var(--lsit-orange);
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 1.7rem;
	margin-bottom: 24px;
	border-radius: 0px !important;
}

/* 제목 텍스트 세련되게 축소 및 센터 정렬 */
.partners-card__title {
	font-size: 1.45rem;
	font-weight: 600;
	color: var(--lsit-deep-charcoal);
	line-height: 1.35;
	margin: 0 0 18px;
	letter-spacing: -0.8px;
}

/* 설명문구 극도로 세련되게 축소 및 한글 300 웨이트 */
.partners-card__description {
	font-size: 0.925rem;
	font-weight: 300 !important;
	line-height: 1.7;
	color: var(--text-secondary);
	margin: 0;
	letter-spacing: -0.4px;
	word-break: keep-all;
}

/* --------------------------------------------------
   3. 파트너 신청서 폼 페이지 구성 (Form Page - T자형 헤더 연결 & 와이드 2분할)
   -------------------------------------------------- */
.partners-form-wrapper-page {
	padding-bottom: 0 !important;
	/* 전체 배경이 다 오렌지 미색 및 화이트로 이어지도록 보정 */
	background-color: #ffffff !important;
	width: 100% !important;
}

/* 컨테이너 강제 초기화 및 풀 스크린화 */
.container--form-full {
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
}

.partners-form-container {
	display: flex;
	width: 100% !important;
	min-height: calc(100vh - 76px);
	margin-top: 76px !important;
	border: none !important;
	box-shadow: none !important;
	background-color: var(--white) !important;
}

/* 좌측 브랜드 주황 정보 패널 */
.partners-form__info-panel {
	flex: 1.1;
	padding: 48px 60px;
	color: var(--white);
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	box-sizing: border-box;
	text-align: left;
	
	/* 브랜드 시그니처 주황 순환 그라데이션 */
	background: linear-gradient(135deg, #ff6b00 0%, #ff8c3a 50%, #e05e00 100%) !important;
	background-size: 200% 200% !important;
	animation: gradientPanel 8s ease infinite !important;
}

@keyframes gradientPanel {
	0% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}

.info-panel__eyebrow {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--white);
	letter-spacing: 2px;
	margin-bottom: 16px;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.info-panel__title {
	font-size: 2.3rem;
	font-weight: 300 !important;
	line-height: 1.35;
	letter-spacing: -1.5px;
	margin: 0 0 20px;
}

.info-panel__title span {
	font-weight: 600;
	color: var(--white);
}

.info-panel__desc {
	font-size: 0.95rem;
	font-weight: 400 !important;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.9);
	margin-bottom: 36px;
	letter-spacing: -0.5px;
	word-break: keep-all;
}

.info-panel__features {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.info-feature-item {
	display: flex;
	gap: 16px;
}

.info-feature-icon {
	width: 38px;
	height: 38px;
	background-color: rgba(255, 255, 255, 0.15);
	color: var(--white);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.2rem;
	flex-shrink: 0;
	border-radius: 0px !important;
}

.info-feature-text h4 {
	font-size: 1rem;
	font-weight: 600;
	margin: 0 0 4px;
	letter-spacing: -0.5px;
	color: var(--white);
}

.info-feature-text p {
	font-size: 0.85rem;
	font-weight: 400 !important;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.75);
	margin: 0;
	letter-spacing: -0.3px;
}

/* 우측 가입 신청서 폼 카드 패널 */
.partners-form__card-panel {
	flex: 1.3;
	padding: 48px 60px;
	background-color: var(--white) !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: cover !important;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

/* 우아하고 선명하게 안착되는 새하얀 단독 플랫 카드 */
.partners-form__card {
	width: 100%;
	max-width: 440px;
	background-color: var(--white) !important;
	border: 1px solid var(--lsit-border) !important;
	border-radius: 0px !important;
	padding: 40px 32px !important;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.06) !important;
	text-align: left;
	box-sizing: border-box !important;
}

.partners-form__card-title {
	font-size: 1.65rem;
	font-weight: 600;
	color: var(--lsit-deep-charcoal);
	margin: 0 0 8px;
	letter-spacing: -1px;
}

.partners-form__card-subtitle {
	font-size: 0.85rem !important;
	font-weight: 300 !important;
	color: var(--text-muted);
	margin: 0 0 28px;
	letter-spacing: -0.5px !important;
	line-height: 1.45;
	word-break: keep-all !important;
}

/* 폼 그룹 구성 */
.partners-form__card .form-group {
	margin-bottom: 16px;
	position: relative;
}

.partners-form__card .form-label {
	display: block;
	font-size: 0.84rem;
	font-weight: 600;
	color: var(--lsit-deep-charcoal);
	margin-bottom: 6px;
	letter-spacing: -0.3px;
}

.partners-form__card .form-label .required {
	color: #ef4444;
	margin-left: 2px;
}

.partners-form__card .form-input-wrapper {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
}

.partners-form__card .form-icon {
	position: absolute;
	left: 14px;
	color: var(--lsit-orange);
	font-size: 1rem;
	pointer-events: none;
	opacity: 0.8;
}

/* 플랫 사각 인풋 */
.partners-form__card .form-input {
	width: 100%;
	padding: 11px 16px 11px 40px;
	background-color: var(--lsit-input-bg);
	border: 1px solid rgba(255, 107, 0, 0.08);
	border-radius: 0px !important;
	color: var(--lsit-deep-charcoal);
	font-size: 0.9rem;
	font-weight: 300 !important;
	letter-spacing: -0.3px;
	box-sizing: border-box;
	transition: all 0.2s ease-in-out;
}

.partners-form__card .form-input::placeholder {
	color: var(--text-muted);
	font-weight: 300 !important;
	font-size: 0.88rem;
}

.partners-form__card .form-input:focus {
	background-color: var(--white);
	outline: none;
	border: 1px solid var(--lsit-orange);
	box-shadow: 0 0 8px rgba(255, 107, 0, 0.1);
}

/* 약관 동의 체크박스 */
.partners-form__card .tos-wrapper {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 20px 0 24px;
}

.partners-form__card .tos-wrapper input[type="checkbox"] {
	margin-top: 3px;
	cursor: pointer;
	accent-color: var(--lsit-orange);
}

.partners-form__card .tos-text {
	font-size: 0.82rem;
	color: var(--text-secondary);
	font-weight: 300 !important;
	line-height: 1.4;
	letter-spacing: -0.4px;
}

.partners-form__card .tos-text span {
	font-weight: 500;
	color: var(--lsit-deep-charcoal);
	text-decoration: underline;
	cursor: pointer;
}

.partners-form__card .tos-text .required {
	color: #ef4444;
}

/* 메일 전송하기 플랫 큐브 버튼 */
.partners-form__card .banner__button {
	width: 100%;
}

.partners-form__card .banner__button .btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	padding: 16px 24px !important;
	font-size: 1.05rem !important;
	font-weight: 400 !important;
	letter-spacing: -0.3px !important;
	color: var(--white) !important;
	background: none !important;
	background-color: var(--lsit-orange) !important;
	border: none !important;
	border-radius: 0px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	height: auto !important;
	transition: all 0.22s ease-in-out !important;
}

.partners-form__card .banner__button .btn:hover {
	background-color: var(--lsit-orange-hover) !important;
	box-shadow: 0 4px 15px rgba(255, 107, 0, 0.25) !important;
}

.partners-form__card .banner__form-member-link {
	margin-top: 24px;
	font-size: 0.875rem;
	color: var(--text-muted);
	text-align: center;
	font-weight: 300 !important;
}

.partners-form__card .banner__form-member-link a {
	color: var(--lsit-orange);
	text-decoration: none;
	font-weight: 500;
	margin-left: 6px;
}

.partners-form__card .banner__form-member-link a:hover {
	text-decoration: underline;
}

/* --------------------------------------------------
   4. 반응형 미디어 쿼리
   -------------------------------------------------- */
@media (max-width: 1024px) {
	.partners-grid {
		gap: 24px;
		padding: 0 24px;
	}
	
	.partners-form-container {
		flex-direction: column !important;
	}
	
	.partners-form__info-panel,
	.partners-form__card-panel {
		flex: none !important;
		width: 100% !important;
		padding: 100px 36px 48px !important;
		box-sizing: border-box;
	}

	.partners-form__card-panel {
		padding: 48px 36px 80px !important;
	}

	.partners-form__info-panel {
		text-align: center !important;
		align-items: center !important;
	}
	
	.info-panel__features {
		align-items: center !important;
	}
}

@media (max-width: 768px) {
	.partners-hero {
		padding: 100px 0 160px;
		clip-path: polygon(0 0, 100% 0, 100% 86%, 50% 100%, 0 86%);
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 86%, 50% 100%, 0 86%);
	}

	.partners-hero__title {
		font-size: 2.25rem;
	}
	
	.partners-hero__subtitle {
		font-size: 1rem;
	}
	
	.partners-benefits {
		margin-top: -65px;
	}

	.partners-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.partners-card {
		padding: 40px 30px;
	}
	
	.partners-form__info-panel {
		padding: 90px 20px 40px !important;
	}

	.partners-form__card-panel {
		padding: 32px 16px 60px !important;
	}

	.partners-form__card-title {
		font-size: 1.6rem !important;
	}

	.info-panel__title {
		font-size: 2.1rem !important;
	}

	.partners-form__card .form-input {
		font-size: 0.9rem !important;
		padding: 12px 16px 12px 40px !important;
	}
}
