/* NFHB Umsjón portal – loaded only on the portal page. Everything is scoped to .nfhb-u. */

body.nfhb-umsjon-body {
	margin: 0;
	background: #f3f5f8;
}

.nfhb-u {
	--nfhb-blue: #084b7f;
	--nfhb-navy: #053253;
	--nfhb-red: #b22f31;
	--nfhb-grey: #c9c9c9;
	--nfhb-line: #dfe3e8;
	--nfhb-text: #1c2733;
	--nfhb-muted: #5b6672;
	--nfhb-radius: 9px;
	box-sizing: border-box;
	min-height: 100vh;
	color: var(--nfhb-text);
	font-family: "Merriweather Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.55;
	text-align: left;
}

.nfhb-u *,
.nfhb-u *::before,
.nfhb-u *::after {
	box-sizing: inherit;
}

.nfhb-u a {
	color: var(--nfhb-blue);
}

.nfhb-u :focus-visible {
	outline: 3px solid #f0b429;
	outline-offset: 2px;
}

.nfhb-u-skip {
	position: absolute;
	left: -9999px;
}

.nfhb-u-skip:focus {
	left: 16px;
	top: 8px;
	z-index: 10;
	padding: 8px 12px;
	background: #fff;
	border-radius: var(--nfhb-radius);
}

/* ---------- Header ---------- */

.nfhb-u-header {
	background: var(--nfhb-navy);
	color: #fff;
	border-bottom: 3px solid var(--nfhb-red);
}

.nfhb-u-header-inner,
.nfhb-u-tabs-inner,
.nfhb-u-main {
	max-width: 1040px;
	margin: 0 auto;
	padding-left: 24px;
	padding-right: 24px;
}

.nfhb-u-header-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	min-height: 64px;
	padding-top: 10px;
	padding-bottom: 10px;
}

.nfhb-u-brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #fff !important;
	font-weight: 700;
	font-size: 1.05rem;
	text-decoration: none;
	letter-spacing: 0.01em;
}

.nfhb-u-brand-mark {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 8px;
	background: #fff;
	color: var(--nfhb-navy);
	font-weight: 800;
}

.nfhb-u-brand-dark {
	color: var(--nfhb-navy) !important;
	margin-bottom: 20px;
}

.nfhb-u-brand-dark .nfhb-u-brand-mark {
	background: var(--nfhb-navy);
	color: #fff;
}

.nfhb-u-current-felag {
	padding: 3px 10px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 999px;
	font-size: 0.875rem;
}

.nfhb-u-user {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-left: auto;
	font-size: 0.9rem;
}

