/**
 * WooCommerce Integration Styles
 *
 * Styles for WooCommerce checkout and My Account social login integration.
 *
 * Uses --cmc-theme-* CSS variables from CM Core Library for theme style inheritance.
 *
 * @package Codemoy_Social_Login
 * @since 1.3.0
 * @updated 2.1.0 - Migrated to --cmc-theme-* variables
 */

/* ==========================================================================
   Social Accounts Tab
   ========================================================================== */

.cmsl-social-accounts {
	margin: 20px 0;
}

.cmsl-social-accounts h3 {
	margin-bottom: 15px;
}

.cmsl-social-accounts p {
	margin-bottom: 20px;
	color: var(--cmsl-text-secondary);
}

/* Status Badges */
.cmsl-status {
	display: inline-block;
	padding: 4px 8px;
	border-radius: var(--cmsl-radius-sm);
	font-size: 0.9em;
	font-weight: var(--cmsl-weight-medium);
}

.cmsl-status--connected {
	color: var(--cmsl-success);
	background-color: var(--cmsl-success-light);
}

.cmsl-status--not-connected {
	color: var(--cmsl-text-muted);
	background-color: var(--cmsl-gray-100);
}

/* Action Buttons */
.cmsl-button-connect {
	background-color: var(--cmc-plugin-primary) !important;
	color: var(--cmsl-white) !important;
	border-color: var(--cmc-plugin-primary) !important;
}

.cmsl-button-connect:hover,
.cmsl-button-connect:focus {
	background-color: var(--cmc-theme-secondary-color) !important;
	border-color: var(--cmc-theme-secondary-color) !important;
}

.cmsl-button-disconnect {
	background-color: var(--cmc-theme-error-color) !important;
	color: var(--cmsl-white) !important;
	border-color: var(--cmc-theme-error-color) !important;
}

