/**
 * Site footer — newsletter band (WoodMart prefooter HTML block), widget columns and bottom bar.
 *
 * Content lives in HTML Blocks, Appearance → Widgets / Menus and Theme Settings → Footer; see
 * tools/build-footer.php. Every rule is scoped under .ipl-site (body class, inc/header.php).
 *
 * On navy, text and links are white or --ipl-gray-line: blue on navy measures 3.32:1 and fails AA,
 * so footer links never turn blue. Logical properties only.
 */

/* ─── Newsletter band ─────────────────────────────────────────────── */

.ipl-site .wd-prefooter {
	padding-block: 0;
	background-color: var(--ipl-navy-soft, #1B3A5C);
}

.ipl-site .wd-prefooter .ipl-newsletter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 40px;
	margin: 0;
	padding-block: 28px;
}

.ipl-site .ipl-newsletter__text {
	flex: 1 1 320px;
	margin: 0;
}

.ipl-site .ipl-newsletter__title {
	margin-block: 0 4px;
	color: var(--ipl-white, #FFFFFF);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
}

.ipl-site .ipl-newsletter__lead {
	margin: 0;
	color: var(--ipl-gray-line, #E3E6EA);
	font-size: 14px;
	line-height: 1.8;
}

.ipl-site .ipl-newsletter .wpcf7 {
	flex: 1 1 360px;
	max-inline-size: 480px;
}

.ipl-site .ipl-newsletter .wpcf7 form {
	margin: 0;
}

.ipl-site .ipl-newsletter-form {
	display: flex;
	gap: 8px;
}

.ipl-site .ipl-newsletter-form .wpcf7-form-control-wrap {
	flex: 1 1 auto;
}

.ipl-site .ipl-newsletter-form input[type="email"] {
	inline-size: 100%;
	min-height: 46px;
	padding-inline: 14px;
	border: 1px solid transparent;
	border-radius: var(--ipl-radius-sm, 6px);
	background-color: var(--ipl-white, #FFFFFF);
	color: var(--ipl-black, #111418);
	/* An email address is Latin; the Persian placeholder keeps reading right to left. */
	direction: ltr;
	text-align: start;
}

.ipl-site .ipl-newsletter-form input[type="email"]:placeholder-shown {
	direction: rtl;
}

.ipl-site .ipl-newsletter-form input[type="email"]::placeholder {
	color: var(--ipl-gray-text, #6B7280);
}

.ipl-site .ipl-newsletter-form input[type="email"]:focus-visible {
	outline: 2px solid var(--ipl-white, #FFFFFF);
	outline-offset: 2px;
}

.ipl-site .ipl-newsletter-form .wpcf7-submit {
	flex: none;
	min-height: 46px;
	padding-inline: 24px;
	border: 0;
	border-radius: var(--ipl-radius-sm, 6px);
	background-color: var(--ipl-blue, #1668D9);
	color: var(--ipl-white, #FFFFFF);
	font-weight: 700;
	text-transform: none;
	transition: none;
}

.ipl-site .ipl-newsletter-form .wpcf7-submit:hover {
	background-color: var(--ipl-blue-hover, #1150AF);
}

.ipl-site .ipl-newsletter .wpcf7-not-valid-tip {
	margin-block-start: 6px;
	color: #FECACA;
	font-size: 13px;
}

.ipl-site .ipl-newsletter .wpcf7 form .wpcf7-response-output {
	margin: 12px 0 0;
	padding-block: 8px;
	padding-inline: 12px;
	border-color: var(--ipl-gray-line, #E3E6EA);
	border-radius: var(--ipl-radius-sm, 6px);
	color: var(--ipl-white, #FFFFFF);
	font-size: 14px;
}

/* CF7's spinner sits beside the button and would push the row out of line. */
.ipl-site .ipl-newsletter-form .wpcf7-spinner {
	position: absolute;
}

/* ─── Columns ─────────────────────────────────────────────────────── */

.ipl-site .wd-footer {
	background-color: var(--ipl-navy, #0E1B2A);
	color: var(--ipl-gray-line, #E3E6EA);
}

/* WoodMart already pads .footer-sidebar; keep one source of vertical spacing. */
.ipl-site .wd-footer .main-footer {
	padding-block: 0;
}

.ipl-site .wd-footer .footer-sidebar {
	padding-block: 48px 32px;
}

.ipl-site .wd-footer .footer-widget .widget-title {
	margin-block-end: 16px;
	color: var(--ipl-white, #FFFFFF);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: normal;
	text-transform: none;
}

.ipl-site .wd-footer .footer-widget :is(ul.menu, ul.product-categories) {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* The category widget carries its own list padding in WoodMart; match the menu columns beside it. */
.ipl-site .wd-footer .footer-widget :is(ul.menu, ul.product-categories) > li {
	margin: 0 0 10px;
	padding: 0;
	border: 0;
}

.ipl-site .wd-footer .footer-widget :is(ul.menu, ul.product-categories) a {
	display: inline;
	padding: 0;
	color: var(--ipl-gray-line, #E3E6EA);
	font-size: 14px;
	line-height: 1.8;
	text-decoration: none;
}

.ipl-site .wd-footer .footer-widget :is(ul.menu, ul.product-categories) a:hover {
	color: var(--ipl-white, #FFFFFF);
	text-decoration: underline;
}

/* Brand column */
.ipl-site .ipl-footer-brand {
	margin: 0;
}

/*
 * Brand logo in the footer. The logo's «link» is black, so on the navy footer it sits on a white
 * plate rather than being recoloured — the green signal mark stays as it is meant to look.
 */
.ipl-site .ipl-footer-brand__logo {
	display: inline-block;
	margin-block-end: 14px;
	padding: 10px 14px;
	border-radius: var(--ipl-radius-sm, 6px);
	background-color: var(--ipl-white, #FFFFFF);
}

.ipl-site .ipl-footer-brand__logo figure {
	margin: 0;
	line-height: 0;
}

.ipl-site .ipl-footer-brand__logo img {
	inline-size: auto;
	max-inline-size: 150px;
	block-size: auto;
}

.ipl-site .ipl-footer-brand__wordmark {
	margin-block: 0 12px;
	color: var(--ipl-white, #FFFFFF);
	font-size: 26px;
	font-weight: 800;
	line-height: 1.2;
}

.ipl-site .ipl-footer-brand__lead {
	margin-block: 0 16px;
	color: var(--ipl-gray-line, #E3E6EA);
	font-size: 14px;
	line-height: 1.9;
}

.ipl-site .ipl-footer-brand__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-block: 0 20px;
	padding-block: 4px;
	padding-inline: 8px 12px;
	border: 1px solid var(--ipl-navy-soft, #1B3A5C);
	border-radius: 999px;
	color: var(--ipl-white, #FFFFFF);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}

/* Same "verified" mark as the header badge; #22C55E keeps ≥3:1 against navy as a non-text graphic. */
.ipl-site .ipl-footer-brand__badge::before {
	content: "";
	flex: none;
	inline-size: 14px;
	block-size: 14px;
	background-color: #22C55E;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1l3 2.2 3.7-.2 1.1 3.5 3 2.2-1.2 3.5 1.2 3.5-3 2.2-1.1 3.5-3.7-.2L12 23l-3-2.2-3.7.2-1.1-3.5-3-2.2L2.4 12 1.2 8.5l3-2.2L5.3 2.8 9 3z'/%3E%3Cpath d='M7.5 12.5l3 3 6-6.5' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ipl-site .wd-footer .ipl-footer-brand__social {
	gap: 8px;
	margin: 0;
}

.ipl-site .wd-footer .ipl-footer-brand__social .wp-social-link {
	background-color: var(--ipl-navy-soft, #1B3A5C);
	color: var(--ipl-white, #FFFFFF);
	transition: none;
}

.ipl-site .wd-footer .ipl-footer-brand__social .wp-social-link:hover {
	background-color: var(--ipl-blue, #1668D9);
	transform: none;
}

/* ─── Bottom bar ──────────────────────────────────────────────────── */

.ipl-site .wd-footer .wd-copyrights {
	border-block-start: 1px solid var(--ipl-navy-soft, #1B3A5C);
	background-color: var(--ipl-navy, #0E1B2A);
	color: var(--ipl-gray-line, #E3E6EA);
	font-size: 13px;
	line-height: 1.8;
}

.ipl-site .wd-footer .wd-copyrights p {
	margin: 0;
}

/* The address gets its own line; the numbers and email follow on the next. */
.ipl-site .ipl-footer-contact__address {
	display: block;
}

.ipl-site .ipl-footer-contact a {
	color: var(--ipl-white, #FFFFFF);
	font-weight: 600;
	text-decoration: none;
}

.ipl-site .ipl-footer-contact a:hover {
	text-decoration: underline;
}

/* WoodMart's scroll-to-top button: brand navy instead of a light grey disc over the footer. */
.ipl-site .scrollToTop {
	background-color: var(--ipl-navy-soft, #1B3A5C);
	color: var(--ipl-white, #FFFFFF);
	box-shadow: none;
}

.ipl-site .scrollToTop:hover {
	background-color: var(--ipl-blue, #1668D9);
	color: var(--ipl-white, #FFFFFF);
}
