/*
Theme Name: Packit Intra
Description: Eigenständiges WordPress-Theme für das Packit-Intranet.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: packit-intra
License: GNU General Public License v2 or later
*/

:root {
	--packit-ink: #1d2025;
	--packit-muted: #565c65;
	--packit-accent: #a64b00;
	--packit-orange: #f59300;
	--packit-header: #fff;
	--packit-paper: #fff;
	--packit-soft: #f5f6f7;
	--packit-line: #e5e7eb;
	--packit-width: 72.5rem;
	--packit-gutter: clamp(1rem, 4vw, 2rem);
	--packit-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

*,
*::before,
*::after { box-sizing: border-box; }

body {
	margin: 0;
	color: var(--packit-ink);
	background: var(--packit-paper);
	font-family: var(--packit-ui);
	font-size: 1rem;
	line-height: 1.58;
}

body.packit-site { display: flex; min-height: 100vh; flex-direction: column; }
a { color: var(--packit-accent); text-underline-offset: .18em; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
button, input[type="submit"] { cursor: pointer; }
:focus-visible { outline: 3px solid #8e4600; outline-offset: 4px; }
[hidden] { display: none !important; }

.packit-container {
	width: min(var(--packit-width), calc(100% - 2 * var(--packit-gutter)));
	margin-inline: auto;
}

.packit-sr,
.packit-skip:not(:focus) {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
.packit-skip:focus {
	position: fixed;
	z-index: 20;
	top: 1rem;
	left: 1rem;
	padding: .7rem 1rem;
	color: #fff;
	background: var(--packit-ink);
}

.packit-header {
	position: sticky;
	z-index: 10;
	top: 0;
	border-bottom: 1px solid var(--packit-line);
	background: var(--packit-header);
}
.admin-bar .packit-header { top: 32px; }
.packit-header__inner {
	display: flex;
	align-items: center;
	gap: clamp(.8rem, 2.4vw, 2.4rem);
	min-height: 4.5rem;
}
.packit-brand,
.custom-logo-link {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: .65rem;
	color: var(--packit-ink);
	font-size: 1.03rem;
	font-weight: 750;
	text-decoration: none;
}
.packit-brand__mark { width: 2.25rem; height: 2.25rem; border-radius: .28rem; }
.packit-brand__logo, .custom-logo { width: auto; max-width: 12rem; max-height: 2.9rem; object-fit: contain; }
.packit-primary { flex: 1 1 auto; }
.packit-nav-list { display: flex; align-items: center; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.packit-nav-list li { position: relative; }
.packit-nav-list a {
	display: block;
	padding: .55rem .62rem;
	color: var(--packit-ink);
	font-size: .86rem;
	font-weight: 640;
	text-decoration: none;
}
.packit-nav-list a:hover,
.packit-nav-list a[aria-current="page"] { color: var(--packit-accent); }
.packit-primary .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 2;
	display: none;
	min-width: 12rem;
	margin: 0;
	padding: .4rem;
	list-style: none;
	background: var(--packit-paper);
	border: 1px solid var(--packit-line);
	border-radius: .4rem;
	box-shadow: 0 .4rem 1.2rem #14151a15;
}
.packit-primary li:hover > .sub-menu,
.packit-primary li:focus-within > .sub-menu { display: block; }
.packit-primary .sub-menu .sub-menu { top: 0; left: 100%; }
.packit-actions { display: flex; gap: .35rem; align-items: center; margin-left: auto; }
.packit-action, .packit-button, .packit-dialog__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .42rem;
	min-height: 2.65rem;
	padding: .52rem .8rem;
	border: 1px solid transparent;
	border-radius: .45rem;
	color: var(--packit-ink);
	background: transparent;
	font-size: .87rem;
	font-weight: 650;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}
.packit-action:hover, .packit-dialog__close:hover { background: var(--packit-soft); }
.packit-action svg, .packit-dialog__close svg {
	width: 1.05rem;
	height: 1.05rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}
.packit-action--login, .packit-button, .packit-site input[type="submit"], .packit-embedded input[type="submit"] {
	padding-inline: .95rem;
	border: 1px solid var(--packit-ink);
	border-radius: .45rem;
	color: #fff;
	background: var(--packit-ink);
	font-weight: 650;
}
.packit-action--login:hover, .packit-button:hover,
.packit-site input[type="submit"]:hover, .packit-embedded input[type="submit"]:hover {
	border-color: #343a43;
	color: #fff;
	background: #343a43;
}

.packit-main { flex: 1 0 auto; padding-block: clamp(2.2rem, 6vw, 4.8rem); }
.packit-entry__header { max-width: 52rem; margin-bottom: 1.65rem; }
.packit-entry__header h1 {
	margin: 0;
	font-size: clamp(2rem, 4.7vw, 3.55rem);
	font-weight: 760;
	line-height: 1.09;
	letter-spacing: -.041em;
	overflow-wrap: anywhere;
}
.packit-entry__header .packit-search { margin-top: 1rem; }
.packit-prose { max-width: 54rem; overflow-wrap: anywhere; }
.packit-prose > :first-child { margin-top: 0; }
.packit-prose h1, .packit-prose h2, .packit-prose h3 { line-height: 1.2; letter-spacing: -.02em; }
.packit-prose h1 { font-size: clamp(1.65rem, 4vw, 2.45rem); }
.packit-prose h2 { font-size: clamp(1.35rem, 3.5vw, 2rem); }
.packit-prose .alignwide, .packit-prose .alignfull { max-width: none; }
.packit-prose pre { max-width: 100%; overflow: auto; }
.packit-prose iframe { max-width: 100%; }
.packit-entry__image { display: block; margin-bottom: 1.5rem; border-radius: .45rem; }
.packit-columns { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1.6rem, 4vw, 3rem); }
.packit-columns:has(.packit-sidebar) { grid-template-columns: minmax(0, 1fr) minmax(13rem, 17rem); }
.packit-sidebar, .packit-hero { min-width: 0; }
.packit-widget { padding: 1rem 0; border-bottom: 1px solid var(--packit-line); }
.packit-widget__title { margin: 0 0 .5rem; font-size: 1.05rem; }
.packit-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: 1.2rem; }
.packit-card { min-width: 0; overflow: hidden; border: 1px solid var(--packit-line); border-radius: .55rem; }
.packit-card img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.packit-card__body { padding: 1rem 1.15rem; }
.packit-card h2 { margin: .25rem 0 .45rem; font-size: 1.25rem; line-height: 1.3; }
.packit-card h2 a { color: var(--packit-ink); text-decoration: none; }
.packit-card h2 a:hover { color: var(--packit-accent); }
.packit-card p { margin: 0; color: var(--packit-muted); }
.packit-meta { color: var(--packit-muted); font-size: .85rem; }
.packit-entry__header .packit-meta { display: flex; flex-wrap: wrap; gap: .65rem; margin-bottom: .65rem; }
.packit-comments, .navigation, .packit-tags { margin-block: 1.5rem; }

.packit-footer { border-top: 1px solid var(--packit-line); background: var(--packit-soft); }
.packit-footer__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1.2rem; padding-block: 1.15rem; }
.packit-footer__inner > a { color: var(--packit-muted); font-size: .86rem; font-weight: 650; text-decoration: none; }
.packit-footer .sub-menu { list-style: none; padding-left: 1rem; }

