/* 인재풀 페이지 전용 CSS */
/* 헤더, 폰트, reset 등의 공통 스타일은 style.css에서 관리 */
 
.talent-banner {
    position: relative;
    min-height: 110px;
    display: flex;
    align-items: flex-start;
    overflow: hidden;
    border-radius: var(--radius-card);   
    padding: 40px;
}
 
 

.talent-banner__content {
    position: relative;
    z-index: 1;
	flex:1; 
}
 

.talent-banner h1 {  
    color: #fff;
    font-size: 28px; 
    font-weight: 700; 
}

.talent-banner p {  
	margin-top: 8px;
    color: rgba(255, 255, 255, 0.8);  
}

.talent-banner__link {  
    display: inline-flex;
    align-items: center;
    gap: 6px; 
    color: #fff;  
    font-weight: 650; 
	font-size: 14px;
	margin-top: 10px;
}

.talent-banner__link span {
    font-size: 15px;
    line-height: 1;
}



.talent-banner__slider  {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.talent-banner__slider:before{
	content:'';
	position:absolute;
	inset:0;
	background: rgba(0,0,0,0.3);
	z-index:2;
}

.talent-banner__slide img{
	width: 100%;
	height: 100%;
	object-fit:cover;
}


.talent-banner__navigation {
	position: absolute;
	right: 30px;
	bottom: 24px;
	z-index: 3;

	display: flex;
	align-items: center;
	gap: 5px;

	color: #fff;
	font-size: 13px;
	font-weight: 500;
}

.talent-banner__navigation button {
	position: relative;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

/* 공통 화살표 */
.talent-banner__navigation button::before,
.talent-banner__navigation button::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 8px;
	height: 1px;
	background: #fff;
}

/* 이전 */
.talent-banner__prev::before {
	left: 7px;
	transform: rotate(-45deg);
	transform-origin: left center;
}

.talent-banner__prev::after {
	left: 7px;
	transform: rotate(45deg);
	transform-origin: left center;
}

/* 다음 */
.talent-banner__next::before {
	right: 7px;
	transform: rotate(45deg);
	transform-origin: right center;
}

.talent-banner__next::after {
	right: 7px;
	transform: rotate(-45deg);
	transform-origin: right center;
}

.talent-banner__current {
	font-weight: 600;
}

.talent-banner__divider {
	opacity: .5;
	margin: 0 2px;
}

.talent-banner__total {
	opacity: .65;
}



.talent-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 80px;
    margin-top: 40px;
}

.talent-filter {
    position: sticky;
    top: 100px;
    align-self: start;  
	
	padding:   22px;
    border: 1px solid var(--line);
    border-radius: 20px;
}

.talent-filter__head {  
    display: flex;
    align-items: center;
    justify-content: space-between; 
	margin:0 0 20px;
}

.talent-filter__head strong {
    color: #20252b; 
    font-weight: 750;
	font-size: 18px;
    letter-spacing: -0.03em;
	line-height: 1;
}

.filter-reset {
    width: 32px;
    aspect-ratio:1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;  
	border-radius:8px;
    background:url('/images/icon-reset.png') var(--bg) no-repeat center center / 16px;
}
 

.form-control {
	position:relative; 
}

.form-control + .form-control { 
	margin-top: 40px;
}

.filter-title {
    display: block; 
    font-weight: 700;
	font-size: 15px;
}

.filter-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.filter-options {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin-top: 10px;
}

.filter-options--inline {
    flex-direction: row;
    align-items: center;
    gap: 18px;
}

.check-radio {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    cursor: pointer; 
}

.check-radio input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.check-radio__box {
    position: relative;
    width: 17px;
    aspect-ratio:1;
    flex-shrink: 0;
    border: 1px solid #c7cdd3;
    border-radius: 50%;
    background: #fff;
    transition: border-color .2s, background .2s;
}

.check-radio:hover .check-radio__box {
    border-color: #8e979f;
}

.check-radio input:checked + .check-radio__box {
    border-color: #191c24;
    background: #191c24;
}

