:root {
	--site-btn-radius: 999px;
	--site-btn-height-sm: 32px;
	--site-btn-height-md: 40px;
	--site-btn-height-lg: 46px;
	--site-btn-padding-x-sm: 14px;
	--site-btn-padding-x-md: 18px;
	--site-btn-padding-x-lg: 24px;
	--site-btn-transition: 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
	--site-btn-focus-ring: 0 0 0 4px rgba(0, 113, 227, 0.2);
	--site-btn-primary-bg: #0071e3;
	--site-btn-primary-hover: #0077ed;
	--site-btn-primary-active: #006edb;
	--site-btn-primary-shadow: 0 1px 2px rgba(0, 0, 0, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.18);
	--site-btn-secondary-bg: rgba(255, 255, 255, 0.86);
	--site-btn-secondary-border: rgba(29, 29, 31, 0.14);
	--site-btn-secondary-text: #1d1d1f;
	--site-btn-secondary-hover: #f5f5f7;
	--site-btn-secondary-active: #e8e8ed;
	--site-btn-secondary-shadow: 0 1px 2px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.75);
	--site-btn-ghost-hover: rgba(29, 29, 31, 0.08);
	--site-btn-danger-bg: #d70015;
	--site-btn-danger-hover: #e30017;
	--site-btn-danger-active: #c50013;
	--site-btn-danger-soft-bg: #fff2f4;
	--site-btn-danger-soft-border: rgba(215, 0, 21, 0.24);
	--site-btn-danger-soft-text: #b80012;
	--site-btn-danger-soft-hover: #ffe4e8;
	--site-btn-kakao-bg: #fee500;
	--site-btn-kakao-text: #191919;
	--site-btn-naver-bg: #03c75a;
	--site-btn-tel-bg: #0071e3;
}

button:not(:disabled),
input[type="button"]:not(:disabled),
input[type="submit"]:not(:disabled),
input[type="reset"]:not(:disabled),
input[type="image"]:not(:disabled),
input[type="radio"]:not(:disabled),
input[type="checkbox"]:not(:disabled),
input[type="file"]:not(:disabled),
input[type="color"]:not(:disabled),
input[type="range"]:not(:disabled),
select:not(:disabled),
summary,
[role="button"],
[role="tab"],
[role="switch"],
[role="checkbox"],
[role="radio"],
[data-site-modal-action],
[data-admin-modal-close],
[data-admin-modal-trigger] {
	cursor: pointer;
}

label[for] {
	cursor: pointer;
}

@supports selector(label:has(input)) {
	label:has(input[type="radio"]:not(:disabled)),
	label:has(input[type="checkbox"]:not(:disabled)),
	label:has(input[type="file"]:not(:disabled)) {
		cursor: pointer;
	}
}

button:disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled,
input[type="image"]:disabled,
input[type="radio"]:disabled,
input[type="checkbox"]:disabled,
input[type="file"]:disabled,
input[type="color"]:disabled,
input[type="range"]:disabled,
select:disabled,
[aria-disabled="true"] {
	cursor: not-allowed;
}

input[type="radio"],
input[type="checkbox"] {
	display: inline-grid;
	place-content: center;
	width: 16px;
	height: 16px;
	margin: 0;
	border: 1px solid rgba(29, 29, 31, 0.24);
	background-color: rgba(255, 255, 255, 0.96);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.04);
	cursor: pointer;
	vertical-align: -2px;
	transition:
		background-color var(--site-btn-transition),
		border-color var(--site-btn-transition),
		box-shadow var(--site-btn-transition);
	-webkit-appearance: none;
	appearance: none;
}

input[type="radio"] {
	border-radius: 50%;
}

input[type="checkbox"] {
	border-radius: 4px;
}

input[type="radio"]:hover,
input[type="checkbox"]:hover {
	border-color: rgba(0, 113, 227, 0.48);
	background-color: #fff;
}

input[type="radio"]:focus-visible,
input[type="checkbox"]:focus-visible {
	outline: 0;
	border-color: var(--site-btn-primary-bg);
	box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.18);
}