.nfhb-u-user-name {
	opacity: 0.9;
	max-width: 22ch;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* ---------- Tabs ---------- */

.nfhb-u-tabs {
	background: #fff;
	border-bottom: 1px solid var(--nfhb-line);
}

.nfhb-u-tabs-inner {
	display: flex;
	gap: 4px;
	overflow-x: auto;
}

.nfhb-u-tabs a {
	display: block;
	padding: 14px 14px 12px;
	border-bottom: 3px solid transparent;
	color: var(--nfhb-muted);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.nfhb-u-tabs a:hover {
	color: var(--nfhb-blue);
}

.nfhb-u-tabs a[aria-current="page"] {
	color: var(--nfhb-navy);
	border-bottom-color: var(--nfhb-blue);
}

/* ---------- Layout ---------- */

.nfhb-u-main {
	padding-top: 32px;
	padding-bottom: 64px;
}

.nfhb-u-center {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	padding: 24px 16px;
}

.nfhb-u-center-text {
	text-align: center;
}

.nfhb-u-title {
	margin: 0 0 8px;
	color: var(--nfhb-navy);
	font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem);
	line-height: 1.2;
	font-weight: 700;
}

.nfhb-u-lead {
	margin: 0 0 24px;
	color: var(--nfhb-muted);
	font-size: 1.05rem;
}

.nfhb-u-h2 {
	margin: 0 0 16px;
	color: var(--nfhb-navy);
	font-size: 1.15rem;
	font-weight: 700;
}

.nfhb-u-card {
	background: #fff;
	border: 1px solid var(--nfhb-line);
	border-radius: var(--nfhb-radius);
	padding: 24px;
	margin-bottom: 20px;
	box-shadow: 0 1px 2px rgba(5, 50, 83, 0.04);
}

.nfhb-u-narrow,
.nfhb-u-login {
	width: 100%;
	max-width: 420px;
	margin-bottom: 0;
	padding: 32px;
}

.nfhb-u-muted {
	color: var(--nfhb-muted);
}

.nfhb-u-help {
	margin: 6px 0 0;
	color: var(--nfhb-muted);
	font-size: 0.875rem;
}

/* ---------- Association switch ---------- */

.nfhb-u-switch {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 8px;
}

.nfhb-u-switch a {
	padding: 8px 16px;
	border: 1px solid var(--nfhb-grey);
	border-radius: 999px;
	background: #fff;
	color: var(--nfhb-navy);
	font-weight: 600;
	text-decoration: none;
}

.nfhb-u-switch a:hover {
	border-color: var(--nfhb-blue);
}

.nfhb-u-switch a[aria-current="true"] {
	background: var(--nfhb-blue);
	border-color: var(--nfhb-blue);
	color: #fff;
}

/* ---------- Dashboard tiles ---------- */

.nfhb-u-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.nfhb-u-cards li {
	margin: 0;
}

.nfhb-u-tile {
	display: flex;
	flex-direction: column;
	gap: 8px;
	height: 100%;
	min-height: 150px;
	padding: 22px;
	border: 1px solid var(--nfhb-line);
	border-top: 4px solid var(--nfhb-blue);
	border-radius: var(--nfhb-radius);
	background: #fff;
	color: var(--nfhb-text) !important;
	text-decoration: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

a.nfhb-u-tile:hover {
	border-color: var(--nfhb-blue);
	box-shadow: 0 4px 14px rgba(5, 50, 83, 0.1);
}

.nfhb-u-tile.is-disabled {
	border-top-color: var(--nfhb-grey);
	background: #fafbfc;
	color: var(--nfhb-muted) !important;
}

.nfhb-u-tile-title {
	color: var(--nfhb-navy);
	font-size: 1.15rem;
	font-weight: 700;
}

.is-disabled .nfhb-u-tile-title {
	color: var(--nfhb-muted);
}

.nfhb-u-tile-text {
	flex: 1;
	font-size: 0.95rem;
}

.nfhb-u-tile-meta {
	color: var(--nfhb-blue);
	font-size: 0.875rem;
	font-weight: 600;
}

.nfhb-u-soon {
	align-self: flex-start;
	padding: 2px 10px;
	border-radius: 999px;
	background: #eceff2;
	color: var(--nfhb-muted);
}

/* ---------- Notices ---------- */

.nfhb-u-notice {
	margin: 0 0 20px;
	padding: 14px 16px;
	border: 1px solid;
	border-left-width: 5px;
	border-radius: var(--nfhb-radius);
	background: #fff;
}

.nfhb-u-notice-error {
	border-color: var(--nfhb-red);
	background: #fdf3f3;
	color: #7d1c1e;
}

.nfhb-u-notice-success {
	border-color: #2e7d4f;
	background: #f1f9f4;
	color: #1d5236;
}

.nfhb-u-notice-info {
	border-color: var(--nfhb-blue);
	background: #f1f6fb;
	color: var(--nfhb-navy);
}

/* ---------- Forms ---------- */

.nfhb-u-form {
	margin: 0;
}

.nfhb-u-field {
	margin: 0 0 22px;
}

.nfhb-u-label {
	display: block;
	margin: 0 0 6px;
	color: var(--nfhb-navy);
	font-weight: 700;
}

.nfhb-u input[type="text"],
.nfhb-u input[type="email"],
.nfhb-u input[type="url"],
.nfhb-u input[type="password"],
.nfhb-u textarea {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid #aab3bd;
	border-radius: 7px;
	background: #fff;
	color: var(--nfhb-text);
	font: inherit;
	font-size: 16px;
	line-height: 1.5;
	box-shadow: none;
}

.nfhb-u textarea {
	resize: vertical;
	min-height: 90px;
}

.nfhb-u input:focus,
.nfhb-u textarea:focus {
	border-color: var(--nfhb-blue);
	outline: 3px solid rgba(8, 75, 127, 0.25);
	outline-offset: 0;
}

.nfhb-u-field.has-error input,
.nfhb-u-field.has-error textarea {
	border-color: var(--nfhb-red);
	border-width: 2px;
}

.nfhb-u-error {
	margin: 6px 0 0;
	color: var(--nfhb-red);
	font-size: 0.9rem;
	font-weight: 600;
}

.nfhb-u-count {
	white-space: nowrap;
}

.nfhb-u-count.is-over {
	color: var(--nfhb-red);
	font-weight: 700;
}

.nfhb-u-check label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 400;
}

.nfhb-u-check input {
	width: 18px;
	height: 18px;
	margin: 0;
}

.nfhb-u-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.nfhb-u-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 20px;
	border: 1px solid transparent;
	border-radius: 7px;
	font: inherit;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
}

.nfhb-u-btn-primary {
	background: var(--nfhb-blue);
	color: #fff !important;
}

.nfhb-u-btn-primary:hover {
	background: var(--nfhb-navy);
}

.nfhb-u-btn-light {
	min-height: 36px;
	padding: 6px 14px;
	border-color: rgba(255, 255, 255, 0.5);
	background: transparent;
	color: #fff !important;
	font-size: 0.875rem;
}

.nfhb-u-btn-light:hover {
	background: rgba(255, 255, 255, 0.12);
}

.nfhb-u-btn-quiet {
	background: transparent;
	color: var(--nfhb-blue) !important;
}

.nfhb-u-btn-block {
	width: 100%;
}

/* ---------- Read-only facts ---------- */

.nfhb-u-dl {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px 24px;
	margin: 0;
}

.nfhb-u-dl div {
	min-width: 0;
}

.nfhb-u-dl dt {
	color: var(--nfhb-muted);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.nfhb-u-dl dd {
	margin: 2px 0 0;
	overflow-wrap: anywhere;
}

.nfhb-u-readonly {
	background: #f8fafc;
}

/* ---------- Board table ---------- */

.nfhb-u-table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 0.95rem;
}

