/**
 * Femy Modern Footer — PenNews footer modernization.
 *
 * Consistency: accent #d9001d (Customizer -> Primary Color, mod
 * `penci_color_accent`), dark footer bg #111111, divider #212121,
 * Oswald/Mukta Vaani headings, Roboto body.
 *
 * Layout: the footer's two bands (widget columns + brand band) are
 * flattened with `display: contents` so logo, About US, Quick Links and
 * Company all sit on ONE inline row, with the copyright bar below.
 * Content is untouched (works with the Customizer + widgets).
 */

.site-footer {
	--femy-accent: #d9001d;
	--femy-ink: #f5f5f5;
	--femy-muted: #b3b3b3;
	--femy-faint: #8a8a8a;
	--femy-line: #262626;
	--femy-card: #1a1a1a;
	--femy-pad: 20px;
	--femy-gap: 36px;
	--femy-max: 1400px;
	border-top: 3px solid var(--femy-accent);
	position: relative;

	/* One unified inline row, centred in the theme's ~1400px content width */
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	column-gap: var(--femy-gap);
	row-gap: 30px;
	padding: 56px 0 0;
	padding-left: max(var(--femy-pad), calc((100% - var(--femy-max)) / 2));
	padding-right: max(var(--femy-pad), calc((100% - var(--femy-max)) / 2));
}

/* Soft accent glow across the very top of the footer */
.site-footer::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(to right, transparent, rgba(217, 0, 29, .55), transparent);
}

/* ---------- Flatten the two bands into a single row ---------- */
#footer__sidebars,
#footer__sidebars > .footer__sidebars-inner,
#footer__sidebars > .footer__sidebars-inner > .row,
.footer__bottom,
.footer__bottom > .footer__bottom_container,
.footer__bottom > .footer__bottom_container > .row {
	display: contents;
}

/* The old band divider is meaningless once flattened */
.footer__sidebars + .footer__bottom .footer__bottom_container::before {
	content: none;
}

/* ---------- Hoisted columns become clean flex cells ---------- */
.site-footer > .footer-sidebar-item,
.site-footer > .footer__bottom-item {
	width: auto !important;
	max-width: none;
	float: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-bottom: 0 !important;
}

/* Hide columns with no widgets (before the JS tags them) */
.site-footer > .footer-sidebar-item:not(:has(*)),
.site-footer > .footer-sidebar-item.femy-hidden {
	display: none !important;
}

/* Inline order: logo | About US | Quick Links | Company | Newsletter | socials */
.site-footer > .footer__logo {
	order: 1;
	flex: 0 0 auto;
}
.site-footer > .penci-footer-text-wrap {
	order: 2;
	flex: 1 1 320px;
	min-width: 0;
}
.site-footer > #footer-2 { /* Quick Links */
	order: 3;
	flex: 1 1 150px;
}
.site-footer > #footer-1 { /* Company */
	order: 4;
	flex: 1 1 150px;
}
.site-footer > #footer-3 { /* Newsletter */
	order: 5;
	flex: 1 1 220px;
}
.site-footer > .footer__social-media {
	order: 6;
	flex: 0 0 auto;
}
.site-footer > .footer__copyright_menu {
	order: 10;
	flex: 1 0 100%;
}

/* ---------- Section titles (Oswald + accent underline) ---------- */
.site-footer .penci-block-vc .penci-block-heading,
.footer-instagram h4.footer-instagram-title {
	border-bottom: 1px solid var(--femy-line);
	padding-bottom: 0;
	margin-bottom: 20px;
}

.site-footer .penci-block-vc .penci-block__title a,
.site-footer .penci-block-vc .penci-block__title span,
.footer-instagram h4.footer-instagram-title span {
	font-family: "Oswald", "Mukta Vaani", sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff;
	position: relative;
	display: inline-block;
	padding-bottom: 12px;
}

.site-footer .penci-block-vc .penci-block__title a::after,
.site-footer .penci-block-vc .penci-block__title span::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 44px;
	height: 3px;
	border-radius: 2px;
	background: var(--femy-accent);
}

/* ---------- Link-list widgets (Company / Quick Links) ---------- */
.site-footer .widget_nav_menu ul.menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer .widget_nav_menu ul.menu > li {
	margin: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.site-footer .widget_nav_menu ul.menu > li:last-child {
	border-bottom: 0;
}

.site-footer .widget_nav_menu ul.menu > li > a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 2px;
	color: var(--femy-muted);
	font-size: 14px;
	line-height: 1.5;
	transition: color .25s ease, padding-left .25s ease;
}

.site-footer .widget_nav_menu ul.menu > li > a::before {
	content: "\f105";
	font-family: FontAwesome, sans-serif;
	color: var(--femy-accent);
	font-size: 14px;
	transition: transform .25s ease;
}

