/* Hamachan public and authenticated-preview navigation correction. */
body:not(.hamachan-commercial-preview) .btn--nav,
body:not(.hamachan-commercial-preview) .mobile-menu__cta {
	display: none;
}

.primary-nav .hamachan-preview-menu {
	max-width: 100%;
}

@media (min-width: 1101px) {
	.site-header__inner {
		gap: clamp(.8rem, 1.5vw, 1.5rem);
	}

	.site-header__brand {
		flex: 0 0 auto;
		min-width: max-content;
	}

	.primary-nav {
		flex: 1 1 auto;
		min-width: 0;
	}

	.primary-nav .hamachan-preview-menu {
		gap: clamp(.75rem, 1.35vw, 1.5rem);
		justify-content: flex-end;
	}

	.primary-nav .hamachan-preview-menu > .menu-item > a {
		display: block;
		line-height: 1.35;
		padding-block: 1rem;
		white-space: nowrap;
	}

	.btn--nav {
		flex: 0 0 auto;
	}
}

.primary-nav .hamachan-preview-menu > .menu-item {
	position: relative;
}

.primary-nav .hamachan-preview-menu .sub-menu {
	background: #f7f1e7;
	border: 1px solid rgba(26, 23, 21, .14);
	border-radius: .65rem;
	box-shadow: 0 16px 34px rgba(26, 23, 21, .18);
	display: block;
	left: 0;
	min-width: 17rem;
	opacity: 0;
	padding: .55rem;
	position: absolute;
	top: calc(100% + .25rem);
	transform: translateY(.5rem);
	visibility: hidden;
	width: max-content;
	z-index: 1000;
}

.primary-nav .hamachan-preview-menu .sub-menu > li {
	display: block;
	width: 100%;
}

.primary-nav .hamachan-preview-menu .sub-menu > li + li {
	border-top: 1px solid rgba(26, 23, 21, .08);
}

.primary-nav .hamachan-preview-menu .sub-menu a {
	border-radius: .4rem;
	display: block;
	font-size: .8rem;
	letter-spacing: .055em;
	line-height: 1.45;
	padding: .72rem .85rem;
	white-space: nowrap;
}

.primary-nav .hamachan-preview-menu .sub-menu a:hover,
.primary-nav .hamachan-preview-menu .sub-menu a:focus-visible {
	background: rgba(155, 107, 54, .12);
	color: #7b4e25;
}

.primary-nav .hamachan-preview-menu > .menu-item:nth-last-child(-n+2) > .sub-menu {
	left: auto;
	right: 0;
}

.primary-nav .hamachan-preview-menu .menu-item-has-children:hover > .sub-menu,
.primary-nav .hamachan-preview-menu .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	transform: translateY(0);
	visibility: visible;
}

@media (min-width: 1101px) and (max-width: 1366px) {
	.site-header__wordmark {
		font-size: 1.3rem;
		letter-spacing: .12em;
	}

	.primary-nav .hamachan-preview-menu {
		gap: .7rem;
	}

	.primary-nav .hamachan-preview-menu > .menu-item > a {
		font-size: .75rem;
		letter-spacing: .055em;
	}

	.btn--nav {
		padding-inline: .9rem;
	}
}

@media (min-width: 860px) and (max-width: 1100px) {
	.primary-nav,
	.btn--nav {
		display: none;
	}

	.nav-toggle {
		display: inline-flex;
	}
}

@media (max-width: 1100px) {
	.site-header__inner {
		gap: 1rem;
	}

	.site-header__brand {
		flex: 1 1 auto;
		max-width: calc(100% - 54px);
		min-width: 0;
		overflow: hidden;
	}

	.site-header__wordmark {
		font-size: clamp(1rem, 5vw, 1.2rem);
		letter-spacing: .12em;
		white-space: nowrap;
	}

	.nav-toggle {
		flex: 0 0 44px;
		min-height: 44px;
		min-width: 44px;
	}

	.hamachan-submenu-toggle {
		display: inline-flex;
	}

	.site-footer__brand,
	.site-footer__wm {
		max-width: 100%;
		min-width: 0;
		overflow: hidden;
	}

	.site-footer__wm-name {
		font-size: clamp(1rem, 5vw, 1.2rem);
		letter-spacing: .12em;
		white-space: nowrap;
	}

	.primary-nav .hamachan-preview-menu .sub-menu {
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		display: none;
		opacity: 1;
		position: static;
		transform: none;
		visibility: visible;
		width: 100%;
	}

	.primary-nav .hamachan-preview-menu .hamachan-submenu-open > .sub-menu {
		display: block;
	}

	.mobile-menu .hamachan-preview-menu .sub-menu {
		display: none;
	}

	.mobile-menu .hamachan-preview-menu .hamachan-submenu-open > .sub-menu {
		display: flex;
	}
}

@media (max-width: 782px) {
	.hamachan-commercial-preview #wpadminbar #wp-admin-bar-my-account .display-name {
		display: none;
	}
}