.nfhb-u-table th:nth-child(1) {
	width: 38%;
}

.nfhb-u-table th:nth-child(2) {
	width: 26%;
}

.nfhb-u-table th:nth-child(3) {
	width: 18%;
}

.nfhb-u-table td {
	overflow-wrap: anywhere;
}

.nfhb-u-table th,
.nfhb-u-table td {
	padding: 12px 10px;
	border: 0;
	border-bottom: 1px solid var(--nfhb-line);
	text-align: left;
	vertical-align: top;
}

.nfhb-u-table th {
	color: var(--nfhb-muted);
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.nfhb-u-table tbody tr:last-child td {
	border-bottom: 0;
}

.nfhb-u-count-badge {
	display: inline-block;
	min-width: 26px;
	padding: 1px 8px;
	border-radius: 999px;
	background: #eceff2;
	color: var(--nfhb-muted);
	font-size: 0.8rem;
	text-align: center;
	vertical-align: middle;
}

.nfhb-u-status {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 700;
}

.nfhb-u-status-sitjandi {
	background: #e6f0f8;
	color: var(--nfhb-blue);
}

.nfhb-u-status-fyrrverandi,
.nfhb-u-status-none {
	background: #eceff2;
	color: var(--nfhb-muted);
}

.nfhb-u-tag {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 8px;
	border: 1px solid var(--nfhb-red);
	border-radius: 999px;
	color: var(--nfhb-red);
	font-size: 0.75rem;
	font-weight: 700;
}

/* 1.4.0: cancelled events. */
.nfhb-u-tag.nfhb-u-tag-aflyst {
	background: var(--nfhb-red);
	color: #fff;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.nfhb-u-aflysing {
	margin-top: 24px;
	border-left: 4px solid var(--nfhb-red);
}

/* 1.4.0, phase 2: deleting to the Trash and the Ruslafata screen. */
.nfhb-u-eyding {
	margin-top: 24px;
	border-left: 4px solid var(--nfhb-muted);
}

.nfhb-u-eyding-stadfesting {
	border-left: 4px solid var(--nfhb-red);
}

.nfhb-u-eyding-titill {
	margin: 0 0 12px;
	color: var(--nfhb-navy);
	font-size: 1.35rem;
	font-weight: 800;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.nfhb-u-eyding-listi {
	margin: 16px 0;
	padding-left: 1.2em;
}

.nfhb-u-eyding-listi li + li {
	margin-top: 6px;
}

.nfhb-u-eyding-check {
	margin: 16px 0;
	padding: 12px 14px;
	border: 1px solid var(--nfhb-line);
	border-radius: 6px;
	background: #fbecec;
}

.nfhb-u-eyding-check label {
	align-items: flex-start;
	font-weight: 700;
}

.nfhb-u-eyding-check input {
	flex: none;
	margin-top: 2px;
}

.nfhb-u-subtabs .nfhb-u-subtab-trash {
	margin-left: auto;
}

.nfhb-u-count-badge {
	display: inline-block;
	min-width: 1.4em;
	margin-left: 4px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--nfhb-line);
	color: var(--nfhb-navy);
	font-size: 0.8rem;
	text-align: center;
}

.nfhb-u-trash .nfhb-u-news-actions form {
	margin: 0;
}

.nfhb-u-empty p {
	margin: 0;
	color: var(--nfhb-muted);
}

/* ---------- Board management (0.3.0) ---------- */

.nfhb-u select {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid #aab3bd;
	border-radius: 7px;
	background: #fff;
	color: var(--nfhb-text);
	font: inherit;
	font-size: 16px;
}

.nfhb-u select:focus {
	border-color: var(--nfhb-blue);
	outline: 3px solid rgba(8, 75, 127, 0.25);
	outline-offset: 0;
}

.nfhb-u-field.has-error select {
	border-color: var(--nfhb-red);
	border-width: 2px;
}

.nfhb-u-form > .nfhb-u-help {
	margin-bottom: 20px;
}

.nfhb-u input.nfhb-u-short {
	max-width: 8em;
}

.nfhb-u-headrow {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px 24px;
}

.nfhb-u-btn-add {
	flex: 0 0 auto;
}

.nfhb-u-subtabs {
	display: flex;
	flex-wrap: wrap; /* 1.4.0: five tabs with Ruslafata; wrap on narrow screens. */
	gap: 4px;
	margin: 8px 0 16px;
	border-bottom: 1px solid var(--nfhb-line);
}

.nfhb-u-subtabs a {
	padding: 10px 14px 9px;
	border-bottom: 3px solid transparent;
	color: var(--nfhb-muted);
	font-weight: 700;
	text-decoration: none;
}

.nfhb-u-subtabs a[aria-current="page"] {
	color: var(--nfhb-navy);
	border-bottom-color: var(--nfhb-red);
}

.nfhb-u-years {
	margin-bottom: 20px;
}

.nfhb-u-years a {
	padding: 5px 12px;
	font-size: 0.9rem;
}

.nfhb-u-members {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}

.nfhb-u-member {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 4px 14px;
	margin: 0;
	padding: 16px;
	border: 1px solid var(--nfhb-line);
	border-left: 4px solid var(--nfhb-blue);
	border-radius: var(--nfhb-radius);
	background: #fff;
}

.nfhb-u-history .nfhb-u-member {
	border-left-color: var(--nfhb-grey);
}

.nfhb-u-portrait {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	object-fit: cover;
}

.nfhb-u-portrait-empty {
	display: grid;
	place-items: center;
	background: #e6f0f8;
	color: var(--nfhb-blue);
	font-weight: 800;
	letter-spacing: 0.02em;
}

.nfhb-u-member-body p {
	margin: 0;
}

.nfhb-u-member-name {
	color: var(--nfhb-navy);
	font-weight: 700;
	overflow-wrap: anywhere;
}

.nfhb-u-member-role {
	font-size: 0.95rem;
}

.nfhb-u-member-year {
	color: var(--nfhb-muted);
	font-size: 0.85rem;
}

.nfhb-u-member-actions {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.nfhb-u-btn-small {
	min-height: 36px;
	padding: 6px 14px;
	border-color: var(--nfhb-grey);
	background: #fff;
	color: var(--nfhb-navy) !important;
	font-size: 0.875rem;
}

.nfhb-u-btn-small:hover {
	border-color: var(--nfhb-blue);
}

.nfhb-u-btn-danger {
	border-color: var(--nfhb-red);
	background: #fff;
	color: var(--nfhb-red) !important;
}

.nfhb-u-btn-danger:hover {
	background: #fdf3f3;
}

.nfhb-u-confirm .nfhb-u-btn-danger,
.nfhb-u-actions .nfhb-u-btn-danger {
	background: var(--nfhb-red);
	color: #fff !important;
}

.nfhb-u-confirm .nfhb-u-btn-danger:hover {
	background: #8f2527;
}

.nfhb-u-back {
	font-weight: 600;
	text-decoration: none;
}

.nfhb-u-list {
	margin: 12px 0 20px;
	padding-left: 1.2em;
}

.nfhb-u-error-list {
	margin: 8px 0 0;
	padding-left: 1.2em;
}

.nfhb-u-error-list a {
	color: inherit;
}

.nfhb-u-radios {
	margin: 0 0 22px;
	padding: 0;
	border: 0;
}

.nfhb-u-radios label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 4px 0;
}

.nfhb-u-radios input {
	width: 18px;
	height: 18px;
	margin: 0;
}

.nfhb-u-dl-inline,
.nfhb-u-readonly-facts {
	margin-bottom: 20px;
	padding: 12px 14px;
	border-radius: 7px;
	background: #f3f5f8;
}

.nfhb-u-inline-form {
	margin: -8px 0 20px;
}

.nfhb-u-btn[disabled] {
	opacity: 0.6;
	cursor: progress;
}

@media (max-width: 720px) {
	.nfhb-u-members {
		grid-template-columns: minmax(0, 1fr);
	}

	.nfhb-u-btn-add {
		width: 100%;
	}
}

/* ---------- News (0.4.0) ---------- */

.nfhb-u-news {
	display: grid;
	gap: 12px;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}

.nfhb-u-news-item {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px 16px;
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--nfhb-line);
	border-radius: var(--nfhb-radius);
	background: #fff;
}

