/**
 * BB Google Login - Frontend Styles
 *
 * @package BB_Google_Login
 */

/* Container */
.bb-google-login-container {
	margin: 15px 0;
	text-align: center;
}

/* Button */
.bb-google-login-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 300px;
	padding: 0;
	text-decoration: none;
	cursor: pointer;
	border: 1px solid #dadce0;
	border-radius: 4px;
	background-color: #fff;
	transition: background-color 0.2s, box-shadow 0.2s;
}

.bb-google-login-button:hover {
	background-color: #f8f9fa;
	box-shadow: 0 1px 2px 0 rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);
}

.bb-google-login-button:active {
	background-color: #eee;
}

.bb-google-login-button:focus {
	outline: none;
	box-shadow: 0 0 0 2px #4285f4;
}

/* Button Inner */
.bb-google-login-button-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 10px 16px;
}

/* Icon */
.bb-google-login-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	margin-right: 12px;
}

.bb-google-login-icon svg {
	width: 20px;
	height: 20px;
}

/* Text */
.bb-google-login-text {
	font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #3c4043;
	letter-spacing: 0.25px;
	white-space: nowrap;
}

/* Separator */
.bb-google-login-separator {
	display: flex;
	align-items: center;
	margin: 20px 0;
	text-align: center;
}

.bb-google-login-separator::before,
.bb-google-login-separator::after {
	flex: 1;
	content: '';
	border-bottom: 1px solid #dadce0;
}

.bb-google-login-separator span {
	padding: 0 15px;
	font-size: 13px;
	color: #5f6368;
	text-transform: uppercase;
}

/* Register Page Wrapper */
.bb-google-login-register-wrapper {
	margin-bottom: 30px;
	padding-bottom: 20px;
	border-bottom: 1px solid #e5e5e5;
}

/* WordPress Login Page Styles */
.login .bb-google-login-container {
	margin: 20px 0;
}

.login .bb-google-login-button {
	max-width: 100%;
}

.login .bb-google-login-separator {
	margin: 25px 0 20px;
}

/* BuddyBoss/BuddyPress Styles */
.buddypress .bb-google-login-container,
.bp-nouveau .bb-google-login-container {
	margin: 20px 0;
}

.buddypress .bb-google-login-button,
.bp-nouveau .bb-google-login-button {
	max-width: 100%;
}

/* ReadyLaunch Theme Compatibility */
.bb-onscreen .bb-google-login-container {
	margin: 15px 0;
}

.bb-onscreen .bb-google-login-button {
	border-radius: 8px;
}

/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
	.bb-google-login-button {
		border-color: #5f6368;
		background-color: #202124;
	}

	.bb-google-login-button:hover {
		background-color: #303134;
	}

	.bb-google-login-text {
		color: #e8eaed;
	}

	.bb-google-login-separator::before,
	.bb-google-login-separator::after {
		border-color: #5f6368;
	}

	.bb-google-login-separator span {
		color: #9aa0a6;
	}
}

/* Responsive */
@media screen and (max-width: 480px) {
	.bb-google-login-button {
		max-width: 100%;
	}

	.bb-google-login-button-inner {
		padding: 12px 16px;
	}

	.bb-google-login-text {
		font-size: 15px;
	}
}

/* Error Message */
.bb-google-login-error {
	margin: 15px 0;
	padding: 12px 15px;
	color: #721c24;
	background-color: #f8d7da;
	border: 1px solid #f5c6cb;
	border-radius: 4px;
}

/* Loading State */
.bb-google-login-button.loading {
	pointer-events: none;
	opacity: 0.7;
}

.bb-google-login-button.loading .bb-google-login-text::after {
	content: '...';
	animation: bb-google-dots 1.5s infinite;
}

@keyframes bb-google-dots {
	0%, 20% {
		content: '.';
	}
	40% {
		content: '..';
	}
	60%, 100% {
		content: '...';
	}
}

/* RTL Support */
html[dir="rtl"] .bb-google-login-icon {
	margin-right: 0;
	margin-left: 12px;
}

html[dir="rtl"] .bb-google-login-button-inner {
	flex-direction: row-reverse;
}