.cmsl-button-disconnect:hover,
.cmsl-button-disconnect:focus {
	background-color: color-mix(in srgb, var(--cmc-theme-error-color) 100%, #000 20%) !important;
	border-color: color-mix(in srgb, var(--cmc-theme-error-color) 100%, #000 20%) !important;
}

/* Description Text */
.cmsl-description {
	margin-bottom: 1.5em;
	color: var(--cmsl-text-secondary);
	line-height: var(--cmsl-leading-normal);
}

/* Provider Info */
.cmsl-provider-info {
	display: flex;
	align-items: center;
	gap: 10px;
}

/* Status Badges (Alternative styling for WooCommerce pages) */
.cmsl-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 12px;
	border-radius: var(--cmsl-radius-md);
	font-size: 0.9em;
	font-weight: var(--cmsl-weight-medium);
}

.cmsl-badge--connected {
	background-color: var(--cmsl-success-light);
	color: var(--cmsl-success-text);
	border: 1px solid var(--cmsl-success-border);
}

.cmsl-badge--not-connected {
	background-color: var(--cmsl-gray-50);
	color: var(--cmsl-text-muted);
	border: 1px solid var(--cmsl-gray-300);
}

.cmsl-badge .dashicons {
	width: 16px;
	height: 16px;
	font-size: 16px;
	line-height: 1;
}

/* Action Buttons (Alternative styling with BEM notation) */
.cmsl-button--connect {
	background-color: var(--cmc-plugin-primary) !important;
	color: var(--cmsl-white) !important;
	border-color: var(--cmc-plugin-primary) !important;
	text-decoration: none !important;
	padding: 0.6180469716em 1.41575em !important;
	display: inline-block !important;
}

.cmsl-button--connect:hover {
	background-color: var(--cmc-theme-secondary-color) !important;
	color: var(--cmsl-white) !important;
	border-color: var(--cmc-theme-secondary-color) !important;
}

.cmsl-button--disconnect {
	background-color: var(--cmc-theme-error-color) !important;
	color: var(--cmsl-white) !important;
	border-color: var(--cmc-theme-error-color) !important;
	text-decoration: none !important;
	padding: 0.6180469716em 1.41575em !important;
	display: inline-block !important;
}

.cmsl-button--disconnect:hover {
	background-color: color-mix(in srgb, var(--cmc-theme-error-color) 100%, #000 20%) !important;
	color: var(--cmsl-white) !important;
	border-color: color-mix(in srgb, var(--cmc-theme-error-color) 100%, #000 20%) !important;
}

/* Social Accounts Table */
.cmsl-social-accounts-table {
	margin-top: 20px;
}

.cmsl-social-accounts-table th {
	font-weight: 600;
}

.cmsl-social-accounts-table td {
	vertical-align: middle;
}

/* ==========================================================================
   Checkout Page Social Login
   ========================================================================== */

.cmsl-woocommerce-checkout-login {
	margin-bottom: 20px;
	padding: 20px;
	border: 2px solid var(--cmc-plugin-primary);
	background: color-mix(in srgb, var(--cmc-plugin-primary) 5%, var(--cmc-theme-background-color));
	border-radius: var(--cmsl-radius-md);
	width: 100%;
	box-sizing: border-box;
}

.cmsl-woocommerce-checkout-login h3 {
	margin-top: 0;
	margin-bottom: 10px;
	color: var(--cmc-plugin-primary);
}

.cmsl-woocommerce-checkout-login p {
	margin-bottom: 15px;
	color: var(--cmsl-text-secondary);
}

/* Ensure social login buttons don't overflow */
.cmsl-woocommerce-checkout-login .cmsl-buttons-container,
.cmsl-woocommerce-checkout-login .cmsl-social-buttons,
.cmsl-woocommerce-checkout-login .cmsl-social-login-buttons {
	max-width: 100%;
	box-sizing: border-box;
}

/* Ensure individual buttons fit within container */
.cmsl-woocommerce-checkout-login .cmsl-social-button {
	max-width: 100%;
	box-sizing: border-box;
	word-wrap: break-word;
}

/* ==========================================================================
   Order Received Page Social Login (Registration)
   ========================================================================== */

.cmsl-woocommerce-order-received-login {
	margin-bottom: 20px;
	padding: 20px;
	border: 2px solid var(--cmc-theme-success-color);
	background: color-mix(in srgb, var(--cmc-theme-success-color) 5%, var(--cmc-theme-background-color));
	border-radius: var(--cmsl-radius-md);
	width: 100%;
	box-sizing: border-box;
}

.cmsl-woocommerce-order-received-login h3 {
	margin-top: 0;
	margin-bottom: 10px;
	color: var(--cmc-theme-success-color);
}

.cmsl-woocommerce-order-received-login p {
	margin-bottom: 15px;
	color: var(--cmsl-text-secondary);
}

/* Ensure social login buttons don't overflow */
.cmsl-woocommerce-order-received-login .cmsl-buttons-container,
.cmsl-woocommerce-order-received-login .cmsl-social-buttons,
.cmsl-woocommerce-order-received-login .cmsl-social-login-buttons {
	max-width: 100%;
	box-sizing: border-box;
}

/* Ensure individual buttons fit within container */
.cmsl-woocommerce-order-received-login .cmsl-social-button {
	max-width: 100%;
	box-sizing: border-box;
	word-wrap: break-word;
}

/* ==========================================================================
   Responsive Design
   ========================================================================== */

@media screen and (max-width: 768px) {
	/* Checkout and Order Received boxes - adjust padding on mobile */
	.cmsl-woocommerce-checkout-login,
	.cmsl-woocommerce-order-received-login {
		padding: 15px;
	}

	.woocommerce-table--social-accounts th {
		display: none;
	}

	.woocommerce-table--social-accounts td {
		display: block;
		text-align: right;
		padding: 10px;
		border: 0;
	}

	.woocommerce-table--social-accounts td::before {
		content: attr(data-title);
		float: left;
		font-weight: bold;
	}

	.cmsl-account-row {
		border-bottom: 2px solid var(--cmsl-border-light);
		margin-bottom: 15px;
	}

	/* Legacy table support */
	.cmsl-social-accounts-table th,
	.cmsl-social-accounts-table td {
		display: block;
		width: 100%;
	}

	.cmsl-social-accounts-table thead {
		display: none;
	}

	.cmsl-social-accounts-table td {
		text-align: right;
		padding-left: 50%;
		position: relative;
	}

	.cmsl-social-accounts-table td::before {
		content: attr(data-title);
		position: absolute;
		left: 15px;
		font-weight: 600;
		text-align: left;
	}

	.cmsl-social-accounts-table .cmsl-status {
		display: inline-block;
	}
}