.packit-enhanced-only { display: none; }
.packit-dialog-ready .packit-enhanced-only { display: inline-flex; }
.packit-dialog-ready .packit-inline-fallback { display: none; }
.packit-dialog-open { overflow: hidden; }
.packit-dialog:not([open]) { display: none; }
.packit-dialog[open] {
	position: fixed;
	inset: auto 0 0;
	display: flex;
	flex-direction: column;
	width: min(100%, 43rem);
	max-width: none;
	max-height: 88vh;
	max-height: 88dvh;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--packit-line);
	border-bottom: 0;
	border-radius: 1rem 1rem 0 0;
	background: var(--packit-paper);
	color: var(--packit-ink);
	box-shadow: 0 -.6rem 4rem #14151a25;
	animation: packit-sheet-in .23s cubic-bezier(.2,.8,.2,1);
}
.packit-dialog::backdrop { background: rgb(20 24 30 / 48%); }
.packit-dialog__heading {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: space-between;
	gap: .8rem;
	padding: .95rem clamp(1rem, 4vw, 1.7rem);
	border-bottom: 1px solid var(--packit-line);
}
.packit-dialog__heading h2 { margin: 0; font-size: clamp(1.2rem, 4vw, 1.5rem); line-height: 1.25; overflow-wrap: anywhere; }
.packit-dialog__close { flex: 0 0 auto; width: 2.75rem; padding: 0; border-color: var(--packit-line); }
.packit-dialog__body { min-height: 0; padding: 1.1rem clamp(1rem, 4vw, 1.7rem) calc(1.3rem + env(safe-area-inset-bottom)); overflow: auto; overscroll-behavior: contain; }
.packit-dialog__menu .packit-nav-list { display: grid; gap: .25rem; }
.packit-dialog__menu .packit-nav-list a { min-height: 2.7rem; padding: .62rem .7rem; border-radius: .4rem; font-size: 1rem; }
.packit-dialog__menu .packit-nav-list a:hover { background: var(--packit-soft); }
.packit-dialog__menu .sub-menu { display: grid; gap: .15rem; margin: 0 0 .3rem 1.25rem; padding: 0 0 0 .4rem; list-style: none; border-left: 1px solid var(--packit-line); }
.packit-dialog__widgets { margin-top: .8rem; border-top: 1px solid var(--packit-line); }
.packit-dialog__frame { display: block; width: 100%; height: min(55vh, 32rem); height: min(55dvh, 32rem); max-height: min(55dvh, 32rem); min-height: 10rem; border: 0; background: var(--packit-paper); }
.packit-dialog__status { margin-top: 0; color: var(--packit-muted); }
.packit-dialog__fallback { display: inline-block; margin-top: .6rem; font-size: .88rem; }
.packit-embedded__main { padding: .25rem .2rem .5rem; }
@keyframes packit-sheet-in { from { transform: translateY(100%); } to { transform: translateY(0); } }