.check-radio input:checked + .check-radio__box::after {
    content: "";
    position: absolute; 
    top: 4px;
    left: 4px;
    width: 8px;
    height: 4.5px;
	border-right:2px solid #fff;
	border-top:2px solid #fff; 
	transform:rotate(135deg);
}

.check-radio em {
    font-style: normal;
    font-size: 14px;
    line-height: 1.2;
}

.check-radio.is-disabled {
    color: #9ca3ab;
    cursor: default;
}

.check-radio.is-disabled .check-radio__box {
    border-color: #d8dce0;
    background: #f0f1f2;
}
.pay-range{
	position:relative;
	width:100%;
	padding-top:30px;
	margin-top: 10px;
}

.pay-range__track{
	position:relative;
	width:94%;
	margin:0 auto;
	height:4px; 
	background:#e7e9ef;
}

.pay-range__progress{
	position:absolute;
	top:0;
	left:0;
	width:0;
	height:100%;
	border-radius:100px;
	background:#191c24; 
}

/* 포인트 */
.pay-range__dot{
	position:absolute;
	top:50%;
	left:0;
	width:3px;
	aspect-ratio:1;
/* 	border:1px solid #e7e9ef;
	background:#e7e9ef; */
	border-radius:50%; 
	transform:translate(-50%,-50%);
	z-index:2; 
}

.pay-range__dot:nth-of-type(1){left:0%;}
.pay-range__dot:nth-of-type(2){left:11.111%;}
.pay-range__dot:nth-of-type(3){left:22.222%;}
.pay-range__dot:nth-of-type(4){left:33.333%;}
.pay-range__dot:nth-of-type(5){left:44.444%;}
.pay-range__dot:nth-of-type(6){left:55.555%;}
.pay-range__dot:nth-of-type(7){left:66.666%;}
.pay-range__dot:nth-of-type(8){left:77.777%;}
.pay-range__dot:nth-of-type(9){left:88.888%;}
.pay-range__dot:nth-of-type(10){left:100%;}
 

.pay-range__dot.is-active{ 
/* 
	background: #191c24;
	border-color:#191c24;   */
}
.pay-range__dot:nth-of-type(1),
.pay-range__dot:not(:has(~ .pay-range__dot.is-active)),
.pay-range__dot:nth-of-type(10){
	width: 16px;
}
.pay-range__dot:nth-of-type(1).is-active,
.pay-range__dot.is-active:not(:has(~ .pay-range__dot.is-active)),
.pay-range__dot:nth-of-type(10).is-active{
	border-color:#ddd; 
	background: #fff;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.pay-range__thumb {
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%); 
	width: 2rem;
	height: 2rem; 
	border-radius: 50%; 
	z-index: 5;
}

.pay-range__thumb,
.pay-range__bubble {
	cursor: pointer;
	user-select: none;
	touch-action: none;
}

.pay-range__thumb:active,
.pay-range__bubble:active {
	cursor: pointer;
}

.pay-range__thumb--min {
	z-index: 6;
}

.pay-range__thumb--max {
	z-index: 7;
}

/* 현재 금액 */
.pay-range__bubble{
	position:absolute;
	left:0;
	bottom:calc(100% + 10px);
	padding:3px 6px;
	border-radius:4px;
	color:#1c59e9; 
	font-size:13px;
	font-weight:700;
	line-height:1;
	white-space:nowrap;
	transform:translateX(-50%); 
	z-index:4; 
	transition:left .3s ease;
}

.pay-range__bubble:after{ 
	position:absolute;
	left:50%;
	bottom:-2px;
	width:4px;
	height: 4px;
	background:#1c59e9;
	transform:translateX(-50%) rotate(45deg);
}

/* ⭐ 실제 클릭/드래그 영역 */
.pay-range__input{
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:100%;
	margin:0;
	opacity:0;
	cursor:pointer;
	z-index:10;
}


.pay-range__input--min {
	z-index: 3;
}

.pay-range__input--max {
	z-index: 2;
}