.site-footer .widget_nav_menu ul.menu > li > a:hover {
	color: #fff;
	padding-left: 8px;
	text-decoration: none;
}

.site-footer .widget_nav_menu ul.menu > li > a:hover::before {
	transform: translateX(3px);
}

.site-footer .widget_nav_menu ul.menu > li.current-menu-item > a {
	color: #fff;
}

/* Muted placeholder so empty widgets don't look broken */
.site-footer .cat-item-none {
	color: var(--femy-faint);
	font-style: italic;
}

/* ---------- Newsletter (Mailchimp for WP) ---------- */
/* Note: MC4WP outputs nothing for visitors until a Mailchimp API key is
   configured, so the form appears once the key is added. */
.site-footer .mc4wp-form {
	margin: 0;
}

.site-footer .mc4wp-form p {
	margin: 0 0 12px;
}

.site-footer .mc4wp-form label {
	display: block;
	color: var(--femy-faint);
	font-size: 13px;
	margin-bottom: 8px;
}

.site-footer .mc4wp-form input[type="email"],
.site-footer .mc4wp-form input[type="text"] {
	width: 100%;
	background: var(--femy-card);
	border: 1px solid #2e2e2e;
	border-radius: 10px;
	color: #fff;
	font-size: 14px;
	line-height: 1.4;
	padding: 11px 14px;
	transition: border-color .25s ease, box-shadow .25s ease;
}

.site-footer .mc4wp-form input[type="email"]::placeholder,
.site-footer .mc4wp-form input[type="text"]::placeholder {
	color: #6f6f6f;
}

.site-footer .mc4wp-form input[type="email"]:focus,
.site-footer .mc4wp-form input[type="text"]:focus {
	border-color: var(--femy-accent);
	box-shadow: 0 0 0 3px rgba(217, 0, 29, .16);
	outline: none;
}

.site-footer .mc4wp-form input[type="submit"] {
	width: 100%;
	background: var(--femy-accent);
	border: 0;
	border-radius: 10px;
	color: #fff;
	cursor: pointer;
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 12px 18px;
	transition: opacity .25s ease, transform .25s ease, box-shadow .25s ease;
}

.site-footer .mc4wp-form input[type="submit"]:hover {
	opacity: .92;
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(217, 0, 29, .35);
}

.site-footer .mc4wp-form .mc4wp-response {
	margin-top: 10px;
	font-size: 13px;
	color: var(--femy-muted);
}

/* ---------- Logo ---------- */
.site-footer .footer__logo {
	display: flex;
	align-items: center;
}

.site-footer .footer__logo img {
	max-width: 200px;
	/* Blend dark logo backgrounds into the footer instead of forcing white. */
	mix-blend-mode: screen;
	opacity: .95;
	transition: opacity .25s ease, transform .25s ease;
}

.site-footer .footer__logo a:hover img {
	opacity: 1;
	transform: translateY(-2px);
}

/* ---------- About US ---------- */
.site-footer .penci-footer-text-wrap {
	color: var(--femy-muted);
	font-size: 14px;
	line-height: 1.75;
}

.site-footer .penci-footer-text-wrap .block-title {
	font-family: "Oswald", "Mukta Vaani", sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff;
	position: relative;
	padding-bottom: 12px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--femy-line);
}

.site-footer .penci-footer-text-wrap .block-title span {
	position: relative;
	display: inline-block;
	padding-bottom: 12px;
	margin-bottom: -13px;
}

.site-footer .penci-footer-text-wrap .block-title span::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 44px;
	height: 3px;
	border-radius: 2px;
	background: var(--femy-accent);
}

.site-footer .penci-footer-text-content {
	display: block;
}

/* Contact e-mail as a modern pill */
.site-footer .footer-email-wrap {
	padding: 16px 0 0;
	color: var(--femy-faint);
}

.site-footer .footer-email-wrap a {
	display: inline-block;
	margin-top: 8px;
	padding: 9px 18px;
	border: 1px solid #333;
	border-radius: 999px;
	color: #fff;
	font-size: 13px;
	letter-spacing: .02em;
	transition: background .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.site-footer .footer-email-wrap a:hover {
	background: var(--femy-accent);
	border-color: var(--femy-accent);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(217, 0, 29, .35);
	text-decoration: none;
}

/* ---------- Social icons: uniform modern circles ---------- */
.site-footer .footer__social-media .social-media-item {
	float: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	line-height: 1;
	border-radius: 50%;
	margin: 0 10px 10px 0;
	background: var(--femy-card) !important;
	border: 1px solid #2e2e2e;
	color: #d4d4d4 !important;
	font-size: 15px;
	transition: background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.site-footer .footer__social-media .social-media-item::before {
	content: none;
}

.site-footer .footer__social-media .social-media-item:hover {
	background: var(--femy-accent) !important;
	border-color: var(--femy-accent) !important;
	color: #fff !important;
	transform: translateY(-3px);
	box-shadow: 0 10px 22px rgba(217, 0, 29, .4);
}

.site-footer .footer__social-media .block-title {
	font-family: "Oswald", "Mukta Vaani", sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff;
	position: relative;
	padding-bottom: 12px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--femy-line);
}

.site-footer .footer__social-media .block-title span {
	position: relative;
	display: inline-block;
	padding-bottom: 12px;
	margin-bottom: -13px;
}

.site-footer .footer__social-media .block-title span::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 44px;
	height: 3px;
	border-radius: 2px;
	background: var(--femy-accent);
}

