/**
 * Shared Rushby Elementor styles
 */

:root {
	--rushby-accent: #556b2f;
	--rushby-accent-dark: #445024;
	--rushby-accent-light: #e4ecd1;
	--rushby-accent-soft: #cad89b;
	--rushby-accent-muted: rgba(85, 107, 47, 0.12);
	--rushby-accent-contrast: #ffffff;

	/* Typography Variables */
	--rushby-heading-color: #111827;
	--rushby-text-color: #374151;
	--rushby-text-muted: #6B7280;
}

/* ============================================
   Global Typography System
   Apply Rushby typography sitewide
   ============================================ */

/* Headings */
body h1,
body .h1,
.rushby-h1 {
	font-size: 3rem;
	font-weight: 700;
	color: var(--rushby-heading-color);
	line-height: 1.2;
	margin-bottom: 1rem;
}

body h2,
body .h2,
.rushby-h2 {
	font-size: 2.25rem;
	font-weight: 700;
	color: var(--rushby-heading-color);
	line-height: 1.2;
	margin-bottom: 1rem;
}

body h3,
body .h3,
.rushby-h3 {
	font-size: 1.875rem;
	font-weight: 600;
	color: var(--rushby-heading-color);
	line-height: 1.3;
	margin-bottom: 0.75rem;
}

body h4,
body .h4,
.rushby-h4 {
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--rushby-heading-color);
	line-height: 1.4;
	margin-bottom: 0.75rem;
}

body h5,
body .h5,
.rushby-h5 {
	font-size: 1.25rem;
	font-weight: 500;
	color: var(--rushby-heading-color);
	line-height: 1.4;
	margin-bottom: 0.5rem;
}

body h6,
body .h6,
.rushby-h6 {
	font-size: 1rem;
	font-weight: 500;
	color: var(--rushby-heading-color);
	line-height: 1.5;
	margin-bottom: 0.5rem;
}

/* Body Text */
body p,
body .rushby-paragraph {
	font-size: 1.125rem;
	color: var(--rushby-text-color);
	line-height: 1.75;
	margin-bottom: 1rem;
}

/* Lead Text - Larger intro paragraphs */
.rushby-lead {
	font-size: 1.25rem;
	color: var(--rushby-text-color);
	line-height: 1.75;
	font-weight: 400;
}

/* Small Text */
.rushby-small,
small {
	font-size: 0.875rem;
	color: var(--rushby-text-muted);
	line-height: 1.5;
}

/* Subtitle/Tagline */
.rushby-subtitle {
	font-size: 1.25rem;
	color: var(--rushby-accent);
	font-weight: 500;
	line-height: 1.4;
}

/* Responsive Typography */
@media (max-width: 768px) {
	body h1,
	body .h1,
	.rushby-h1 {
		font-size: 1.875rem;
	}

	body h2,
	body .h2,
	.rushby-h2 {
		font-size: 1.5rem;
	}

	body h3,
	body .h3,
	.rushby-h3 {
		font-size: 1.25rem;
	}

	body p,
	body .rushby-paragraph {
		font-size: 1rem;
	}

	.rushby-lead {
		font-size: 1.125rem;
	}
}

/* Strong emphasis */
strong,
b {
	font-weight: 600;
	color: var(--rushby-heading-color);
}

/* Links */
a {
	color: var(--rushby-accent);
	text-decoration: none;
	transition: color 0.2s;
}

a:hover {
	color: var(--rushby-accent-dark);
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(1.25rem);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeInRight {
	from {
		opacity: 0;
		transform: translateX(1.25rem);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes rushby-spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes rushby-pulse {
	0%, 100% {
		opacity: 1;
	}
	50% {
		opacity: 0.5;
	}
}

/* ============================================
   Common Button Styles
   Used across multiple widgets (hero, side cart, etc.)
   ============================================ */

.rushby-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.75rem 1.5rem;
	font-size: 1rem;
	font-weight: 600;
	border-radius: 0.375rem;
	text-decoration: none;
	transition: all 0.2s;
	cursor: pointer;
	border: 1px solid transparent;
}

.rushby-btn-primary {
	background-color: var(--rushby-accent);
	color: #FFFFFF;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.rushby-btn-primary:hover {
	background-color: var(--rushby-accent-dark);
	color: #FFFFFF;
}

.rushby-btn-secondary {
	background-color: #FFFFFF;
	color: #111827;
	border-color: #9CA3AF;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.rushby-btn-secondary:hover {
	background-color: #F3F4F6;
	color: #111827;
}

.rushby-btn-arrow {
	width: 1rem;
	height: 1rem;
	transition: transform 0.2s;
}

.rushby-btn-primary:hover .rushby-btn-arrow {
	transform: translateX(0.25rem);
}
