/**
 * Design tokens and element defaults.
 *
 * Values verified from Oxygen template 8 (Haus og fótur) CSS + shortcodes
 * and global Oxygen colors — not a visual redesign.
 */

:root {
	/* Brand / surfaces (Oxygen color(1) lionsblue, color(2) lionsyellow) */
	--lions-color-brand: #00539b;
	--lions-color-brand-dark: #003d73;
	--lions-color-accent: #ffcf01;
	/* Oxygen universal body color */
	--lions-color-text: #404040;
	--lions-color-text-muted: #606e79;
	--lions-color-surface: #ffffff;
	--lions-color-surface-muted: #f7f7f6;
	--lions-color-border: #e3e6e8;
	--lions-color-link: #00539b;
	--lions-color-link-hover: #003d73;
	--lions-color-on-brand: #ffffff;

	/*
	 * Typography (Phase G2.9 — measured from LIVE Oxygen):
	 * - Body / UI: Open Sans (self-hosted OFL; see fonts.css)
	 * - Headings: Verdana stack (Oxygen global heading family)
	 * - Decorative: Playfair Display italic (Klúbburinn motto)
	 */
	--lions-font-body: 'Open Sans', Verdana, Geneva, sans-serif;
	--lions-font-heading: Verdana, Geneva, sans-serif;
	--lions-font-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
	/* Alias kept for older rules / components that referenced --lions-font-sans. */
	--lions-font-sans: var(--lions-font-body);
	--lions-font-size-base: 1rem; /* 16px — Oxygen body */
	--lions-font-size-sm: 0.875rem;
	--lions-font-size-lg: 1.25rem;
	--lions-font-size-xl: 1.5rem;
	--lions-font-size-xxl: 2rem;
	--lions-line-height: 1.6;
	--lions-font-weight-normal: 400;
	--lions-font-weight-semibold: 600;
	--lions-font-weight-bold: 700;

	/* Spacing */
	--lions-space-1: 0.25rem;
	--lions-space-2: 0.5rem;
	--lions-space-3: 0.75rem;
	--lions-space-4: 1rem;
	--lions-space-5: 1.5rem;
	--lions-space-6: 2rem;
	--lions-space-7: 3rem;
	/* Oxygen section-inner-wrap vertical padding (Klúbburinn / Verkefnin). */
	--lions-page-section-pad-y: 75px;

	/* Layout — Oxygen .ct-section-inner-wrap / .oxy-header-container */
	--lions-container-width: 1120px;
	--lions-header-height: 72px;
	--lions-logo-size: 110px;
	/* Oxygen #image-20-8 margin-top; flex-centered in the 72px row. */
	--lions-header-logo-offset: 22px;
	/*
	 * Logo hangs below the blue bar after Oxygen-style vertical centering of
	 * the (offset + size) box inside --lions-header-height.
	 * (110 + 22 - 72) / 2 = 30px — verified against LIVE at 375/1200.
	 */
	--header-logo-overlap: calc(
		(var(--lions-logo-size) + var(--lions-header-logo-offset) - var(--lions-header-height)) / 2
	);
	--lions-radius: 4px;

	/* Breakpoints (documented; used in layout/components) */
	--lions-bp-sm: 480px;
	--lions-bp-md: 768px;
	--lions-bp-lg: 992px;
	--lions-bp-nav: 1120px;
	--lions-bp-xl: 1120px;
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--lions-font-body);
	font-size: var(--lions-font-size-base);
	line-height: var(--lions-line-height);
	font-weight: var(--lions-font-weight-normal);
	color: var(--lions-color-text);
	background-color: var(--lions-color-surface);
}

/*
 * Oxygen global heading stack. Component styles may override size;
 * family/weight stay Verdana/700 unless a role intentionally uses body/serif.
 */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--lions-font-heading);
	font-weight: var(--lions-font-weight-bold);
	line-height: 1.6;
}

h1 {
	font-size: 36px;
}

h2 {
	font-size: 30px;
}

h3 {
	font-size: 24px;
}

h4 {
	font-size: 20px;
}

h5 {
	font-size: 18px;
}

h6 {
	font-size: 16px;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--lions-color-link);
	text-decoration: none;
}

a:hover,
a:focus-visible {
	color: var(--lions-color-link-hover);
}

:focus-visible {
	outline: 2px solid var(--lions-color-accent);
	outline-offset: 2px;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: var(--lions-color-surface);
	clip: auto !important;
	clip-path: none;
	color: var(--lions-color-text);
	display: block;
	font-size: var(--lions-font-size-sm);
	font-weight: var(--lions-font-weight-semibold);
	height: auto;
	left: var(--lions-space-2);
	line-height: normal;
	padding: var(--lions-space-3) var(--lions-space-4);
	text-decoration: none;
	top: var(--lions-space-2);
	width: auto;
	z-index: 100000;
}

.skip-link:focus {
	position: absolute;
	z-index: 100001;
}