input[type="radio"]:checked {
	border-color: var(--site-btn-primary-bg);
	background: radial-gradient(circle at center, #fff 0 28%, var(--site-btn-primary-bg) 32% 100%);
	box-shadow: 0 0 0 1px rgba(0, 113, 227, 0.08);
}

input[type="checkbox"]:checked {
	border-color: var(--site-btn-primary-bg);
	background-color: var(--site-btn-primary-bg);
	background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.1 7.15L5.65 9.7L10.9 4.3' stroke='white' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 13px 13px;
	box-shadow: 0 0 0 1px rgba(0, 113, 227, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
	border-color: rgba(29, 29, 31, 0.12);
	background: #f5f5f7;
	box-shadow: none;
	cursor: not-allowed;
	opacity: 0.7;
}

input[type="radio"]:checked:disabled {
	border-color: var(--site-btn-primary-bg);
	background: radial-gradient(circle at center, #fff 0 28%, var(--site-btn-primary-bg) 32% 100%);
	box-shadow: 0 0 0 1px rgba(0, 113, 227, 0.08);
	opacity: 0.72;
}

input[type="checkbox"]:checked:disabled {
	border-color: var(--site-btn-primary-bg);
	background-color: var(--site-btn-primary-bg);
	background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.1 7.15L5.65 9.7L10.9 4.3' stroke='white' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 13px 13px;
	box-shadow: 0 0 0 1px rgba(0, 113, 227, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.2);
	opacity: 0.72;
}

.site-btn,
.admin-btn,
.site-button,
.btn,
.btn-default {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: var(--site-btn-height-md);
	padding: 0 var(--site-btn-padding-x-md);
	border: 1px solid var(--site-btn-secondary-border);
	border-radius: var(--site-btn-radius);
	background: var(--site-btn-secondary-bg);
	color: var(--site-btn-secondary-text);
	box-shadow: var(--site-btn-secondary-shadow);
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Noto Sans KR", "Segoe UI", sans-serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	vertical-align: middle;
	cursor: pointer;
	transition:
		opacity var(--site-btn-transition),
		background-color var(--site-btn-transition),
		border-color var(--site-btn-transition),
		color var(--site-btn-transition),
		box-shadow var(--site-btn-transition),
		transform var(--site-btn-transition);
	user-select: none;
	-webkit-appearance: none;
	appearance: none;
	-webkit-font-smoothing: antialiased;
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	backdrop-filter: saturate(180%) blur(14px);
}

.site-btn:hover,
.site-btn:focus,
.site-btn:active,
.admin-btn:hover,
.admin-btn:focus,
.admin-btn:active,
.site-button:hover,
.site-button:focus,
.site-button:active,
.btn:hover,
.btn:focus,
.btn:active,
.btn-default:hover,
.btn-default:focus,
.btn-default:active {
	text-decoration: none;
}

a.site-btn,
a.site-btn:link,
a.site-btn:visited,
a.admin-btn,
a.admin-btn:link,
a.admin-btn:visited,
a.site-button,
a.site-button:link,
a.site-button:visited,
a.btn,
a.btn:link,
a.btn:visited,
a.btn-default,
a.btn-default:link,
a.btn-default:visited {
	text-decoration: none;
}

.site-btn:focus-visible,
.admin-btn:focus-visible,
.site-button:focus-visible,
.btn:focus-visible,
.btn-default:focus-visible {
	outline: 0;
	box-shadow: var(--site-btn-focus-ring);
}

.site-btn:hover,
.admin-btn:hover,
.site-button:hover,
.btn:hover,
.btn-default:hover {
	transform: translateY(-1px);
}

.site-btn:active,
.admin-btn:active,
.site-button:active,
.btn:active,
.btn-default:active {
	transform: translateY(0);
}

.site-btn[disabled],
.site-btn.is-disabled,
.admin-btn[disabled],
.admin-btn.is-disabled,
.site-button[disabled],
.site-button.is-disabled,
.btn[disabled],
.btn.is-disabled,
.btn-default[disabled],
.btn-default.is-disabled {
	opacity: 0.55;
	cursor: not-allowed;
	pointer-events: none;
}

.site-btn-sm,
.admin-btn-sm {
	min-height: var(--site-btn-height-sm);
	padding: 0 var(--site-btn-padding-x-sm);
	font-size: 13px;
}

.site-btn-md,
.admin-btn-md {
	min-height: var(--site-btn-height-md);
	padding: 0 var(--site-btn-padding-x-md);
}

.site-btn-lg,
.admin-btn-lg {
	min-height: var(--site-btn-height-lg);
	padding: 0 var(--site-btn-padding-x-lg);
	font-size: 15px;
	font-weight: 600;
}

.site-btn-block,
.admin-btn-block {
	display: flex;
	width: 100%;
}

.site-btn-primary,
.admin-btn-primary {
	background: linear-gradient(180deg, var(--site-btn-primary-hover) 0%, var(--site-btn-primary-bg) 100%);
	border-color: var(--site-btn-primary-bg);
	color: #fff;
	box-shadow: var(--site-btn-primary-shadow);
}

a.site-btn-primary:link,
a.site-btn-primary:visited,
a.admin-btn-primary:link,
a.admin-btn-primary:visited {
	color: #fff;
}

.site-btn-primary:hover,
.admin-btn-primary:hover {
	background: linear-gradient(180deg, #1683f8 0%, var(--site-btn-primary-hover) 100%);
	border-color: var(--site-btn-primary-hover);
	color: #fff;
	box-shadow: 0 3px 8px rgba(0, 113, 227, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.site-btn-primary:active,
.admin-btn-primary:active {
	background: var(--site-btn-primary-active);
	border-color: var(--site-btn-primary-active);
}

.site-btn-secondary,
.admin-btn-secondary,
.site-button,
.btn,
.btn-default {
	background: var(--site-btn-secondary-bg);
	border-color: var(--site-btn-secondary-border);
	color: var(--site-btn-secondary-text);
	box-shadow: var(--site-btn-secondary-shadow);
}

a.site-btn-secondary:link,
a.site-btn-secondary:visited,
a.admin-btn-secondary:link,
a.admin-btn-secondary:visited,
a.site-button:link,
a.site-button:visited,
a.btn:link,
a.btn:visited,
a.btn-default:link,
a.btn-default:visited {
	color: var(--site-btn-secondary-text);
}

.site-btn-secondary:hover,
.admin-btn-secondary:hover,
.site-button:hover,
.btn:hover,
.btn-default:hover {
	background: var(--site-btn-secondary-hover);
	border-color: var(--site-btn-secondary-border);
	color: var(--site-btn-secondary-text);
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.09), inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.site-btn-secondary:active,
.admin-btn-secondary:active,
.site-button:active,
.btn:active,
.btn-default:active {
	background: var(--site-btn-secondary-active);
}

.site-btn-outline,
.admin-btn-outline {
	background: rgba(255, 255, 255, 0.72);
	border-color: var(--site-btn-primary-bg);
	color: var(--site-btn-primary-bg);
	box-shadow: none;
}

.site-btn-outline:hover,
.admin-btn-outline:hover {
	background: rgba(0, 113, 227, 0.08);
	color: var(--site-btn-primary-bg);
}

.site-btn-ghost,
.admin-btn-ghost {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	color: var(--site-btn-secondary-text);
}

.site-btn-ghost:hover,
.admin-btn-ghost:hover {
	background: var(--site-btn-ghost-hover);
	color: var(--site-btn-secondary-text);
}

.admin-btn-ghost.admin-btn-ghost-light {
	color: #fff;
}

.admin-btn-ghost.admin-btn-ghost-light:hover {
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
}

.site-btn-danger,
.admin-btn-danger {
	background: linear-gradient(180deg, var(--site-btn-danger-hover) 0%, var(--site-btn-danger-bg) 100%);
	border-color: var(--site-btn-danger-bg);
	color: #fff;
	box-shadow: 0 1px 2px rgba(215, 0, 21, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.site-btn-danger:hover,
.admin-btn-danger:hover {
	background: var(--site-btn-danger-hover);
	border-color: var(--site-btn-danger-hover);
	color: #fff;
}

.site-btn-danger:active,
.admin-btn-danger:active {
	background: var(--site-btn-danger-active);
	border-color: var(--site-btn-danger-active);
}

.site-btn-danger-soft,
.admin-btn-danger-soft {
	background: var(--site-btn-danger-soft-bg);
	border-color: var(--site-btn-danger-soft-border);
	color: var(--site-btn-danger-soft-text);
}

.site-btn-danger-soft:hover,
.admin-btn-danger-soft:hover {
	background: var(--site-btn-danger-soft-hover);
	color: var(--site-btn-danger-soft-text);
}

.site-btn-icon,
.admin-btn-icon {
	width: 36px;
	height: 36px;
	min-width: 36px;
	min-height: 36px;
	padding: 0;
}

.site-btn-icon.site-btn-sm,
.admin-btn-icon.admin-btn-sm {
	width: 32px;
	height: 32px;
	min-width: 32px;
	min-height: 32px;
}

.site-btn-top {
	min-width: 120px;
	background: linear-gradient(180deg, var(--site-btn-primary-hover) 0%, var(--site-btn-primary-bg) 100%);
	border-color: var(--site-btn-primary-bg);
	color: #fff;
	box-shadow: var(--site-btn-primary-shadow);
}

a.site-btn-top:link,
a.site-btn-top:visited {
	color: #fff;
}

.site-btn-top:hover {
	background: linear-gradient(180deg, #1683f8 0%, var(--site-btn-primary-hover) 100%);
	color: #fff;
}

.return-top {
	display: none;
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9999;
}

.site-header-menu-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #1d1d1f;
	font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Noto Sans KR", "Segoe UI", sans-serif;
	cursor: pointer;
	transition:
		background-color var(--site-btn-transition),
		transform var(--site-btn-transition);
}

.site-header-menu-button:hover {
	background: var(--site-btn-ghost-hover);
	transform: translateY(-1px);
}

.site-btn-kakao {
	background: var(--site-btn-kakao-bg);
	border-color: var(--site-btn-kakao-bg);
	color: var(--site-btn-kakao-text);
}

.site-btn-naver {
	background: var(--site-btn-naver-bg);
	border-color: var(--site-btn-naver-bg);
	color: #fff;
	box-shadow: 0 1px 2px rgba(3, 199, 90, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

a.site-btn-naver:link,
a.site-btn-naver:visited {
	color: #fff;
}

.site-btn-tel {
	background: linear-gradient(180deg, var(--site-btn-primary-hover) 0%, var(--site-btn-tel-bg) 100%);
	border-color: var(--site-btn-tel-bg);
	color: #fff;
	box-shadow: var(--site-btn-primary-shadow);
}

a.site-btn-tel:link,
a.site-btn-tel:visited {
	color: #fff;
}

.admin-btn-home {
	background: rgba(255, 255, 255, 0.1);
	border-color: transparent;
	color: #fff;
	box-shadow: none;
}

.admin-btn-home:hover {
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
}

.admin-btn-nav {
	justify-content: flex-start;
	min-height: 40px;
	padding: 0 12px;
	border-color: transparent;
	font-weight: 500;
	box-shadow: none;
}

.admin-btn-nav.is-active {
	background: rgba(255, 255, 255, 0.96);
	color: #1d1d1f;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

.admin-btn-nav:not(.is-active) {
	background: transparent;
	color: #e2e8f0;
}

.admin-btn-nav:not(.is-active):hover {
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
}

.admin-btn-login {
	background: linear-gradient(180deg, var(--site-btn-primary-hover) 0%, var(--site-btn-primary-bg) 100%);
	border-color: var(--site-btn-primary-bg);
	color: #fff;
	box-shadow: var(--site-btn-primary-shadow);
}

.admin-btn-login:hover {
	background: linear-gradient(180deg, #1683f8 0%, var(--site-btn-primary-hover) 100%);
	border-color: var(--site-btn-primary-hover);
	color: #fff;
}
