/* CB Members frontend styles */
.cbm-topbar-link {
	display: inline-block;
	margin: 0 10px 0 0;
	padding: 2px 10px;
	border-radius: 12px;
	font-size: 12px;
	line-height: 20px;
	text-decoration: none;
	color: #fff !important;
	background: linear-gradient(135deg, #e0447c, #9b2ce0);
	white-space: nowrap;
	vertical-align: middle;
}
.cbm-topbar-link:hover { opacity: .85; color: #fff; }
.cbm-top-pending { background: #4a4a55; }
.cbm-top-member { background: linear-gradient(135deg, #c9a227, #8a6d1a); }

.cbm-notice-bar {
	position: relative;
	z-index: 99999;
	background: linear-gradient(90deg, #e0447c, #9b2ce0);
	color: #fff;
	padding: 10px 44px 10px 16px;
	font-size: 14px;
	text-align: center;
}
.cbm-notice-bar button {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: 0;
	color: #fff;
	font-size: 20px;
	cursor: pointer;
}

.cbm-modal-redirect { padding: 24px; text-align: center; }
.cbm-modal-redirect .cbm-btn {
	display: inline-block;
	margin: 10px 0;
	padding: 10px 22px;
	border-radius: 6px;
	background: linear-gradient(135deg, #e0447c, #9b2ce0);
	color: #fff;
	text-decoration: none;
	font-weight: 600;
}
.cbm-modal-redirect .cbm-sub { font-size: 12px; opacity: .7; }

/* Hard-hide broadcaster tools for non-broadcasters (covers menus the JS may miss) */
body.cbm-not-broadcaster a[href$="/broadcast/"],
body.cbm-not-broadcaster a[href$="/submit-a-video/"],
body.cbm-not-broadcaster li.menu-item a[href*="/broadcast"],
body.cbm-not-broadcaster li.menu-item a[href*="/submit-a-video"] { display: none !important; }

/* Guest top bar restyle (v1.1.1) */
.cbm-welcome {
	font-weight: 600;
	letter-spacing: .3px;
	background: linear-gradient(90deg, #e0447c, #c93cf0);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
a.cbm-top-login {
	box-sizing: border-box;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	gap: 7px;
	width: auto !important;
	height: 36px !important;
	min-height: 36px !important;
	max-height: 36px !important;
	min-width: 112px;
	margin-right: 8px;
	padding: 0 11px 0 4px !important;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 999px;
	color: #fff !important;
	text-decoration: none !important;
	background: linear-gradient(118deg, #ff1f72 0%, #ff3f9e 52%, #923cff 100%);
	box-shadow: 0 7px 18px rgba(255, 31, 114, .27), inset 0 1px 0 rgba(255, 255, 255, .34);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 12px !important;
	font-weight: 800;
	line-height: 1 !important;
	letter-spacing: .01em;
	transform: translateY(0);
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
a.cbm-top-login::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	background: linear-gradient(110deg, rgba(255, 255, 255, .2), transparent 38%, transparent 70%, rgba(255, 255, 255, .1));
	transform: translateX(-58%);
	transition: transform .42s ease;
}
a.cbm-top-login .cbm-login-icon {
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	flex: 0 0 26px;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 50%;
	background: rgba(39, 4, 35, .18);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .24);
}
a.cbm-top-login .cbm-login-icon svg {
	width: 16px;
	height: 16px;
	fill: rgba(255, 255, 255, .12);
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}
a.cbm-top-login .cbm-login-label { white-space: nowrap; }
a.cbm-top-login .cbm-login-arrow {
	display: grid;
	place-items: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: rgba(42, 3, 42, .14);
}
a.cbm-top-login .cbm-login-arrow svg {
	width: 13px;
	height: 13px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform .18s ease;
}
a.cbm-top-login:hover,
a.cbm-top-login:focus-visible {
	color: #fff !important;
	opacity: 1;
	filter: saturate(1.08) brightness(1.04);
	transform: translateY(-1px);
	box-shadow: 0 14px 30px rgba(255, 31, 114, .38), inset 0 1px 0 rgba(255, 255, 255, .38);
}
a.cbm-top-login:hover::before,
a.cbm-top-login:focus-visible::before { transform: translateX(54%); }
a.cbm-top-login:hover .cbm-login-arrow svg,
a.cbm-top-login:focus-visible .cbm-login-arrow svg { transform: translateX(2px); }
a.cbm-top-login:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
}
a.cbm-top-login:active {
	transform: translateY(1px) scale(.985);
	box-shadow: 0 7px 16px rgba(255, 31, 114, .26), inset 0 1px 0 rgba(255, 255, 255, .3);
}

@media (max-width: 720px) {
	a.cbm-top-login { min-height: 36px !important; padding: 0 10px 0 5px !important; gap: 7px; }
	a.cbm-top-login .cbm-login-icon { width: 28px; height: 28px; flex-basis: 28px; }
	a.cbm-top-login .cbm-login-arrow { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	a.cbm-top-login,
	a.cbm-top-login::before,
	a.cbm-top-login .cbm-login-arrow svg { transition: none; }
}

/* AmuzeGirls section divider (v1.4.0) */
#widget_videos_block-1 {
	padding-bottom: 26px;
	margin-bottom: 34px;
	border-bottom: 3px solid;
	border-image: linear-gradient(90deg, #e0447c, #9b2ce0, transparent) 1;
}

/* Staff HQ pill */
a.cbm-top-hq {
	background: linear-gradient(135deg, #2ea043, #1d7a33);
	color: #fff !important;
}
