/**
 * footer.css
 *
 * Styles for template-parts/footer/site-footer.php
 * Sections: .join-us (yellow), .site-footer (black main + sub-footer).
 */

/* ---------------------------------------------------------------
   Join Us section
--------------------------------------------------------------- */
.join-us {
	background-color: var(--yellow);
	padding: 80px 40px;
}

.join-us__inner {
	display: grid;
  grid-template-columns: 51fr 45fr;
	gap: 80px;
	align-items: center;
	/*max-width: 1400px;*/
	margin: 0 auto;
}

/* Heading column — large WYSIWYG heading */
.join-us__heading {
	color: var(--black);
}

.join-us__heading p,
.join-us__heading h2,
.join-us__heading h3 {
	font-size: clamp(50px, 6vw, 92px);
	font-weight: 900;
	line-height: 0.95;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	margin: 0;
}

/* Right aside: body + CTAs */
.join-us__aside {
	display: flex;
	flex-direction: column;
	gap: 36px;
}

.join-us__body {
	font-size: 18px;
	line-height: 1.65;
	color: var(--black);
}

.join-us__body p {
	margin: 0 0 14px;
}

.join-us__body p:last-child {
	margin-bottom: 0;
}

/* CTA button row */
.join-us__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

/* Global .secondary-cta / .clear-cta handle colours & hover */
.join-us__cta {
	white-space: nowrap;
}

/* ---------------------------------------------------------------
   Site footer — main wrapper (black)
--------------------------------------------------------------- */
.site-footer {
	background-color: var(--black);
	color: var(--white);
}

/* Main: logo far left, nav group pushed to the right */
.site-footer__main {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 80px;
	padding: 57px 65px 64px 40px;
	/*max-width: 1400px;*/
	margin: 0 auto;
}

/* Brand / logo */
.site-footer__logo-link {
	display: inline-block;
	text-decoration: none;
}

.site-footer__logo {
	display: block;
	width: auto;
	height: auto;
	max-width: 100px;
}

.site-footer__logo-text {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--white);
}

/* Nav: 3 equal columns */
.site-footer__nav {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 50px;
}

.site-footer__col-heading {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
	margin: 0 0 6px;
	padding: 0;
}

.site-footer__menu {
	list-style: none;
	padding: 0;
	margin: 0;
}

.site-footer__menu li {
	margin: 0;
	margin-bottom: 3px;
}

.site-footer__menu li a {
	display: block;
	font-size: 14px;
	line-height: 2;
	color: var(--white);
	text-decoration: none;
	transition: color 0.2s ease;
}

.site-footer__menu li a:hover,
.site-footer__menu li a:focus-visible {
	color: var(--yellow);
}

/* ---------------------------------------------------------------
   Sub-footer
--------------------------------------------------------------- */
.site-footer__sub {
	/*border-top: 1px solid rgba(255, 255, 255, 0.1);*/
	background-color: var(--black);
}

.site-footer__sub-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 40px;
	padding: 26px 40px;
	/*max-width: 1400px;*/
	margin: 0 auto;
}

/* Legal row: copyright + legal links + byline — all inline */
.site-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 24px;
}

.site-footer__copyright {
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.48px;
	text-transform: uppercase;
	color:rgba(179, 179, 179, 1);
	margin: 0;
	white-space: nowrap;
	line-height: 12px;
}

.site-footer__legal-menu {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: 20px;
}

.site-footer__legal-menu {
	margin-top:-2px
}

.site-footer__legal-menu li {
	line-height: 12px;
}

.site-footer__legal-menu li a {
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.48px;
	text-transform: uppercase;
	color: rgba(179, 179, 179, 1);
	text-decoration: none;
	transition: color 0.2s ease;
	border-bottom:solid 1px rgba(179, 179, 179, 1);
}

.site-footer__legal-menu li a:hover,
.site-footer__legal-menu li a:focus-visible {
	color: var(--white);
}

