/* layout-navigation.css
 * Structural Navigation Layer (Phase B)
 * Contains ONLY layout, positioning, responsive, and accessibility structure
 * No colors, shadows, gradients, transitions, or aesthetic styling
 * Source: AI-DEV/feedback/header-styles-we-lost.txt (structural subset)
 */

/* ========= NAVIGATION STRUCTURAL RULES (EXTRACTED) ========= */
/* Source: header-styles-we-lost.txt (structural subset only) */

/* Container adjustments (padding kept as spacing) */
.header .container-fluid,
.header .container-xl {
	padding-left: 2px !important;
}

/* Navigation root structural container */
.navmenu {
	padding: 0;
	z-index: 9997; /* stacking context only */
}

.navmenu ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.navmenu li {
	position: relative;
	margin: 0 15px; /* horizontal spacing */
}

/* Desktop Navigation Layout */
@media (min-width: 820px) {
	.mobile-nav-toggle { display: none !important; }
	.navmenu ul {
		display: flex;
		flex-direction: row;
		position: relative;
		width: auto;
		max-width: none;
		top: auto;
		right: auto;
		left: auto;
		margin: 0;
		max-height: none;
		overflow: visible;
		z-index: auto;
		padding: 0;
		align-items: center;
		visibility: visible;
		opacity: 1;
	}
	.navmenu ul li { width: auto; margin: 0 15px; padding: 0; text-align: center; }
	.navmenu ul li a { width: auto; padding: 10px 0; margin: 0; text-align: center; display: flex; }
}

/* Mobile Navigation Layout */
@media (max-width: 819.98px) {
	.mobile-nav-toggle { display: flex !important; }
	.navmenu ul {
		display: none;
		position: fixed;
		top: 80px;
		right: 20px;
		width: 280px;
		max-width: calc(100vw - 40px);
		margin: 0;
		padding: 20px 0;
		max-height: 75vh;
		overflow-y: auto;
		z-index: 10000;
		list-style: none;
		flex-direction: column;
		align-items: flex-start;
	}
	.navmenu.menu-open ul,
	body.mobile-nav-active .navmenu ul { display: flex !important; }
	.navmenu ul li { width: 100%; margin: 0; padding: 0; text-align: left; }
	.navmenu ul li a { width: 100%; padding: 15px 30px; margin: 0; text-align: left; display: block; }
	.mobile-nav-toggle { z-index: 10001 !important; position: relative !important; }
	body.mobile-nav-active { position: relative; }
	body.mobile-nav-active .navmenu { z-index: 9999 !important; }
}

/* Accessibility: Skip Link positioning (structural only) */
.skip-link {
	position: absolute;
	left: -999px;
	top: 10px;
	z-index: 10000;
	transition: left 0.2s; /* movement only */
}
.skip-link:focus { left: 10px; }

/* Logo layout – spacing only */
.logo { text-decoration: none !important; display: flex; align-items: center; }
.logo img { margin-right: 15px; margin-left: 0; padding-left: 0; vertical-align: middle; }

/* Responsive adjustments (mobile alignment tweaks) */
@media (max-width: 819px) {
	.navmenu ul { flex-direction: column; align-items: stretch; }
	.navmenu li { margin: 5px 0; }
}

/* Public area container width adjustments to reduce excessive gutters near collapse breakpoints */
@media (max-width: 991.98px) {
	body.public-area .container,
	body.public-area .container-sm,
	body.public-area .container-md,
	body.public-area .container-lg,
	body.public-area .container-xl {
		max-width: calc(100vw - 2rem);
		margin-left: auto;
		margin-right: auto;
	}
}

@media (max-width: 767.98px) {
	body.public-area .container,
	body.public-area .container-sm,
	body.public-area .container-md,
	body.public-area .container-lg,
	body.public-area .container-xl {
		max-width: calc(100vw - 1.25rem);
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}
}

@media (max-width: 575.98px) {
	body.public-area .container,
	body.public-area .container-sm,
	body.public-area .container-md,
	body.public-area .container-lg,
	body.public-area .container-xl {
		max-width: calc(100vw - 1rem);
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}
}

/* Responsive logo sizing (structural dimension constraints only) */
.logo img { max-height: 90px; width: auto; padding: 1px 0; object-fit: contain; }
body[data-header-logo-style="large"] .logo img { max-height: 180px; padding: 1px 0; }
body[data-header-logo-style="standard"] .logo img,
body[data-header-logo-style=""] .logo img { max-height: 90px; padding: 1px 0; }
body[data-header-logo-style="compact"] .logo img { max-height: 60px; padding: 1px 0; }
body[data-header-logo-style="text-only"] .logo img { display: none; }
@media (max-width: 768px) {
	/* Adjusted small-screen logo sizing while honoring 50% desktop increase */
	.logo img { max-height: 72px; }
	body[data-header-logo-style="large"] .logo img { max-height: 140px; padding: 1px 0; }
	body[data-header-logo-style="compact"] .logo img { max-height: 48px; }
}

@media (min-width: 769px) and (max-width: 991px) {
	/* Medium breakpoint adjustments for improved branding prominence */
	.logo img { max-height: 105px; }
	body[data-header-logo-style="large"] .logo img { max-height: 165px; }
	body[data-header-logo-style="compact"] .logo img { max-height: 65px; }
}

/* End structural navigation layer */