/* Chrome */

.pay-range__input::-webkit-slider-thumb {
	appearance: none;
	width: 2rem;
	height: 2rem;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	pointer-events: auto;
}


/* Firefox */

.pay-range__input::-moz-range-thumb {
	width: 2rem;
	height: 2rem;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	pointer-events: auto;
}


/* 라벨 */
.pay-range__labels{
	display:flex;
	justify-content:space-between;
	margin-top:12px;
    color: var(--color-text-muted);
}

.pay-range__labels span{
	font-size:11px;
	font-weight:500; 
	line-height:1;
	text-align:center;
	transition:color .3s ease;
}

.pay-range__labels span:first-child{
	text-align:left;
}

.pay-range__labels span:last-child{
	text-align:right;
}

.pay-range__labels span.is-active{
	color:#191c24;
	font-weight:700;
}

.filter-add {
	position:absolute;
	right:0;
	top:-2px;
    display: inline-flex;
    align-items: center;
    gap: 3px; 
    border: 0;
    background: transparent;
    color: #333;
    font-size: 12px;
    font-weight: 500;
    border: 1px solid var(--line);
    padding: 5px 6px;
    border-radius: 4px;
    line-height: 1;
}

.filter-add:hover {
    color: #191c24;
}

.filter-add span {
    font-size: 17px;
    line-height: 1;
}
 
.filter-submit {
    width: 100%;
    height: 50px;
    margin-top: 40px;
    border: 0;
    border-radius: 8px;
    background: #191c24;
    color: #fff;
    font-size: 14px;
    font-weight: 700; 
    transition: background .2s, transform .2s, box-shadow .2s;
}

.filter-submit:hover {
    background: #1c59e9; 
}

.talent-results {
    min-width: 0;
}

.results-head { 
	width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between; 
}

.results-count {
    display: flex;
    flex-direction: column;
    gap: 9px;
	font-size: 13px;
	font-weight: 650;
}
 
 
 
.result-mode{
	display:flex;
	align-items:center;
	gap:8px; 
	position:sticky;
	align-self: start;
	top:68px;
	padding:10px 0;
	z-index:2;
	background: #fff;
}

.result-mode-item{
	display:flex;
	align-items:center;
	cursor:pointer;
}

.result-mode-item input{
	position:absolute;
	opacity:0;
	pointer-events:none;
}

.result-mode-item span{
	display:flex;
	align-items:center;
	justify-content:center; 
	padding:8px 15px;
	background: var(--bg);
	border-radius:99px;
	font-size:13px;
	font-weight:600;  
}

.result-mode-item input:checked + span{
	background: #191c24;
	color: #fff;
}

.result-mode-item.is-disabled{
	cursor:default;
}

.result-mode-item.is-disabled span{
	color:#aaa;
	background:#f5f5f5;
}

.sort-dropdown{
	position:relative;
}

.sort-button{
	position:relative;
	display:flex;
	align-items:center;
	padding:10px 30px 10px 12px; 
	background:none;
	color:#191c24;   
	border-radius:4px;
	font-size: 13px;
	line-height: 1;
	font-weight:600;
	cursor:pointer;
}

.sort-button:after{
	content:'';
	position:absolute;
	top:50%;
	right:10px;
	width:7px;
	aspect-ratio:1;
	border-right:1.5px solid #191c24;
	border-bottom:1.5px solid #191c24;
	transform:translateY(-100%) rotate(45deg);
	transition:transform .2s ease;
}

.sort-dropdown.is-open .sort-button:after{
	transform:translateY(-40%) rotate(225deg);
}

.sort-dropdown__list{
	position:absolute;
	top:100%;
	right:0;   
	margin:0;
	padding:6px;
	border:1px solid var(--line);
	border-radius:8px;
	background:#fff; 
	list-style:none;
	opacity:0;
	visibility:hidden;
	transform:translateY(-5px);
	transition:
		opacity .2s ease,
		visibility .2s ease,
		transform .2s ease;
	z-index:1;
}

