/*
Theme Name: Happy Jack's
Description: Minimal custom block-theme foundation for Happy Jack's.
Version: 0.1.23
Text Domain: happy-jacks
*/

:where(.wp-element-button, .wp-block-button__link):hover,
:where(.wp-element-button, .wp-block-button__link):active {
	background-color: var(--wp--preset--color--cta-hover);
}

:where(a, .wp-element-button, .wp-block-button__link):focus-visible {
	outline: 3px solid var(--wp--preset--color--primary-blue);
	outline-offset: 3px;
}

.homepage-team__grid {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--tight);
	justify-content: center;
	margin-block: var(--wp--preset--spacing--compact);
}

.homepage-team-card {
	background: var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--card);
	box-sizing: border-box;
	flex: 1 1 16rem;
	max-width: 22rem;
	min-width: 0;
	overflow: hidden;
	padding: var(--wp--preset--spacing--tight);
	text-align: center;
}

.homepage-team-card__portrait {
	margin: 0 0 var(--wp--preset--spacing--tight);
}

.homepage-team-card__portrait img {
	aspect-ratio: 4 / 5;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.homepage-team-card > .wp-block-heading,
.homepage-team-card > p {
	margin-block: 0;
}

.homepage-team-card > p {
	margin-top: 0.5rem;
}

.homepage-final-cta > .wp-block-heading,
.homepage-final-cta > p,
.site-footer__region > .wp-block-heading,
.site-footer .wp-block-site-title,
.site-footer .wp-block-site-title a {
	color: var(--wp--preset--color--white) !important;
}

.site-footer .site-footer__navigation,
.site-footer .site-footer__navigation .wp-block-navigation__container {
	align-items: flex-start;
	width: 100%;
}

.site-footer .site-footer__navigation .wp-block-navigation-item__content {
	color: var(--wp--preset--color--white);
}

.site-footer__social {
	margin-top: var(--wp--preset--spacing--compact);
	text-align: center;
}

.site-footer__social > .wp-block-heading {
	font-size: 1.125rem;
	margin-bottom: var(--wp--preset--spacing--tight);
	margin-top: 0;
}

.site-footer .site-footer__social-links {
	gap: var(--wp--preset--spacing--tight);
	justify-content: center;
}

.site-footer .site-footer__social-links .wp-social-link a {
	color: inherit;
}

.site-header__primary-navigation-slot {
	flex: 1 1 auto;
	min-width: 0;
}

.site-header__existing-client-login {
	margin: 0;
}

.site-header__existing-client-login a {
	color: var(--wp--preset--color--navy);
	font-weight: 600;
	white-space: nowrap;
}

.site-header .site-header__inner {
	box-sizing: border-box;
	max-width: 1800px !important;
	padding-inline: var(--wp--preset--spacing--tight);
	width: 100%;
}

.site-header .site-header__primary-navigation {
	width: 100%;
}

.site-header .site-header__primary-navigation .wp-block-navigation__container {
	column-gap: var(--wp--preset--spacing--tight);
	row-gap: var(--wp--preset--spacing--tight);
}

.site-header .site-header__primary-navigation .wp-block-navigation-item__content {
	color: var(--wp--preset--color--navy);
}

.site-header .site-header__primary-navigation .wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy);
}

@media (min-width: 1760px) {
	.site-header .site-header__inner {
		column-gap: var(--wp--preset--spacing--tight);
	}

	.site-header .site-header__inner,
	.site-header .site-header__primary-navigation .wp-block-navigation__container {
		flex-wrap: nowrap;
	}

	.site-header__identity,
	.site-header__utility {
		flex: 0 0 auto;
	}

	.site-header__identity .wp-block-site-title,
	.site-header .site-header__primary-navigation .wp-block-navigation-item__content,
	.site-header__cta .wp-block-button__link {
		white-space: nowrap;
	}
}

@media (min-width: 600px) and (max-width: 1759px) {
	.site-header__identity {
		order: 1;
	}

	.site-header__utility {
		margin-left: auto;
		order: 2;
	}

	.site-header__primary-navigation-slot {
		flex-basis: 100%;
		order: 3;
		width: 100%;
	}
}

@media (min-width: 600px) and (max-width: 979px) {
	.site-header .site-header__primary-navigation .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.site-header .site-header__primary-navigation .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

@media (min-width: 980px) and (max-width: 1759px) {
	.site-header .site-header__primary-navigation .wp-block-navigation__submenu-container {
		min-width: max-content;
		width: max-content;
	}

	.site-header .site-header__primary-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		white-space: nowrap;
	}
}

@media (min-width: 601px) and (max-width: 781px) {
	.site-footer .site-footer__regions.wp-block-columns {
		gap: var(--wp--preset--spacing--tight) !important;
	}

	.site-footer .site-footer__regions.wp-block-columns > .wp-block-column,
	.site-footer .site-footer__region,
	.site-footer .site-footer__region > .wp-block-heading {
		margin-block: 0 !important;
	}
}

@media (max-width: 600px) {
	.site-header__primary-navigation-slot:empty,
	.site-header__existing-client-login-slot:empty,
	.site-footer__navigation-slot:empty {
		display: none;
	}

	.site-header__inner,
	.site-header__utility,
	.site-header__cta {
		justify-content: center;
	}

	.site-header__utility,
	.site-header__cta {
		width: 100%;
	}

	.site-header__primary-navigation-slot {
		display: flex;
		flex-basis: 100%;
		justify-content: center;
		width: 100%;
	}

	.site-footer .site-footer__regions.wp-block-columns {
		gap: var(--wp--preset--spacing--tight) !important;
	}

	.site-footer .site-footer__regions.wp-block-columns > .wp-block-column,
	.site-footer .site-footer__region,
	.site-footer .site-footer__region > .wp-block-heading {
		margin-block: 0 !important;
	}
}
