@use 'sass:map';
@use '../../../base/mixins/glass' as glass;
@use '../../../base/mixins/breakpoints' as break;
@use '../../../base/mixins/gradient-border' as gradient;
@use '../../../base/maps/tokens' as *;
@use '../../../base/functions' as *;
@use '../../../base/decorations/backgrounds' as *;

.card {
	display: flex;
	flex-direction: column;
	position: relative;
	border-style: solid;
	border-width: var(--padding-hairline);
	border-radius: var(--radius-small);
	transition: var(--transition-fast);
	overflow: hidden;
	background-color: with-opacity(var(--ui-fill), 80);
	border-color: with-opacity(var(--ui-stroke), 30);

	&-wrapper {
		position: relative;
	}

	&-banner {
		overflow: hidden;
		border-radius: var(--radius-extra-small) var(--radius-extra-small) 0 0;
	}

	&-headshot {
		aspect-ratio: 1 /1; // square
	}

	&-body {
		padding: var(--padding-medium);
		display: flex;
		flex-direction: column;
		gap: var(--padding-extra-small);
		flex-grow: 1;
	}

	&.spotlight {
		box-shadow: none;
	}

	.bio-trigger {
		display: flex;
		align-items: center;
		gap: var(--padding-extra-small);
		cursor: pointer;
		margin-left: auto;
		outline: none;
		border-radius: var(--radius-small);
		transition: var(--transition-fast);
		color: var(--action);

		&:hover {
			color: var(--action-tertiary);
		}

		&:focus {
			color: var(--action);
			outline: 2px solid var(--action);
			outline-offset: 2px;
		}
	}
}

.card-decorated {
	position: relative;
	padding: var(--padding-huge);
	max-width: brandui-col-spacing(12);
	border-radius: var(--radius-small);
	overflow: hidden;
	box-shadow: var(--shadow-far);
	background-color: with-opacity(var(--ui-fill), 80);
	border-color: with-opacity(var(--ui-stroke), 30);

	@include gradient.gradient-border;

	@include break.max-mobile {
		padding: var(--padding-large);
	}
}
