/**
 * Full-screen mobile navigation overlay — Batch 3.08.0
 */

@media (min-width: 769px) {
	.hh-v2-header__nav--desktop {
		display: flex;
	}

	.hh-v2-mobile-overlay {
		display: none !important;
	}
}

@media (max-width: 768px) {
	.hh-v2-header__nav--desktop {
		display: none !important;
	}
}

@media (max-width: 768px) {
	.hh-v2-header__nav,
	.hh-v2-header__nav.is-open,
	body.hh-v2-nav-open .hh-v2-header__nav,
	body.hh-v2-nav-open .hh-v2-header__nav.is-open {
		display: none !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}

	body.hh-v2-nav-open::before {
		display: none !important;
		content: none !important;
	}

	.hh-v2-mobile-only.hh-v2-mobile-nav__head,
	.hh-v2-mobile-accessories {
		display: none !important;
	}

	.hh-v2-mobile-overlay {
		position: fixed;
		inset: 0;
		z-index: 9999;
		width: 100vw;
		height: 100dvh;
		max-height: 100dvh;
		background: rgba(7, 7, 7, 0.98);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.2s ease, visibility 0.2s ease;
	}

	.hh-v2-mobile-overlay.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.hh-v2-mobile-overlay__panel {
		display: flex;
		flex-direction: column;
		width: 100%;
		height: 100%;
		max-height: 100dvh;
		overflow: hidden;
	}

	.hh-v2-mobile-overlay__top {
		flex: 0 0 auto;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.75rem;
		padding: calc(0.85rem + env(safe-area-inset-top, 0px)) 1rem 0.75rem;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	}

	.hh-v2-mobile-overlay__brand {
		display: inline-flex;
		align-items: center;
		gap: 0.5rem;
		text-decoration: none !important;
		color: #fff !important;
		min-width: 0;
	}

	.hh-v2-mobile-overlay__brand img {
		width: 36px;
		height: 36px;
		flex-shrink: 0;
	}

	.hh-v2-mobile-overlay__brand-text {
		font-size: 0.95rem;
		font-weight: 600;
		letter-spacing: 0.02em;
	}

	.hh-v2-mobile-overlay__close {
		flex: 0 0 auto;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		margin: 0;
		padding: 0;
		border: 1px solid rgba(255, 255, 255, 0.15);
		border-radius: 10px;
		background: rgba(255, 255, 255, 0.06);
		color: #fff;
		font-size: 1.75rem;
		line-height: 1;
		cursor: pointer;
	}

	.hh-v2-mobile-overlay__scroll {
		flex: 1 1 auto;
		min-height: 0;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		touch-action: pan-y;
		padding: 0.5rem 1rem 1rem;
	}

	.hh-v2-mobile-overlay__single {
		display: block;
		padding: 0.9rem 0.25rem;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		color: #fff !important;
		text-decoration: none !important;
		font-size: 1rem;
		font-weight: 600;
	}

	.hh-v2-mobile-overlay__group {
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	}

	.hh-v2-mobile-overlay__summary {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		padding: 0.9rem 0.25rem;
		cursor: pointer;
		list-style: none;
		color: #fff;
		font-size: 1rem;
		font-weight: 600;
	}

	.hh-v2-mobile-overlay__summary::-webkit-details-marker {
		display: none;
	}

	.hh-v2-mobile-overlay__chev {
		width: 8px;
		height: 8px;
		border-right: 2px solid rgba(255, 255, 255, 0.7);
		border-bottom: 2px solid rgba(255, 255, 255, 0.7);
		transform: rotate(45deg);
		transition: transform 0.15s ease;
		flex-shrink: 0;
	}

	.hh-v2-mobile-overlay__group[open] .hh-v2-mobile-overlay__chev {
		transform: rotate(-135deg);
	}

	.hh-v2-mobile-overlay__group[open] .hh-v2-mobile-overlay__summary {
		color: #fff;
	}

	.hh-v2-mobile-overlay__group[open] .hh-v2-mobile-overlay__summary::before {
		content: "";
		display: block;
		width: 100%;
		height: 2px;
		margin-bottom: 0.35rem;
		background: linear-gradient(90deg, var(--hh-red, #c41e3a), transparent);
		opacity: 0.85;
	}

	.hh-v2-mobile-overlay__group .hh-v2-mobile-overlay__links a:first-child {
		font-weight: 700;
	}

	.hh-v2-mobile-overlay__links {
		display: flex;
		flex-direction: column;
		gap: 0;
		padding: 0 0 0.65rem 0.5rem;
	}

	.hh-v2-mobile-overlay__links a {
		display: flex;
		flex-direction: column;
		gap: 0.1rem;
		padding: 0.6rem 0.65rem;
		color: rgba(255, 255, 255, 0.88) !important;
		text-decoration: none !important;
		font-size: 0.92rem;
		font-weight: 500;
		border-radius: 10px;
		border-inline-start: 2px solid transparent;
		transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
	}

	.hh-v2-mobile-overlay__links a:first-child {
		font-weight: 700;
		color: #fff !important;
	}

	.hh-v2-mobile-overlay__link-hint {
		font-size: 0.78rem;
		font-weight: 400;
		color: rgba(255, 255, 255, 0.5);
		line-height: 1.35;
	}

	.hh-v2-mobile-overlay__links a:hover,
	.hh-v2-mobile-overlay__links a:focus {
		background: rgba(196, 30, 58, 0.12);
		border-inline-start-color: var(--hh-red, #c41e3a);
		color: #fff !important;
	}

	.hh-v2-mobile-overlay__links a:hover .hh-v2-mobile-overlay__link-hint,
	.hh-v2-mobile-overlay__links a:focus .hh-v2-mobile-overlay__link-hint {
		color: rgba(255, 255, 255, 0.68);
	}

	.hh-v2-mobile-overlay__foot {
		margin-top: 0.5rem;
		padding: 1rem 0.25rem calc(1rem + env(safe-area-inset-bottom, 0px));
		border-top: 1px solid rgba(255, 255, 255, 0.08);
	}

	.hh-v2-mobile-overlay__hint {
		margin: 0 0 0.65rem;
		font-size: 0.85rem;
		color: rgba(255, 255, 255, 0.75);
		text-align: center;
	}

	.hh-v2-mobile-overlay__actions {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
	}

	.hh-v2-mobile-overlay__actions .hh-v2-btn {
		width: 100%;
		justify-content: center;
	}

	body.hh-v2-nav-open {
		overflow: hidden;
		height: 100%;
		width: 100%;
		touch-action: none;
	}

	body.hh-v2-nav-open .hh-v2-mobile-overlay.is-open .hh-v2-mobile-overlay__scroll {
		touch-action: pan-y;
	}

	body.admin-bar .hh-v2-mobile-overlay__top {
		padding-top: calc(0.85rem + env(safe-area-inset-top, 0px));
	}
}