.packit-search { display: flex; align-items: stretch; gap: .6rem; max-width: 35rem; }
.packit-search__field { flex: 1 1 auto; min-width: 0; }
.packit-search__input,
.packit-dialog input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
.packit-embedded input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
.packit-embedded textarea, .packit-embedded select, .packit-comments textarea {
	width: 100%;
	min-height: 2.75rem;
	padding: .6rem .72rem;
	border: 1px solid #b6bcc5;
	border-radius: .4rem;
	background: #fff;
	color: var(--packit-ink);
}
.packit-site input[type="submit"], .packit-embedded input[type="submit"] { min-height: 2.65rem; padding-block: .48rem; }
.packit-dialog form p { margin: 0 0 .8rem; }
.packit-dialog form p:last-child { margin-bottom: 0; }
.packit-dialog label { font-weight: 600; }
.packit-dialog .uam_login_form .input_label { display: block; margin-top: .7rem; }
.packit-dialog .uam_login_form input[type="submit"] { margin-block: .75rem; }
.packit-login-links { display: flex; flex-wrap: wrap; gap: .55rem 1rem; }

@media (max-width: 68rem) {
	.packit-header__inner { flex-wrap: wrap; gap: 0 1rem; padding-block: .6rem; }
	.packit-primary { flex-basis: 100%; order: 2; }
	.packit-primary .packit-nav-list { flex-wrap: wrap; }
	.packit-dialog-ready .packit-primary { display: none; }
}
@media (max-width: 48rem) {
	.packit-columns:has(.packit-sidebar) { grid-template-columns: minmax(0, 1fr); }
	.packit-brand span { font-size: .92rem; }
	.packit-actions { gap: .05rem; }
	.packit-action { padding-inline: .48rem; }
	.packit-action svg { display: none; }
}
@media (max-width: 782px) { .admin-bar .packit-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .packit-header { top: 0; } }
@media (prefers-reduced-motion: reduce) { .packit-dialog[open] { animation: none; } }
