/**
 * FirstVial membership UI styles.
 *
 * Deliberately consumes Kadence's own button custom properties
 * (--global-palette-btn-*) and palette tokens so these controls inherit the
 * active theme palette and any Customizer changes. Falls back to the default
 * Kadence palette values when the variables are unavailable.
 */

.fv-button {
	display: inline-block;
	box-sizing: border-box;
	cursor: pointer;
	text-decoration: none;
	font: inherit;
	font-weight: 600;
	line-height: 1.5;
	padding: 0.6em 1.4em;
	border: 2px solid transparent;
	border-radius: 9999px; /* matches Kadence pill buttons */
	background-color: var(--global-palette-btn-bg, var(--global-palette1, #2B6CB0));
	color: var(--global-palette-btn, var(--global-palette9, #ffffff));
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

.fv-button:hover,
.fv-button:focus {
	background-color: var(--global-palette-btn-bg-hover, var(--global-palette2, #215387));
	color: var(--global-palette-btn-hover, var(--global-palette9, #ffffff));
}

.fv-button:focus-visible {
	outline: 2px solid var(--global-palette1, #2B6CB0);
	outline-offset: 2px;
}

/* Secondary / login button — mirrors Kadence's secondary button palette. */
.fv-button--login {
	background-color: var(--global-palette-btn-sec-bg, var(--global-palette7, #EDF2F7));
	color: var(--global-palette-btn-sec, var(--global-palette3, #1A202C));
}

.fv-button--login:hover,
.fv-button--login:focus {
	background-color: var(--global-palette-btn-sec-bg-hover, var(--global-palette2, #215387));
	color: var(--global-palette-btn-sec-hover, var(--global-palette9, #ffffff));
}

/* Loading / disabled state set by checkout.js while a request is in flight. */
.fv-button.fv-busy,
.fv-button:disabled {
	opacity: 0.6;
	cursor: progress;
	pointer-events: none;
}

/* Space out adjacent buttons (e.g. monthly + annual). */
.fv-button + .fv-button {
	margin-left: 0.5em;
}

/* Locked-content notice shown by [firstvial_members_only] to non-members. */
.fv-locked {
	border: 1px solid var(--global-palette6, #718096);
	background-color: var(--global-palette8, #F7FAFC);
	color: var(--global-palette4, #2D3748);
	border-radius: 8px;
	padding: 1.5em;
	text-align: center;
}

.fv-locked p {
	margin: 0 0 1em;
}

/* Account status panel from [firstvial_account]. */
.fv-account-panel {
	border: 1px solid var(--global-palette7, #EDF2F7);
	border-radius: 8px;
	padding: 1.25em 1.5em;
	background-color: var(--global-palette9, #ffffff);
}

.fv-account {
	list-style: none;
	margin: 0 0 1em;
	padding: 0;
}

.fv-account li {
	padding: 0.35em 0;
	border-bottom: 1px solid var(--global-palette7, #EDF2F7);
	color: var(--global-palette4, #2D3748);
}

.fv-account li:last-child {
	border-bottom: 0;
}