.nfhb-u-news-thumb {
	display: block;
	width: 72px;
	height: 72px;
	border-radius: 7px;
	object-fit: cover;
}

.nfhb-u-news-thumb-empty {
	background: linear-gradient(135deg, #e6f0f8, #f3f5f8);
}

.nfhb-u-news-body p {
	margin: 0;
}

.nfhb-u-news-title {
	color: var(--nfhb-navy);
	font-weight: 700;
	overflow-wrap: anywhere;
}

.nfhb-u-news-meta {
	margin: 4px 0 0;
	color: var(--nfhb-muted);
	font-size: 0.85rem;
}

.nfhb-u-news-actions {
	grid-column: auto;
	margin-top: 0;
	justify-content: flex-end;
}

.nfhb-u-pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 8px 0 24px;
	color: var(--nfhb-muted);
}

.nfhb-u-editor .wp-editor-wrap {
	border-radius: 7px;
}

.nfhb-u-editor .wp-editor-container {
	border: 1px solid #aab3bd;
}

.nfhb-u-editor.has-error .wp-editor-container {
	border: 2px solid var(--nfhb-red);
}

.nfhb-u-editor textarea.wp-editor-area {
	border: 0;
	border-radius: 0;
}

.nfhb-u-images {
	margin: 0 0 22px;
	padding: 0;
	border: 0;
}

.nfhb-u-image-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
	gap: 10px;
	margin: 0 0 14px;
}

.nfhb-u-image-opt {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 6px;
	border: 2px solid var(--nfhb-line);
	border-radius: 7px;
	background: #fff;
	font-size: 0.8rem;
	cursor: pointer;
}

.nfhb-u-image-opt input {
	position: absolute;
	top: 8px;
	left: 8px;
	width: 18px;
	height: 18px;
	margin: 0;
}

.nfhb-u-image-opt img,
.nfhb-u-image-none {
	display: grid;
	place-items: center;
	width: 100%;
	height: 90px;
	border-radius: 5px;
	object-fit: cover;
	background: #f3f5f8;
	color: var(--nfhb-muted);
	font-size: 1.4rem;
}