/* ---------- Copyright bar ---------- */
.site-footer > .footer__copyright_menu {
	background: #0a0a0a;
	border-top: 1px solid #1e1e1e;
	/* Extend the dark bar to the viewport edges while the row stays centred */
	box-shadow: 0 0 0 100vmax #0a0a0a;
	clip-path: inset(0 -100vmax);
}

.footer__copyright_menu > .penci_bottom-sub {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px 24px;
	flex-wrap: wrap;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding: 15px 0;
}

.footer__copyright_menu .site-info {
	float: none;
	display: block;
	padding: 4px 0;
	font-size: 12.5px;
	letter-spacing: .02em;
	color: #8f8f8f;
}

.footer__copyright_menu .site-info a {
	font-weight: 600;
}

.footer__copyright_menu .sub-footer-menu {
	float: none;
	display: block;
	margin: 0;
}

.footer__copyright_menu .sub-footer-menu .menu {
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.footer__copyright_menu .sub-footer-menu li a {
	margin-right: 0;
	padding: 7px 13px;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #9a9a9a;
	transition: background .25s ease, color .25s ease;
}

.footer__copyright_menu .sub-footer-menu li a:hover {
	background: rgba(217, 0, 29, .14);
	color: #fff;
	text-decoration: none;
}

/* ---------- Back to top ---------- */
#scroll-to-top {
	width: 46px;
	height: 46px;
	line-height: 46px;
	border-radius: 50%;
	background-color: var(--femy-accent);
	color: #fff;
	box-shadow: 0 12px 28px rgba(217, 0, 29, .4);
	transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}

#scroll-to-top:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 32px rgba(217, 0, 29, .5);
}

/* ---------- Accessibility ---------- */
.site-footer a:focus-visible,
#scroll-to-top:focus-visible {
	outline: 2px solid var(--femy-accent);
	outline-offset: 3px;
}

/* ---------- Responsive ---------- */
@media screen and (max-width: 991px) {
	.site-footer {
		flex-direction: column;
		align-items: stretch;
		row-gap: 26px;
		padding-top: 44px;
	}

	.site-footer > .footer__logo,
	.site-footer > .penci-footer-text-wrap,
	.site-footer > .footer__social-media,
	.site-footer > #footer-1,
	.site-footer > #footer-2,
	.site-footer > #footer-3 {
		flex: 1 1 auto;
		width: 100% !important;
	}

	.site-footer > .footer__logo {
		justify-content: center;
	}

	.site-footer .penci-footer-text-wrap .block-title,
	.site-footer .footer__social-media .block-title,
	.site-footer .penci-block-vc .penci-block__title a,
	.site-footer .penci-block-vc .penci-block__title span {
		text-align: center;
	}

	.site-footer .penci-footer-text-wrap .block-title span::after,
	.site-footer .footer__social-media .block-title span::after,
	.site-footer .penci-block-vc .penci-block__title span::after,
	.site-footer .penci-block-vc .penci-block__title a::after {
		left: 50%;
		transform: translateX(-50%);
	}

	.site-footer .penci-footer-text-wrap,
	.site-footer .footer__social-media {
		text-align: center;
	}

	.site-footer .footer__social-media .social-media-item {
		margin-left: 5px;
		margin-right: 5px;
	}

	.footer__copyright_menu > .penci_bottom-sub {
		justify-content: center;
		text-align: center;
	}

	.footer__copyright_menu .sub-footer-menu .menu {
		justify-content: center;
	}

	/* "Designed and Powered by ..." drops to its own line on mobile */
	.footer__copyright_menu .femy-credit {
		display: block;
		margin-top: 6px;
	}
}

@media screen and (min-width: 1400px) {
	.site-footer {
		--femy-pad: 25px;
		--femy-gap: 44px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-footer *,
	.site-footer *::before,
	.site-footer *::after,
	#scroll-to-top {
		transition: none !important;
		transform: none !important;
	}
}
