/**
 * KP Opt-in Bar 프론트엔드 셸 스타일.
 * 모든 셀렉터는 kpob- 접두사 / #kp-optin-bar 네임스페이스로 격리된다.
 * 사용자가 입력한 CSS는 이 파일 뒤에 인라인으로 출력된다.
 */

#kp-optin-bar {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	position: relative;
	z-index: 99998;
	font-family: inherit;
}

/* 스크롤 고정 */
#kp-optin-bar.kpob-sticky.kpob-pos-top {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
}

#kp-optin-bar.kpob-sticky.kpob-pos-bottom {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
}

/* 관리자 툴바와 겹치지 않도록 보정 */
body.admin-bar #kp-optin-bar.kpob-sticky.kpob-pos-top {
	top: 46px;
}

@media screen and (min-width: 783px) {
	body.admin-bar #kp-optin-bar.kpob-sticky.kpob-pos-top {
		top: 32px;
	}
}

/* 문서 흐름 내 위치(고정 아님) */
#kp-optin-bar.kpob-static.kpob-pos-top {
	position: relative;
}

#kp-optin-bar.kpob-static.kpob-pos-bottom {
	position: relative;
}

/* 열림/닫힘 상태 */
#kp-optin-bar.kpob-is-closed {
	display: none;
}

/* 닫기(X) 버튼: 사용자 HTML과 겹치지 않도록 콘텐츠에 여백 확보 */
#kp-optin-bar.kpob-has-close .kpob-content {
	padding-right: 56px;
}

#kp-optin-bar .kpob-close {
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	min-width: 36px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.25);
	color: #ffffff;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

#kp-optin-bar .kpob-close:hover,
#kp-optin-bar .kpob-close:focus-visible {
	background: rgba(0, 0, 0, 0.45);
}

/* 다시 열기 버튼 */
.kpob-reopen {
	display: none;
	position: fixed;
	right: 14px;
	z-index: 99997;
	align-items: center;
	gap: 4px;
	padding: 7px 14px;
	border: 0;
	border-radius: 0 0 10px 10px;
	background: #1e3a8a;
	color: #ffffff;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
	-webkit-appearance: none;
	appearance: none;
}

.kpob-reopen.kpob-reopen-pos-top {
	top: 0;
}

.kpob-reopen.kpob-reopen-pos-bottom {
	bottom: 0;
	border-radius: 10px 10px 0 0;
}

body.admin-bar .kpob-reopen.kpob-reopen-pos-top {
	top: 46px;
}

@media screen and (min-width: 783px) {
	body.admin-bar .kpob-reopen.kpob-reopen-pos-top {
		top: 32px;
	}
}

.kpob-reopen.kpob-is-visible {
	display: inline-flex;
}

.kpob-reopen:hover,
.kpob-reopen:focus-visible {
	background: #2563eb;
}

/* 모바일: 버튼·문구 이탈 및 가로 스크롤 방지 */
@media (max-width: 600px) {
	#kp-optin-bar.kpob-has-close .kpob-content {
		padding-right: 48px;
	}

	#kp-optin-bar .kpob-close {
		right: 6px;
		width: 32px;
		height: 32px;
		min-width: 32px;
		font-size: 18px;
	}

	.kpob-reopen {
		right: 10px;
		padding: 6px 12px;
	}
}
