/**
 * APDB Likes and Bookmarks Styles
 *
 * Social network style buttons for likes and bookmarks
 *
 * @package APDB
 * @since 1.0.0
 */

:root {
	--apdb-like-active: #a63930;
	--apdb-like-hover: #c55856;
	--apdb-like-inactive: #a3a3a3;
	--apdb-bookmark-active: #a63930;
	--apdb-bookmark-hover: #a394a6;
	--apdb-bookmark-inactive: #a3a3a3;
}

/* Container */
.apdb-social-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	margin: 1rem 0;
	position: relative;

}

/* Buttons */
.apdb-like-btn,
.apdb-bookmark-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.5rem 1rem;
	background: transparent;
	border: 1px solid var(--border-light, rgba(0, 0, 0, 0.1));
	border-radius: 9999px;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--text-secondary, #333);
	cursor: pointer;
	transition: all 0.2s ease;
	user-select: none;
	height: 2.25rem;
	box-sizing: border-box;

}

.apdb-like-btn:hover,
.apdb-bookmark-btn:hover {
	background: var(--bg-secondary, rgba(0, 0, 0, 0.03));
	border-color: var(--border-medium, rgba(0, 0, 0, 0.15));
	transform: translateY(-1px);

}

.apdb-like-btn:active,
.apdb-bookmark-btn:active {
	transform: translateY(0);

}

.apdb-like-btn:focus,
.apdb-bookmark-btn:focus {
	outline: 2px solid var(--apdb-primary-color, #0066cc);
	outline-offset: 2px;

}

/* Disabled state */
.apdb-like-btn.apdb-disabled {
	cursor: not-allowed;
	opacity: 0.6;

}

.apdb-like-btn.apdb-disabled:hover {
	background: transparent;
	border-color: var(--border-light, rgba(0, 0, 0, 0.1));
	transform: none;

}

/* Processing state */
.apdb-like-btn.apdb-processing,
.apdb-bookmark-btn.apdb-processing {
	pointer-events: none;
	opacity: 0.7;

}

/* Icon sizing - ensure consistent dimensions */
.apdb-like-btn i.fa-heart,
.apdb-like-btn .aps-icon--heart,
.apdb-bookmark-btn i.fa-bookmark,
.apdb-bookmark-btn .aps-icon--bookmark {
	font-size: 1.125rem;
	transition: all 0.2s ease;
	width: 1.125rem;
	min-width: 1.125rem;
	text-align: center;
	display: inline-block;

}

/* Like button colors */
.apdb-like-btn[data-liked="true"] i.fa-heart,
.apdb-like-btn[data-liked="true"] .aps-icon--heart {
	color: var(--apdb-like-active);

}

.apdb-like-btn[data-liked="false"] i.fa-heart,
.apdb-like-btn[data-liked="false"] .aps-icon--heart {
	color: var(--apdb-like-inactive);

}

.apdb-like-btn:hover:not(.apdb-disabled) i.fa-heart,
.apdb-like-btn:hover:not(.apdb-disabled) .aps-icon--heart {
	color: var(--apdb-like-hover);

}

/* Bookmark button colors */
.apdb-bookmark-btn[data-bookmarked="true"] i.fa-bookmark,
.apdb-bookmark-btn[data-bookmarked="true"] .aps-icon--bookmark {
	color: var(--apdb-bookmark-active);

}

.apdb-bookmark-btn[data-bookmarked="false"] i.fa-bookmark,
.apdb-bookmark-btn[data-bookmarked="false"] .aps-icon--bookmark {
	color: var(--apdb-bookmark-inactive);

}

.apdb-bookmark-btn:hover i.fa-bookmark,
.apdb-bookmark-btn:hover .aps-icon--bookmark {
	color: var(--apdb-bookmark-hover);

}

/* Count and labels */
.apdb-like-count {
	font-weight: 600;
	text-align: left;
	font-size: 0.875rem;

}

/* Ensure both buttons have consistent padding */
.apdb-bookmark-btn {
	padding-left: 1rem;
	padding-right: 1rem;

}

.apdb-like-label,
.apdb-bookmark-label {
	display: none;

}

/* Animations */
.apdb-animating {
	animation: apdb-pulse 0.3s ease-in-out;

}

@keyframes apdb-pulse {
	0% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.3);
	}
	100% {
		transform: scale(1);
	}
}

/* Size variants */
.apdb-social-small {
	gap: 0.5rem;

}

.apdb-social-small .apdb-like-btn,
.apdb-social-small .apdb-bookmark-btn {
	padding: 0.375rem 0.75rem;
	font-size: 0.8125rem;
	gap: 0.375rem;

}.apdb-social-small .apdb-like-btn i,
.apdb-social-small .apdb-bookmark-btn i,
.apdb-social-small .apdb-like-btn .aps-icon,
.apdb-social-small .apdb-bookmark-btn .aps-icon {
	font-size: 1rem;

}

.apdb-social-large {
	gap: 1rem;

}

.apdb-social-large .apdb-like-btn,
.apdb-social-large .apdb-bookmark-btn {
	padding: 0.75rem 1.25rem;
	font-size: 1rem;
	gap: 0.625rem;

}.apdb-social-large .apdb-like-btn i,
.apdb-social-large .apdb-bookmark-btn i,
.apdb-social-large .apdb-like-btn .aps-icon,
.apdb-social-large .apdb-bookmark-btn .aps-icon {
	font-size: 1.25rem;

}

/* Show labels on larger screens */
@media (min-width: 640px) {
	.apdb-like-label,
	.apdb-bookmark-label {
		display: inline;
	}
}

/* Dark mode support is handled automatically by theme CSS variables */
/* The theme's --text-secondary, --border-light, --border-medium, and --bg-secondary
   automatically adapt to both system preference (@media prefers-color-scheme: dark)
   and manual toggle ([data-theme="dark"]) */

/* Integration with APDB single pages */
.apdb-single-header .apdb-social-actions {
	margin: 1.5rem 0;

}

/* Integration with APDB list items */
.apdb-extracts-results .apdb-social-actions,
.apdb-species-results .apdb-social-actions,
.apdb-genera-results .apdb-social-actions,
.apdb-molecules-results .apdb-social-actions {
	margin: 0.75rem 0 0;

}
