/* Minimal reset + utilities. Inga estetiska tillägg — värden hör hemma i block-CSS enligt Figma. */

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

body,
h1, h2, h3, h4, h5, h6,
p, ul, ol, figure, blockquote {
	margin: 0;
}

ul[class],
ol[class] {
	padding: 0;
	list-style: none;
}

body {
	font-family: var(--font-family-body);
}

img,
svg {
	display: block;
	max-width: 100%;
}

img {
	height: auto;
}

a {
	color: inherit;
}

/* Container */
.l-container {
	width: 100%;
	max-width: calc(var(--container-max-width) + 2 * var(--container-padding-x));
	margin-inline: auto;
	padding-inline: var(--container-padding-x);
}

/* Ikon-wrapper (mj_icon) */
.c-icon {
	display: inline-flex;
	flex-shrink: 0;
}

.c-icon svg {
	width: 100%;
	height: 100%;
}

/* Heading highlight: **text** → Brand/800 */
.u-highlight {
	color: var(--color-brand-800);
}

/*
 * Heading-klonens "Stil" (mj_heading). Dubblerad klass → specificitet 0,2,0 så att vald stil
 * vinner över blockets egen rubrikstorlek (även i blockens media queries).
 */
.u-heading.u-heading {
	font-family: var(--font-family-heading);
	font-weight: 400;
	line-height: var(--line-height-heading);
}

.u-heading--h1.u-heading--h1 { font-size: var(--font-size-h1); line-height: var(--line-height-h1); }
.u-heading--h2.u-heading--h2 { font-size: var(--font-size-h2); line-height: var(--line-height-h2); }
.u-heading--h3.u-heading--h3 { font-size: var(--font-size-h3); }
.u-heading--h4.u-heading--h4 { font-size: var(--font-size-h4); }
.u-heading--h5.u-heading--h5 { font-size: var(--font-size-h5); }
.u-heading--h6.u-heading--h6 { font-size: var(--font-size-h6); }

/* Padding-klonen */
.u-pt-none { padding-top: var(--space-section-none); }
.u-pt-small { padding-top: var(--space-section-small); }
.u-pt-medium { padding-top: var(--space-section-medium); }
.u-pt-medium-large { padding-top: var(--space-section-medium-large); }
.u-pt-large { padding-top: var(--space-section-large); }
.u-pb-none { padding-bottom: var(--space-section-none); }
.u-pb-small { padding-bottom: var(--space-section-small); }
.u-pb-medium { padding-bottom: var(--space-section-medium); }
.u-pb-medium-large { padding-bottom: var(--space-section-medium-large); }
.u-pb-large { padding-bottom: var(--space-section-large); }

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}
