.ct-acc-widget {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}
.ct-acc-widget-icon {
	display: inline-flex;
}
.ct-acc-widget-icon svg {
	stroke: #333 !important;
	fill: none;
}
.ct-acc-widget-text {
	font-size: 14px;
	white-space: nowrap;
}

.ct-acc-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease;
	z-index: 100000;
}
.ct-acc-overlay.ct-acc-open {
	opacity: 1;
	visibility: visible;
}

.ct-acc-popup {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -46%);
	width: 360px;
	max-width: 92vw;
	background: #fff;
	border-radius: 10px;
	z-index: 100001;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, transform 0.2s ease;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
}
.ct-acc-popup.ct-acc-open {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, -50%);
}
.ct-acc-popup-inner {
	padding: 26px 24px 22px;
	position: relative;
}
.ct-acc-popup-close {
	position: absolute;
	top: 10px;
	right: 12px;
	background: none;
	border: none;
	font-size: 22px;
	cursor: pointer;
	color: #999;
}
.ct-acc-tabs {
	display: flex;
	gap: 6px;
	margin-bottom: 18px;
	border-bottom: 1px solid #eee;
}
.ct-acc-tab {
	background: none;
	border: none;
	padding: 8px 4px 12px;
	font-size: 14px;
	font-weight: 600;
	color: #999;
	cursor: pointer;
	border-bottom: 2px solid transparent;
	margin-right: 14px;
}
.ct-acc-tab.active {
	color: #222;
	border-bottom-color: #EC4C7D;
}
.ct-acc-form label {
	display: block;
	font-size: 12.5px;
	color: #555;
	margin-bottom: 12px;
}
.ct-acc-form input[type="text"],
.ct-acc-form input[type="email"],
.ct-acc-form input[type="password"] {
	display: block;
	width: 100%;
	margin-top: 5px;
	padding: 10px 12px;
	border: 1px solid #ddd;
	border-radius: 6px;
	font-size: 13.5px;
	box-sizing: border-box;
}
.ct-acc-hint {
	display: block;
	color: #999;
	font-size: 11px;
	margin-top: 4px;
}
.ct-acc-remember {
	display: flex !important;
	align-items: center;
	gap: 6px;
}
.ct-acc-remember input {
	margin: 0;
}
.ct-acc-submit {
	width: 100%;
	padding: 11px;
	background: #EC4C7D;
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	margin-top: 4px;
}
.ct-acc-lost-pw {
	display: block;
	text-align: center;
	font-size: 12px;
	color: #888;
	margin-top: 14px;
	text-decoration: none;
}
.ct-acc-msg .ct-acc-notice {
	font-size: 12.5px;
	padding: 8px 10px;
	border-radius: 6px;
	margin-bottom: 12px;
}
.ct-acc-notice-error {
	background: #fdecea;
	color: #b3261e;
}
.ct-acc-notice-success {
	background: #eaf7ec;
	color: #256029;
}
