@use '../../../../../../../src/assets/styles/design-tokens';

.option-card {
	@include design-tokens.ov-card;
	@include design-tokens.ov-theme-transition;
	position: relative;
	cursor: pointer;
	border: 2px solid transparent;
	padding: var(--ov-meet-spacing-md);
	min-height: 120px;
	display: flex;
	flex-direction: column;
	height: -webkit-fill-available;
	height: -moz-available;
	height: fill-available;
	margin-top: 0;

	&:hover:not(.no-hover):not(.selected) {
		@include design-tokens.ov-hover-lift(-2px);
	}

	&.selected {
		border-color: var(--ov-meet-color-primary);
		box-shadow:
			var(--ov-meet-shadow-md),
			0 0 0 1px var(--ov-meet-color-primary);

		.selection-indicator .selection-icon {
			color: var(--ov-meet-color-primary);
		}
	}

	&.pro-feature {
		cursor: not-allowed;
		opacity: 0.55;
	}
	&.no-hover {
		&:hover {
			box-shadow: var(--ov-meet-card-shadow) !important;
		}
	}
	.selection-indicator {
		position: absolute;
		top: var(--ov-meet-spacing-sm);
		right: var(--ov-meet-spacing-sm);
		z-index: 2;

		.selection-icon {
			@include design-tokens.ov-icon(md);
			color: var(--ov-meet-text-hint);
			@include design-tokens.ov-theme-transition;

			&.selected {
				color: var(--ov-meet-color-primary);
				transform: scale(1.1);
			}
		}
	}

	.card-content {
		flex: 1;
		display: flex;
		flex-direction: column;
		margin-top: var(--ov-meet-spacing-xs);

		.card-image {
			margin-bottom: var(--ov-meet-spacing-md);
			border-radius: var(--ov-meet-border-radius-sm);
			overflow: hidden;

			img {
				width: 100%;
				height: 100%;
				object-fit: contain;
				display: block;
				@include design-tokens.ov-theme-transition;
			}

			// &:hover img {
			// 	transform: scale(1.02);
			// }
		}

		.card-header {
			display: flex;
			align-items: flex-start;
			gap: var(--ov-meet-spacing-sm);
			margin-bottom: var(--ov-meet-spacing-sm);
			align-items: center;
			font-weight: var(--ov-meet-font-weight-semibold);

			.option-icon {
				@include design-tokens.ov-icon(md);
				@include design-tokens.ov-theme-transition;
			}

			.option-title {
				flex: 1;
				margin: 0;
				font-size: var(--ov-meet-font-size-md);
				font-weight: var(--ov-meet-font-weight-medium);
				color: var(--ov-meet-text-primary);
				line-height: var(--ov-meet-line-height-tight);

				&.has-image {
					text-align: center;
				}

				.recommended-badge {
					display: inline-block;
					background: linear-gradient(45deg, var(--ov-meet-color-primary), var(--ov-meet-color-accent));
					color: var(--ov-meet-text-on-primary);
					padding: var(--ov-meet-spacing-xs) var(--ov-meet-spacing-sm);
					border-radius: var(--ov-meet-radius-sm);
					font-size: var(--ov-meet-font-size-xxs);
					font-weight: var(--ov-meet-font-weight-semibold);
					text-transform: uppercase;
					letter-spacing: 0.5px;
					margin-left: var(--ov-meet-spacing-xs);
					vertical-align: middle;
					animation: pulse 2s ease-in-out infinite;
				}
			}
		}

		.option-description {
			margin: 0;
			font-size: var(--ov-meet-font-size-sm);
			color: var(--ov-meet-text-secondary);
			line-height: var(--ov-meet-line-height-normal);
			flex: 1;
			text-align: center;
		}
	}
}

// Card selection animation
@keyframes cardSelect {
	0% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.02);
	}
	100% {
		transform: scale(1);
	}
}

.option-card.selected {
	animation: cardSelect 0.3s ease-out;
}