.nfhb-u-image-opt:has(input:checked) {
	border-color: var(--nfhb-blue);
	box-shadow: 0 0 0 2px rgba(8, 75, 127, 0.2);
}

.nfhb-u-upload {
	margin-bottom: 14px;
}

.nfhb-u-label-small {
	font-size: 0.9rem;
}

.nfhb-u input[type="file"] {
	max-width: 100%;
	font: inherit;
	font-size: 0.95rem;
}

.nfhb-u-preview .nfhb-u-title {
	margin-top: 8px;
}

.nfhb-u-preview-image {
	display: block;
	width: 100%;
	height: auto;
	max-height: 420px;
	margin: 12px 0 16px;
	border-radius: var(--nfhb-radius);
	object-fit: cover;
}

.nfhb-u-preview-body {
	overflow-wrap: anywhere;
}

.nfhb-u-preview-body h2,
.nfhb-u-preview-body h3 {
	color: var(--nfhb-navy);
}

@media (max-width: 640px) {
	.nfhb-u-news-item {
		grid-template-columns: 56px minmax(0, 1fr);
	}

	.nfhb-u-news-thumb {
		width: 56px;
		height: 56px;
	}

	.nfhb-u-news-actions {
		grid-column: 1 / -1;
		justify-content: flex-start;
	}
}

/* ---------- Screen sizes ---------- */

@media (min-width: 960px) {
	.nfhb-u-cards {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.nfhb-u-cards {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	.nfhb-u-header-inner,
	.nfhb-u-tabs-inner,
	.nfhb-u-main {
		padding-left: 16px;
		padding-right: 16px;
	}

	.nfhb-u-main {
		padding-top: 24px;
	}

	.nfhb-u-card {
		padding: 18px;
	}

	.nfhb-u-narrow,
	.nfhb-u-login {
		padding: 24px 20px;
	}

	.nfhb-u-user-name {
		display: none;
	}

	.nfhb-u-actions .nfhb-u-btn {
		width: 100%;
	}

	.nfhb-u-table thead {
		position: absolute;
		left: -9999px;
	}

	.nfhb-u-table,
	.nfhb-u-table tbody,
	.nfhb-u-table tr,
	.nfhb-u-table td {
		display: block;
		width: 100%;
	}

	.nfhb-u-table tr {
		padding: 10px 0;
		border-bottom: 1px solid var(--nfhb-line);
	}

	.nfhb-u-table tbody tr:last-child {
		border-bottom: 0;
	}

	.nfhb-u-table td {
		display: flex;
		gap: 12px;
		padding: 3px 0;
		border: 0;
	}

	.nfhb-u-table td::before {
		content: attr(data-label);
		flex: 0 0 82px;
		color: var(--nfhb-muted);
		font-size: 0.8rem;
		font-weight: 700;
	}
}

/* ---------- Events (0.5.0) ---------- */

.nfhb-u input[type="date"],
.nfhb-u input[type="time"] {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 46px;
	margin: 0;
	padding: 9px 12px;
	border: 1px solid #aab3bd;
	border-radius: 7px;
	background: #fff;
	color: var(--nfhb-text);
	font: inherit;
	font-size: 16px;
}

.nfhb-u input[type="date"]:focus,
.nfhb-u input[type="time"]:focus {
	border-color: var(--nfhb-blue);
	outline: 3px solid rgba(8, 75, 127, 0.25);
	outline-offset: 0;
}

.nfhb-u-field.has-error input[type="date"],
.nfhb-u-field.has-error input[type="time"] {
	border-color: var(--nfhb-red);
	border-width: 2px;
}

.nfhb-u-datetime {
	margin: 0 0 22px;
	padding: 0;
	border: 0;
}

.nfhb-u-grid2 {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 4px 14px;
}

.nfhb-u-grid2 .nfhb-u-field {
	margin-bottom: 10px;
}

.nfhb-u-datetime .nfhb-u-check {
	margin: 4px 0 6px;
}

.nfhb-u-checks {
	margin: 0 0 22px;
	padding: 0;
	border: 0;
}

.nfhb-u-chip-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 2px 0 6px;
}

.nfhb-u-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 40px;
	padding: 6px 12px;
	border: 1px solid #aab3bd;
	border-radius: 999px;
	background: #fff;
	color: var(--nfhb-text);
	cursor: pointer;
}

.nfhb-u-chip input {
	width: 18px;
	height: 18px;
	margin: 0;
}

.nfhb-u-chip:has(input:checked) {
	border-color: var(--nfhb-blue);
	background: #eaf2f9;
	color: var(--nfhb-navy);
	font-weight: 700;
}

.nfhb-u-chip:has(input:focus-visible) {
	outline: 3px solid rgba(8, 75, 127, 0.35);
	outline-offset: 1px;
}

.nfhb-u-checks.has-error .nfhb-u-chip {
	border-color: var(--nfhb-red);
}

@media (max-width: 560px) {
	.nfhb-u-grid2 {
		grid-template-columns: minmax(0, 1fr);
	}

	.nfhb-u-grid2 .nfhb-u-time {
		margin-top: -4px;
	}
}

/* ---------- Portraits and logos (0.6.0) ---------- */

.nfhb-u-media {
	margin: 0 0 22px;
	padding: 0;
	border: 0;
}

