/**
 * Nzele Premium Editorial Light Footer Stylesheet
 * Clean, minimal, museum-quality gallery closing section.
 */

.nzle-premium-footer {
	background-color: #FAF8F5 !important;
	color: #111111 !important;
	padding: 120px 0 60px 0 !important;
	font-family: var(--nzle-font-body) !important;
	border-top: 1px solid #EAE6DF !important;
}

.nzle-premium-footer a {
	color: #666666 !important;
	text-decoration: none !important;
	transition: color 300ms var(--nzle-transition-easing) !important;
}

.nzle-premium-footer a:hover {
	color: var(--nzle-accent) !important;
}

.nzle-premium-footer .nzle-footer-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--nzle-space-md);
}

/* Top Section Grid */
.nzle-footer-top .nzle-footer-container {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1.5fr;
	gap: var(--nzle-space-xxl);
	align-items: start;
}

.nzle-footer-column {
	display: flex;
	flex-direction: column;
	gap: var(--nzle-space-md);
}

/* Brand Column */
.nzle-footer-logo-container {
	display: block !important;
	margin-bottom: var(--nzle-space-xs) !important;
}

.nzle-footer-logo-img {
	height: 64px !important;
	width: auto !important;
	display: block !important;
	opacity: 0.65;
	filter: grayscale(100%); /* blend naturally */
	transition: opacity 300ms var(--nzle-transition-easing);
}

.nzle-footer-logo-img:hover {
	opacity: 0.95;
}

.nzle-footer-statement {
	font-size: 0.9rem !important;
	line-height: 1.7 !important;
	color: #666666 !important;
	font-weight: 300 !important;
	margin: 0 !important;
	max-width: 320px;
}

/* Editorial Headings - Cormorant Garamond serif */
.nzle-footer-heading {
	font-family: var(--nzle-font-headings) !important;
	font-size: 1.15rem !important;
	font-weight: 400 !important;
	color: #111111 !important;
	margin: 0 0 var(--nzle-space-xs) 0 !important;
	line-height: 1.3 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* Links lists (WP nav menus and fallback) */
.nzle-footer-links,
.nzle-footer-nav ul,
.nzle-footer-resources ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.nzle-footer-links li,
.nzle-footer-nav ul li,
.nzle-footer-resources ul li {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.2 !important;
}

.nzle-footer-links a,
.nzle-footer-nav ul a,
.nzle-footer-resources ul a {
	font-size: 0.9rem !important;
	font-weight: 300 !important;
	position: relative;
	padding-bottom: 3px;
	color: #666666 !important;
	display: inline-block;
}

.nzle-footer-links a:hover,
.nzle-footer-nav ul a:hover,
.nzle-footer-resources ul a:hover {
	color: var(--nzle-accent) !important;
}

/* Elegant Underlining Hover Micro-Animation */
.nzle-footer-links a::after,
.nzle-footer-nav ul a::after,
.nzle-footer-resources ul a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 1px;
	background-color: var(--nzle-accent);
	transition: width 300ms var(--nzle-transition-easing);
}

.nzle-footer-links a:hover::after,
.nzle-footer-nav ul a:hover::after,
.nzle-footer-resources ul a:hover::after {
	width: 100%;
}

/* Newsletter Column */
.nzle-footer-newsletter-desc {
	font-size: 0.9rem !important;
	line-height: 1.6 !important;
	color: #666666 !important;
	font-weight: 300 !important;
	margin: 0 !important;
	max-width: 280px;
}

.nzle-footer-newsletter-form {
	display: flex;
	align-items: center;
	border-bottom: 1px solid #D1CFC9;
	max-width: 300px;
	padding-bottom: 6px;
	margin-top: var(--nzle-space-xs);
	transition: border-color 300ms var(--nzle-transition-easing);
}

.nzle-footer-newsletter-form:focus-within {
	border-color: var(--nzle-accent);
}

.nzle-footer-newsletter-input {
	background: transparent !important;
	border: none !important;
	color: #111111 !important;
	font-family: var(--nzle-font-body) !important;
	font-size: 0.9rem !important;
	font-weight: 300 !important;
	padding: 8px 0 !important;
	width: 100% !important;
	outline: none !important;
}

.nzle-footer-newsletter-input::placeholder {
	color: #999999 !important;
}

.nzle-footer-newsletter-submit {
	background: transparent !important;
	border: none !important;
	color: #666666 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	padding: 0 4px !important;
	transition: color 300ms var(--nzle-transition-easing), transform 300ms var(--nzle-transition-easing) !important;
}

.nzle-footer-newsletter-submit:hover {
	color: var(--nzle-accent) !important;
	transform: translateX(4px);
}

/* Social Links */
.nzle-footer-social {
	display: flex;
	gap: var(--nzle-space-md);
	margin-top: var(--nzle-space-xs);
}

.nzle-footer-social a {
	color: #666666 !important;
	display: flex;
	align-items: center;
	transition: color 300ms var(--nzle-transition-easing), transform 300ms var(--nzle-transition-easing) !important;
}

.nzle-footer-social a:hover {
	color: var(--nzle-accent) !important;
	transform: translateY(-2px);
}

/* Bottom Section */
.nzle-footer-bottom {
	padding-top: var(--nzle-space-lg) !important;
	margin-top: 60px !important;
	border-top: 1px solid #EAE6DF !important;
}

.nzle-footer-bottom .nzle-footer-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.nzle-footer-copyright {
	font-size: 0.8rem !important;
	color: #888888 !important;
	font-weight: 300 !important;
}

.nzle-footer-legal {
	display: flex;
	gap: var(--nzle-space-md);
}

.nzle-footer-legal a {
	font-size: 0.8rem !important;
	color: #888888 !important;
	font-weight: 300 !important;
	transition: color 300ms var(--nzle-transition-easing) !important;
}

.nzle-footer-legal a:hover {
	color: var(--nzle-black) !important;
}

/* Responsive Overrides */
@media (max-width: 991px) {
	.nzle-footer-top .nzle-footer-container {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--nzle-space-xl);
	}
}

@media (max-width: 767px) {
	.nzle-premium-footer {
		padding: 80px 0 40px 0 !important;
	}
	
	.nzle-footer-top .nzle-footer-container {
		grid-template-columns: 1fr;
		gap: var(--nzle-space-lg);
	}
	
	.nzle-footer-bottom .nzle-footer-container {
		flex-direction: column-reverse;
		align-items: flex-start;
		gap: var(--nzle-space-md);
	}
	
	.nzle-footer-legal {
		flex-direction: column;
		gap: var(--nzle-space-xs);
	}
}