.site-footer__byline {
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.48px;
	text-transform: uppercase;
	color: rgba(179, 179, 179, 1);
	margin: 0;
	line-height: 12px;
}

/* Subscribe form wrapper */
.site-footer__subscribe {
	flex-shrink: 0;
}

/* Works with Mailchimp / MC4WP shortcodes */
.site-footer__subscribe form,
.site-footer__subscribe .mc4wp-form form {
	display: flex;
	align-items: stretch;
}

.site-footer__subscribe input[type="email"] {
	flex: 1;
	min-width: 220px;
	padding: 12px 16px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-right: none;
	background-color: #111111;
	color: var(--white);
	font-size: 13px;
	line-height: 1.4;
	outline: none;
	appearance: none;
}

.site-footer__subscribe input[type="email"]::placeholder {
	color: #555555;
}

.site-footer__subscribe input[type="email"]:focus {
	border-color: rgba(255, 255, 255, 0.45);
}

.site-footer__subscribe input[type="submit"],
.site-footer__subscribe button[type="submit"] {
	padding: 12px 24px;
	background-color: var(--yellow);
	color: var(--black);
	border: none;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
	white-space: nowrap;
	transition: background-color 0.2s ease;
	appearance: none;
}

.site-footer__subscribe input[type="submit"]:hover,
.site-footer__subscribe button[type="submit"]:hover {
	background-color: var(--yellow-hover);
}

/* ---------------------------------------------------------------
   Responsive — 1280px
--------------------------------------------------------------- */
@media (max-width: 1280px) {
	.join-us {
		padding: 80px 48px;
	}

	.site-footer__main {
		padding: 72px 48px 56px;
	}

	.site-footer__sub-inner {
		padding: 24px 48px;
	}
}

/* ---------------------------------------------------------------
   Responsive — 992px
--------------------------------------------------------------- */
@media (max-width: 992px) {
	.join-us__inner {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.join-us {
		padding: 72px 20px;
	}

	.site-footer__main {
		flex-direction: column;
		gap: 48px;
		padding: 25px 20px 52px;
	}

	.site-footer__sub-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: 30px;
		padding: 28px 20px;
	}

	.site-footer__subscribe input[type="email"] {
		min-width: 200px;
	}

	.join-us__body {
		font-size: 17px;
		line-height: 25px;
	}

	.join-us__aside {
		gap: 30px;
	}

  .site-footer__main {
    padding: 30px 20px 0px;
  }

	.site-footer__legal {
    gap: 20px;
  }

	.site-footer__sub-inner {
    padding: 20px 20px 50px;
  }

}

/* ---------------------------------------------------------------
   Responsive — 768px
--------------------------------------------------------------- */
@media (max-width: 768px) {
	.join-us {
		padding: 64px 28px;
	}

	.site-footer__nav {
		grid-template-columns: repeat(2, 1fr);
	}

}

/* ---------------------------------------------------------------
   Responsive — 600px
--------------------------------------------------------------- */
@media (max-width: 600px) {
	.join-us {
		padding: 56px 20px;
	}

	.join-us__ctas {
		flex-direction: column;
		align-items: stretch;
	}

	.join-us__cta {
		justify-content: center;
	}


	.site-footer__nav {
		grid-template-columns: 1fr 1fr;
		gap: 24px;
	}



	.site-footer__legal {
		flex-direction: column;
		align-items: flex-start;
	}

	.site-footer__subscribe {
		width: 100%;
	}

	.site-footer__subscribe form,
	.site-footer__subscribe .mc4wp-form form {
		flex-direction: column;
	}

	.site-footer__subscribe input[type="email"] {
		min-width: unset;
		width: 100%;
		border-right: 1px solid rgba(255, 255, 255, 0.2);
		border-bottom: none;
	}

	.site-footer__subscribe input[type="submit"],
	.site-footer__subscribe button[type="submit"] {
		width: 100%;
	}
}