.nfhb-u-media-row {
	display: flex;
	gap: 18px;
	align-items: flex-start;
}

.nfhb-u-media-frame {
	flex: 0 0 132px;
	width: 132px;
	height: 132px;
	overflow: hidden;
	border: 1px solid var(--nfhb-line);
	border-radius: var(--nfhb-radius);
	background: #f4f6f8;
	display: flex;
	align-items: center;
	justify-content: center;
}

.nfhb-u-media-frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nfhb-u-media-frame .nfhb-u-media-empty {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0;
	font-size: 2.2rem;
	font-weight: 700;
	color: var(--nfhb-navy);
	background: #e7edf3;
}

.nfhb-u-media-frame [hidden] {
	display: none !important; /* the preview replaces the current image or placeholder */
}

.nfhb-u-media-controls {
	flex: 1 1 auto;
	min-width: 0;
}

.nfhb-u-media-controls input[type="file"] {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0 0 10px;
	font: inherit;
}

.nfhb-u-media-controls input[type="file"]:focus-visible {
	outline: 3px solid rgba(8, 75, 127, 0.35);
	outline-offset: 2px;
}

.nfhb-u-media-state {
	margin: 0 0 8px;
	color: var(--nfhb-muted);
}

.nfhb-u-media-remove {
	margin: 0 0 10px;
}

.nfhb-u-media.has-error .nfhb-u-media-frame {
	border-color: var(--nfhb-red);
}

@media (max-width: 560px) {
	.nfhb-u-media-row {
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nfhb-u-tile {
		transition: none;
	}
}

/* ==========================================================================
   0.6.1: theme isolation for buttons, labels and plain paragraphs.

   Some themes style every <button>, [type="submit"], <label> and <p> with element and attribute
   selectors in a stylesheet printed AFTER this one. Hello Elementor's reset.css, for example:
     [type=submit], button { background-color: transparent; border: 1px solid #c36; border-radius: 3px;
       color: #c36; padding: .5rem 1rem; font-size: 1rem; font-weight: 400; white-space: nowrap; … }  (0,1,0)
     [type=submit]:hover, button:focus, … { background-color: #c36; color: #fff }                      (0,2,0)
     [type=submit], button { width: auto }   label { line-height: 1 }   p { margin-block: 0 .9rem }
   With equal specificity the later file wins, so primary buttons became transparent with white text
   (invisible) and turned pink on hover or focus. The portal's own values are therefore repeated
   here one class more specific (".nfhb-u …"), for the normal, :focus, :hover, :focus-visible and
   disabled states. No theme selector is touched; nothing outside .nfhb-u changes.
   ========================================================================== */

.nfhb-u .nfhb-u-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 20px;
	border: 1px solid transparent;
	border-radius: 7px;
	font: inherit;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	text-transform: none;
	white-space: normal;
	cursor: pointer;
	transition: none;
	user-select: auto;
}

.nfhb-u .nfhb-u-btn-block {
	width: 100%;
}

.nfhb-u .nfhb-u-btn-primary,
.nfhb-u .nfhb-u-btn-primary:focus {
	border-color: transparent;
	background-color: var(--nfhb-blue);
	color: #fff !important;
}

.nfhb-u .nfhb-u-btn-primary:hover,
.nfhb-u .nfhb-u-btn-primary:focus-visible {
	background-color: var(--nfhb-navy);
	color: #fff !important;
}

.nfhb-u .nfhb-u-btn-light,
.nfhb-u .nfhb-u-btn-light:focus {
	min-height: 36px;
	padding: 6px 14px;
	border-color: rgba(255, 255, 255, 0.5);
	background-color: transparent;
	color: #fff !important;
	font-size: 0.875rem;
}

.nfhb-u .nfhb-u-btn-light:hover,
.nfhb-u .nfhb-u-btn-light:focus-visible {
	background-color: rgba(255, 255, 255, 0.12);
}

.nfhb-u .nfhb-u-btn-quiet,
.nfhb-u .nfhb-u-btn-quiet:focus,
.nfhb-u .nfhb-u-btn-quiet:hover {
	border-color: transparent;
	background-color: transparent;
	color: var(--nfhb-blue) !important;
}

.nfhb-u .nfhb-u-btn-quiet:hover {
	text-decoration: underline;
}

.nfhb-u .nfhb-u-btn-small,
.nfhb-u .nfhb-u-btn-small:focus {
	min-height: 36px;
	padding: 6px 14px;
	border-color: var(--nfhb-grey);
	background-color: #fff;
	color: var(--nfhb-navy) !important;
	font-size: 0.875rem;
}

.nfhb-u .nfhb-u-btn-small:hover,
.nfhb-u .nfhb-u-btn-small:focus-visible {
	border-color: var(--nfhb-blue);
	background-color: #fff;
}

.nfhb-u .nfhb-u-btn-danger,
.nfhb-u .nfhb-u-btn-danger:focus {
	border-color: var(--nfhb-red);
	background-color: #fff;
	color: var(--nfhb-red) !important;
}

.nfhb-u .nfhb-u-btn-danger:hover,
.nfhb-u .nfhb-u-btn-danger:focus-visible {
	background-color: #fdf3f3;
}

