/**
 * Admin: slide-out nav on tablet / touch.
 * Visibility & layout use CSS media queries only (no JS gate) so the button always shows in-range.
 * JS only toggles body.admin-nav-open for open/close.
 */

body.section-admin .admin-nav-hamburger {
	display: none !important;
}

/*
 * Drawer layout only on real touch tablets (coarse pointer, no hover).
 * Do NOT gate on viewport width alone: (768px–1919px) matches normal Mac browser
 * windows and would hide the sidebar behind a hamburger with no way back on desktop.
 */
@media (min-width: 768px) and (hover: none) and (pointer: coarse) {

	/*
	 * style.css sets .navbar-header { display:none } globally and only shows it at max-width:750px.
	 * Tablet widths would hide the whole header (including the menu button) without this override.
	 */
	body.section-admin .navbar-header {
		display: block !important;
	}

	body.section-admin .admin-nav-hamburger {
		display: inline-block !important;
		float: left;
		margin: 8px 10px 8px 15px;
		min-width: 40px;
		min-height: 34px;
		padding: 6px 12px;
		line-height: 1.4;
		z-index: 1060;
		position: relative;
	}

	body.section-admin .navbar-header > .navbar-toggle {
		display: none !important;
	}

	/*
	 * Backdrop is a DOM sibling *after* <nav>. Without z-index on nav, the backdrop
	 * paints on top and steals taps from the sliding sidebar. Lift the whole nav.
	 */
	body.section-admin.admin-nav-open #wrapper > nav.navbar {
		position: relative !important;
		z-index: 2000 !important;
	}

	body.section-admin #admin-sidebar {
		display: block !important;
		position: fixed !important;
		top: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 280px !important;
		max-width: min(280px, 88vw) !important;
		margin: 0 !important;
		padding-top: 0 !important;
		z-index: 2001 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		transform: translateX(-105%);
		transition: transform 0.28s ease;
		box-shadow: 4px 0 24px rgba(0, 0, 0, 0.18);
		border-right: 1px solid #e7e7e7;
	}

	body.section-admin.admin-nav-open #admin-sidebar {
		transform: translateX(0);
	}

	body.section-admin .admin-nav-backdrop {
		display: none;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1990;
		background: rgba(15, 35, 52, 0.45);
		-webkit-tap-highlight-color: transparent;
	}

	body.section-admin.admin-nav-open .admin-nav-backdrop {
		display: block;
	}

	body.section-admin.admin-nav-open {
		overflow: hidden;
	}

	body.section-admin.admin-nav-open #page-wrapper {
		position: relative;
		z-index: 1;
	}

	body.section-admin #page-wrapper {
		margin-left: 0 !important;
		width: 100% !important;
		border-left: 0 !important;
	}
}

body.section-admin.inspection-tablet-ui.admin-nav-open #admin-sidebar {
	display: block !important;
}