.sort-dropdown.is-open .sort-dropdown__list{
	opacity:1;
	visibility:visible;
	transform:translateY(0);
}

.sort-dropdown__list button{
	display:block;
	width:100%;
	padding:5px 6px; 
	color:var(--color-text-sub);
	font-size:13px;
	text-align:left;
	cursor:pointer;
	white-space:nowrap;
	transition:background .3s ease, color .3s ease;
}

.sort-dropdown__list button:hover{ 
	color:#191c24;
}

.sort-dropdown__list button.is-active{ 
	color:#191c24;
	font-weight:600;
}

.talent-list {
    display: flex;
    flex-direction: column; 
}

.talent-card { 
    display: flex; 
    align-items: flex-start;
    gap: 30px;    
	padding:36px 0;
}
.talent-card + .talent-card{
	border-top:1px solid var(--line);

}
  
.talent-avatar{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:100px;
	aspect-ratio:1; 
	border-radius:20px; 
	overflow:hidden;
	    flex-shrink: 0;
}

.talent-avatar::before{
	content:'';
	position:absolute;
	inset:0;
	background: url('/images/icon-image.png') #ddd no-repeat center center / 30px;
	opacity:.3;
}

.talent-avatar img{
	width:100%;
	height:100%;
	object-fit:cover;
	position:relative;
	z-index:1;
}

.talent-main {
    min-width: 0;
	flex:1;
}

.talent-updated {
    display: block;
    margin-bottom: 5px;
    color: var(--color-text-muted);
    font-size: 13px; 
}

.talent-main h2 {
    margin: 0; 
    font-size: 18px; 
    font-weight: 750; 
}

.talent-main h2 span {
    font-size: 16px;
    font-weight: 600;
}

.talent-main h2 strong {
    margin-left: 5px;
    color: #1c59e9;
    font-size: 13px;
    font-weight: 700;
} 

.talent-main > strong,
.talent-work > strong {
    display: block;
    margin-top: 8px;  
    font-weight: 650;
}

.talent-main p,
.talent-work p {
    margin: 3px 0 0;
    color: var(--color-text-sub);
    font-size: 13px; 
}

.talent-work {
	gap: 12px;
    display: grid;
    grid-template-columns: 1fr 1fr;
	margin-top: 10px;
}
 
.talent-work strong{
	font-weight: 650;
}

@media (max-width: 1100px) {
    .talent-page {
        width: calc(100% - 32px);
    }

    .talent-layout {
        grid-template-columns: 230px minmax(0, 1fr);
        gap: 20px;
    }

    .talent-card {
        grid-template-columns: 76px minmax(0, 1fr) 180px;
        gap: 18px;
        padding-right: 22px;
    }

    .talent-avatar {
        width: 68px;
        height: 68px;
    }
}

@media (max-width: 800px) {
    .talent-page {
        width: calc(100% - 24px);
        padding-top: 24px;
    }

    .talent-layout {
        grid-template-columns: 1fr;
    }

    .talent-filter {
        position: static;
    }

    .talent-card {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .talent-work {
        grid-column: 2;
        padding-left: 0;
    }
}

@media (max-width: 560px) {
    .talent-banner {
        min-height: 128px;
    }

    .talent-banner__content {
        padding: 16px 20px;
    }

    .talent-banner h1 {
        font-size: 20px;
    }

    .talent-banner__link {
        left: 20px;
        top: auto;
        bottom: 15px;
    }

    .results-head {
        min-height: 64px;
    }

    .talent-card {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 14px;
        padding: 20px;
    }

    .talent-avatar {
        width: 54px;
        height: 54px;
    }

    .talent-work {
        grid-column: 1 / -1;
        padding-top: 12px;
        border-top: 1px solid #f0f1f2;
    }

    .talent-main h2 {
        font-size: 14px;
    }

    .talent-main h2 span,
    .talent-main h2 a,
    .talent-main > strong,
    .talent-work > strong,
    .talent-main p,
    .talent-work p,
    .talent-updated {
        font-size: 13px;
    }
}