.nfhb-u .nfhb-u-confirm .nfhb-u-btn-danger,
.nfhb-u .nfhb-u-confirm .nfhb-u-btn-danger:focus,
.nfhb-u .nfhb-u-actions .nfhb-u-btn-danger,
.nfhb-u .nfhb-u-actions .nfhb-u-btn-danger:focus {
	background-color: var(--nfhb-red);
	color: #fff !important;
}

.nfhb-u .nfhb-u-confirm .nfhb-u-btn-danger:hover,
.nfhb-u .nfhb-u-confirm .nfhb-u-btn-danger:focus-visible,
.nfhb-u .nfhb-u-actions .nfhb-u-btn-danger:hover,
.nfhb-u .nfhb-u-actions .nfhb-u-btn-danger:focus-visible {
	background-color: #8f2527;
}

/* Keyboard focus: the portal's yellow ring on every button (the theme's black ring and white shadow removed). */
.nfhb-u .nfhb-u-btn:focus-visible {
	outline: 3px solid #f0b429;
	outline-offset: 2px;
	box-shadow: none;
}

.nfhb-u .nfhb-u-btn:disabled,
.nfhb-u .nfhb-u-btn[disabled] {
	opacity: 0.6;
	cursor: progress;
}

/* Labels and chips keep the portal's line height (the theme sets label { line-height: 1 }). */
.nfhb-u label,
.nfhb-u legend {
	line-height: inherit;
}

.nfhb-u legend {
	padding-inline: 2px; /* the browser default, which the theme's legend { padding: 0 } removes */
}

/* The text editor's toolbar (TinyMCE) has no hover rule of its own for its inner <button>s, so the
   theme's button:hover would paint them; they keep TinyMCE's transparent look instead. */
.nfhb-u .wp-editor-wrap .mce-container button {
	border-radius: 0;
	transition: none;
}

.nfhb-u .wp-editor-wrap .mce-container button:hover,
.nfhb-u .wp-editor-wrap .mce-container button:focus {
	background-color: transparent;
	color: inherit;
}

/* Plain paragraphs (help text and notes without a class) keep their normal spacing. */
.nfhb-u p:not([class]) {
	margin: 1em 0;
}

/* The same breakpoints as above: full-width buttons on narrow screens (the theme sets width: auto). */
@media (max-width: 720px) {
	.nfhb-u .nfhb-u-btn-add {
		width: 100%;
	}
}

@media (max-width: 640px) {
	.nfhb-u .nfhb-u-actions .nfhb-u-btn {
		width: 100%;
	}
}

/* ---------- 1.1.0: scheduled publication, Forms registration ---------- */

.nfhb-u-status-timasett {
	background: #fff4d6;
	color: #6b4e00;
}

.nfhb-u-schedule,
.nfhb-u-skraning {
	margin: 0 0 22px;
	padding: 14px 16px 4px;
	border: 1px solid #d8dee4;
	border-radius: 7px;
}

.nfhb-u-schedule > legend,
.nfhb-u-skraning > legend {
	padding-inline: 4px;
}

.nfhb-u-schedule .nfhb-u-grid2 {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	max-width: 420px;
}

.nfhb-u-schedule-state {
	margin: 0 0 10px;
	font-weight: 700;
}

.nfhb-u-skraning-row {
	margin: 10px 0 12px;
	padding-top: 10px;
	border-top: 1px solid #eceff2;
}

.nfhb-u-skraning-row[hidden] {
	display: none;
}

.nfhb-u-skraning .nfhb-u-grid2 {
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}

.nfhb-u .nfhb-u-skraning .nfhb-u-skraning-remove {
	min-height: 36px;
	padding: 6px 10px;
}

.nfhb-u .nfhb-u-skraning [data-nfhb-skraning-add] {
	margin: 0 0 12px;
}

