﻿/* ============================================================
   Footer: matches the navbar theme
   (gradient #1f2d3d to #2f6fb0, green #5cb85c, pill buttons)
   ============================================================ */

.site-footer {
	flex-shrink: 0;
	position: relative;
	margin-top: 50px;
	color: #cfd9e4;
	font-size: 14px;
}

	/* Main block: same gradient as the navbar and the page heroes */
	.site-footer .footer-main {
		background: linear-gradient(135deg, #1f2d3d 0%, #2f6fb0 100%);
		border-top: 4px solid #5cb85c;
		padding: 46px 0 30px;
	}

	.site-footer .footer-grid {
		display: grid;
		grid-template-columns: 1.6fr 1fr 1fr 1fr;
		gap: 34px;
	}

	/* ---------- Brand column ---------- */
	.site-footer .footer-brand-name {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		color: #fff;
		font-size: 20px;
		font-weight: 700;
		text-decoration: none;
	}

		.site-footer .footer-brand-name:hover,
		.site-footer .footer-brand-name:focus {
			color: #fff;
			text-decoration: none;
		}

	.site-footer .brand-mark {
		width: 38px;
		height: 38px;
		border-radius: 50%;
		background: #5cb85c;
		color: #fff;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		font-size: 17px;
		transition: transform .2s ease;
	}

	.site-footer .footer-brand-name:hover .brand-mark {
		transform: rotate(-8deg) scale(1.06);
	}

	.site-footer .footer-tagline {
		margin: 14px 0 18px;
		max-width: 330px;
		line-height: 1.6;
		color: rgba(255, 255, 255, .8);
	}

	/* Share pill: same shape as the navbar Register pill */
	.site-footer .footer-share {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 7px 18px;
		border: 1px solid rgba(255, 255, 255, .45);
		border-radius: 20px;
		color: #fff;
		font-weight: 600;
		text-decoration: none;
		transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
	}

		.site-footer .footer-share:hover,
		.site-footer .footer-share:focus {
			background: #5cb85c;
			border-color: #5cb85c;
			color: #fff;
			text-decoration: none;
			transform: translateY(-2px);
		}

	/* ---------- Link columns ---------- */
	.site-footer .footer-heading {
		position: relative;
		margin: 0 0 16px;
		padding-bottom: 10px;
		color: #fff;
		font-size: 13px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 1px;
	}

		.site-footer .footer-heading::after {
			content: "";
			position: absolute;
			left: 0;
			bottom: 0;
			width: 28px;
			height: 3px;
			border-radius: 2px;
			background: #5cb85c;
		}

	.site-footer .footer-links {
		list-style: none;
		margin: 0;
		padding: 0;
	}

		.site-footer .footer-links li {
			margin: 0;
		}

		.site-footer .footer-links a {
			display: inline-block;
			padding: 5px 0;
			color: rgba(255, 255, 255, .82);
			text-decoration: none;
			transition: color .2s ease, transform .2s ease;
		}

			.site-footer .footer-links a:hover,
			.site-footer .footer-links a:focus {
				color: #8fe08f;
				text-decoration: none;
				transform: translateX(4px);
			}

	/* ---------- Bottom bar ---------- */
	.site-footer .footer-bottom {
		background: #16212d;
		border-top: 1px solid rgba(255, 255, 255, .08);
		padding: 16px 0;
		color: rgba(255, 255, 255, .7);
		font-size: 13px;
	}

	.site-footer .footer-bottom-inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
		gap: 12px 24px;
	}

	.site-footer .footer-disclaimer {
		margin-top: 4px;
		max-width: 640px;
		font-size: 12px;
		line-height: 1.5;
		color: rgba(255, 255, 255, .5);
	}

	.site-footer .footer-meta {
		color: #8fe08f;
		font-weight: 600;
		white-space: nowrap;
	}

	/* ---------- Back to top: same green as the Register pill ---------- */
	.site-footer .back-to-top {
		position: fixed;
		right: 22px;
		bottom: 22px;
		z-index: 1030;
		width: 44px;
		height: 44px;
		border: 0;
		border-radius: 50%;
		background: #5cb85c;
		color: #fff;
		box-shadow: 0 6px 14px rgba(0, 0, 0, .25);
		opacity: 0;
		visibility: hidden;
		transform: translateY(10px);
		transition: opacity .25s ease, transform .25s ease, background-color .2s ease, visibility .25s;
		cursor: pointer;
	}

		.site-footer .back-to-top.show {
			opacity: 1;
			visibility: visible;
			transform: none;
		}

		.site-footer .back-to-top:hover,
		.site-footer .back-to-top:focus {
			background: #4cae4c;
			outline: none;
		}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
	.site-footer .footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.site-footer .footer-brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 575px) {
	.site-footer .footer-main {
		padding: 34px 0 22px;
	}

	.site-footer .footer-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 26px;
	}

	.site-footer .footer-bottom-inner {
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-footer .brand-mark,
	.site-footer .footer-share,
	.site-footer .footer-links a,
	.site-footer .back-to-top {
		transition: none;
	}
}
