/*
Theme Name:  Hallie Intranet
Theme URI:   https://cms-web.solutions/
Author:      CMS Web Solutions
Author URI:  https://cms-web.solutions/
Description: Minimal classic theme for the Hallie Reads private intranet. Renders page content without chrome, provides role-based navigation via the hallie-reads plugin, and suppresses all WordPress branding. Not intended for public sites.
Version:     1.0.0
Requires at least: 6.4
Requires PHP: 8.1
License:     GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hallie-intranet
Tags:        one-column, custom-logo, editor-style
*/

:root {
	--cms-navy: #0a2a5e;
	--cms-navy-hover: #0e3a82;
	--cms-red: #d73127;
	--bg: #f5f7fb;
	--card: #ffffff;
	--ink: #121725;
	--ink-soft: #5a627a;
	--line: #e4e8f0;
	--line-soft: #eef1f6;
	--shadow-sm: 0 1px 2px rgba(18, 23, 37, 0.04);
	--shadow-md: 0 4px 16px rgba(18, 23, 37, 0.06);
	--shadow-lg: 0 12px 40px rgba(12, 20, 44, 0.08);
	--radius: 10px;
	--radius-lg: 14px;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
	font-family: "Lexend", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	background: var(--bg);
	color: var(--ink);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	line-height: 1.5;
}
a { color: var(--cms-navy); }

/* Top bar */
.hallie-topbar {
	background: #fff;
	border-bottom: 1px solid var(--line);
	position: sticky;
	top: 0;
	z-index: 20;
}
.hallie-topbar-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 14px 24px;
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: 64px;
}
.hallie-brand {
	text-decoration: none;
	color: var(--cms-navy);
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 16px;
}
.hallie-brand img,
.hallie-brand .custom-logo {
	max-height: 40px;
	width: auto;
	display: block;
}

.hallie-nav {
	margin-left: auto;
	display: flex;
	gap: 2px;
	align-items: center;
	flex-wrap: wrap;
}
.hallie-nav-item {
	color: var(--ink-soft);
	text-decoration: none;
	padding: 8px 14px;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 500;
	transition: background 120ms, color 120ms;
}
.hallie-nav-item:hover,
.hallie-nav-item:focus {
	color: var(--cms-navy);
	background: var(--line-soft);
	outline: none;
}
.hallie-nav-item.is-current {
	color: var(--cms-navy);
	background: var(--line-soft);
}
.hallie-nav-signout {
	color: var(--ink-soft);
	border-left: 1px solid var(--line);
	margin-left: 6px;
	padding-left: 18px;
	border-radius: 0 8px 8px 0;
}
.hallie-nav-signout:hover { color: var(--cms-red); background: transparent; }

/* Main content area */
.hallie-site-main {
	min-height: calc(100vh - 160px);
}

/* Footer */
.hallie-sitefoot {
	text-align: center;
	padding: 32px 20px 40px;
	color: var(--ink-soft);
	font-size: 13px;
	line-height: 1.6;
}
.hallie-sitefoot a { color: inherit; text-decoration: underline; }
.hallie-sitefoot a:hover { color: var(--cms-navy); }

/* Body classes set by the plugin */
body.hallie-chrome-off .hallie-topbar,
body.hallie-chrome-off .hallie-sitefoot { display: none; }

body.hallie-child-mode {
	background: #FFF8E7;
}
body.hallie-child-mode .hallie-topbar,
body.hallie-child-mode .hallie-sitefoot { display: none; }

/* Classic WP components we still rely on */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px; width: 1px;
	margin: -1px; overflow: hidden;
	padding: 0; position: absolute;
	word-wrap: normal !important;
}

@media (max-width: 720px) {
	.hallie-topbar-inner {
		padding: 10px 12px;
		gap: 8px;
		flex-wrap: wrap;
		min-height: 56px;
	}
	.hallie-brand img, .hallie-brand .custom-logo img { max-height: 32px; }
	.hallie-brand span { font-size: 15px; }
	.hallie-nav {
		margin-left: auto;
		width: auto;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		flex-wrap: nowrap;
	}
	.hallie-nav-item { padding: 6px 10px; font-size: 14px; }
	.hallie-nav-signout { padding-left: 10px; margin-left: 2px; border-left-color: var(--line-soft); }
	.hallie-sitefoot { padding: 24px 16px 30px; font-size: 12px; }
}

@media (max-width: 420px) {
	.hallie-nav-item { padding: 5px 8px; font-size: 13px; }
	.hallie-nav-signout { padding-left: 8px; }
}