@media (max-width: 560px) {
	.nfhb-u-schedule .nfhb-u-grid2,
	.nfhb-u-skraning .nfhb-u-grid2 {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* 1.2.0: vacant seats (Lausar stöður) and the publishing-consent box on board forms. */
.nfhb-u-member-vacant {
	border-style: dashed;
	border-left: 4px dashed var(--nfhb-line);
	background: #fafcfe;
}

.nfhb-u-portrait-vacant {
	display: grid;
	place-items: center;
	border: 1px dashed var(--nfhb-line);
	background: #fff;
	color: var(--nfhb-muted);
	font-weight: 800;
}

.nfhb-u-member-vacant .nfhb-u-member-name {
	color: var(--nfhb-muted);
	font-weight: 600;
}

.nfhb-u-member-consent {
	margin-top: 2px;
}

.nfhb-u-consent {
	margin: 0 0 18px;
	padding: 14px 16px;
	border: 1px solid var(--nfhb-line);
	border-radius: var(--nfhb-radius);
	background: #f6f9fc;
}

.nfhb-u-consent .nfhb-u-check + .nfhb-u-check {
	margin-top: 8px;
}

/* ---------- 1.5.0: Bæta við staðsetningu (event form) ---------- */

.nfhb-u-stadsetning-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 10px 12px;
}

.nfhb-u-stadsetning-row > .nfhb-u-stadsetning-select {
	flex: 1 1 260px;
	min-width: 0;
}

.nfhb-u-stadur {
	flex: 0 0 auto;
}

.nfhb-u-stadur[open] {
	flex-basis: 100%;
}

/* The browser wraps a <details> element's content in its own box (::details-content), which ".nfhb-u *"
   does not reach, so the panel would inherit content-box sizing and its full-width fields would overflow. */
.nfhb-u .nfhb-u-stadur *,
.nfhb-u .nfhb-u-stadur *::before,
.nfhb-u .nfhb-u-stadur *::after {
	box-sizing: border-box;
}

.nfhb-u .nfhb-u-stadur > summary {
	list-style: none;
	min-height: 44px;
	white-space: nowrap;
}

.nfhb-u-stadur > summary::-webkit-details-marker {
	display: none;
}

.nfhb-u-stadur-body {
	margin-top: 12px;
	padding: 14px 16px 6px;
	border: 1px solid var(--nfhb-line);
	border-radius: var(--nfhb-radius);
	background: #f6f9fc;
}

.nfhb-u-stadur-title {
	margin: 0 0 4px;
	color: var(--nfhb-navy);
	font-size: 1.05rem;
}

.nfhb-u-stadur-body > .nfhb-u-help {
	margin: 0 0 14px;
}

.nfhb-u-stadur .nfhb-u-field {
	margin-bottom: 14px;
}

.nfhb-u-stadur .nfhb-u-stadur-grid {
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}

.nfhb-u-stadur .nfhb-u-field:not(.has-error) input,
.nfhb-u-stadur .nfhb-u-field:not(.has-error) select {
	border-color: #aab3bd;
	border-width: 1px;
}

.nfhb-u-optional {
	color: var(--nfhb-muted);
	font-weight: 400;
}

.nfhb-u-stadur [hidden] {
	display: none !important;
}

.nfhb-u-stadur-status {
	margin: 0 0 12px;
}

.nfhb-u-stadur-matches {
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
}

.nfhb-u-stadur-matches li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 12px;
	padding: 8px 0;
	border-bottom: 1px solid var(--nfhb-line);
}

.nfhb-u-stadur-matches li span {
	font-weight: 600;
	overflow-wrap: anywhere;
}

.nfhb-u-stadur-confirm {
	margin: 0 0 14px;
}

.nfhb-u-stadur-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 12px;
	margin-bottom: 10px;
}

.nfhb-u-stadsetning-status:empty {
	display: none;
}

.nfhb-u-stadsetning-status {
	margin: 8px 0 0;
	color: #1d6b37;
	font-size: 0.9rem;
	font-weight: 600;
}

@media (max-width: 560px) {
	.nfhb-u-stadur,
	.nfhb-u .nfhb-u-stadur > summary,
	.nfhb-u .nfhb-u-stadur-actions .nfhb-u-btn {
		width: 100%;
	}

	.nfhb-u-stadur .nfhb-u-stadur-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ---------- 1.6.0: Skjöl (NFHB documents) ---------- */

.nfhb-u-skjal-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 72px;
	justify-self: center;
	border: 1px solid var(--nfhb-line);
	border-top: 4px solid #b22f31;
	background: #f6f9fc;
	color: var(--nfhb-navy);
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.nfhb-u-skjol .nfhb-u-news-meta a {
	overflow-wrap: anywhere;
}

.nfhb-u-skjol-fyrri {
	margin-top: 12px;
}

.nfhb-u-skjol-fyrri summary {
	cursor: pointer;
	color: var(--nfhb-navy);
	font-weight: 600;
}

.nfhb-u-skjol-fyrri ul {
	margin: 8px 0;
	padding-left: 20px;
}

.nfhb-u-skjol-fyrri a {
	overflow-wrap: anywhere;
}

/* ---------- 1.7.0: Forsíða (featured event, homepage photos) ---------- */

.nfhb-u-h3 {
	margin: 24px 0 4px;
	color: var(--nfhb-navy);
	font-size: 1.05rem;
}

.nfhb-u-forsida-vidvorun {
	margin-top: 4px;
}

.nfhb-u-forsida-tomt {
	margin: 4px 0 8px;
}

.nfhb-u-forsida-listi .nfhb-u-news-actions {
	flex-wrap: wrap;
	gap: 6px;
}

.nfhb-u-forsida-listi .nfhb-u-inline-form {
	margin: 0;
}

.nfhb-u-forsida-listi .nfhb-u-btn[disabled] {
	opacity: 0.35;
	cursor: default;
}

.nfhb-u-forsida-frame img {
	object-fit: cover;
}

.nfhb-u-forsida-leyfi {
	padding: 14px 16px;
	border: 1px solid var(--nfhb-line);
	border-left: 4px solid #b22f31;
	border-radius: var(--nfhb-radius);
	background: #fbfcfe;
}

.nfhb-u-forsida-leyfi.has-error {
	border-color: var(--nfhb-red);
}

@media (max-width: 640px) {
	.nfhb-u-forsida-listi .nfhb-u-news-item {
		grid-template-columns: 56px minmax(0, 1fr);
	}

	.nfhb-u-forsida-listi .nfhb-u-news-thumb {
		width: 56px;
		height: 56px;
	}

	.nfhb-u-forsida-listi .nfhb-u-news-actions {
		grid-column: 1 / -1;
		justify-content: flex-start;
	}
}
