/* Appland layout 1.7.1: sidhuvud, meny, sidfot, startsida, brödsmulor */

.al-layout { --al-bredd: 1200px; --al-hojd: 72px; }
.al-layout .wrapper { overflow: visible; }
.al-layout header.header { position: sticky; top: 0; z-index: 100; border: 0; box-shadow: none; background: transparent; }
.admin-bar.al-layout header.header { top: 32px; }
@media (max-width: 782px) { .admin-bar.al-layout header.header { top: 0; } }
.al-layout .al-ikon { display: inline-block; vertical-align: middle; flex: none; }

/* ---------- Sidhuvud ---------- */
.alh {
	background: rgba(255, 255, 255, .86);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	backdrop-filter: saturate(180%) blur(14px);
	border-bottom: 1px solid rgba(20, 23, 43, .08);
	position: relative;
}
.alh__in {
	max-width: var(--al-bredd);
	margin: 0 auto;
	padding: 0 24px;
	height: var(--al-hojd);
	display: flex;
	align-items: center;
	gap: 28px;
}
.alh__logga { display: flex; align-items: center; flex: none; }
.alh__logga img { height: 36px; width: auto; display: block; }

.alh__nav { flex: 1; min-width: 0; height: 100%; }
.alh__lista { list-style: none; margin: 0; padding: 0; display: flex; align-items: stretch; height: 100%; gap: 2px; }
.alh__punkt { position: static; display: flex; align-items: center; }
.alh__lank {
	position: relative;
	display: flex;
	align-items: center;
	height: 40px;
	padding: 0 12px;
	border-radius: 10px;
	color: var(--al-text) !important;
	font-weight: 620;
	font-size: .95rem;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background .15s, color .15s;
}
.alh__punkt:hover .alh__lank,
.alh__punkt:focus-within .alh__lank { background: #f1f2f9; color: var(--al-black) !important; }
.alh__punkt.is-aktiv .alh__lank { color: var(--avd) !important; }
.alh__punkt.is-aktiv .alh__lank::after {
	content: ""; position: absolute; left: 12px; right: 12px; bottom: -16px; height: 3px; border-radius: 3px 3px 0 0; background: var(--avd);
}
.alh__oppna { display: none; }

/* Panel (megameny) */
.alh__panel {
	position: absolute;
	left: 0; right: 0; top: 100%;
	background: #fff;
	border-bottom: 1px solid var(--al-linje);
	box-shadow: 0 24px 48px -12px rgba(20, 23, 43, .18);
	opacity: 0; visibility: hidden; transform: translateY(-6px);
	transition: opacity .18s, transform .18s, visibility 0s .18s;
	pointer-events: none;
}
.alh__panel::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
@media (min-width: 1081px) {
	.alh__punkt:hover .alh__panel,
	.alh__punkt:focus-within .alh__panel,
	.alh__punkt.is-oppen .alh__panel {
		opacity: 1; visibility: visible; transform: none; pointer-events: auto;
		transition: opacity .18s .06s, transform .18s .06s, visibility 0s;
	}
}
.alh__panel-in {
	max-width: var(--al-bredd);
	margin: 0 auto;
	padding: 28px 24px 32px;
	display: grid;
	grid-template-columns: 300px 1fr;
	gap: 40px;
}
.alh__panel-intro { border-right: 1px solid var(--al-linje); padding-right: 32px; }
.alh__panel-ikon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; border-radius: 14px;
	color: var(--avd);
	background: color-mix(in srgb, var(--avd) 12%, #fff);
	margin-bottom: 12px;
}
.alh__panel-rubrik { font-size: 1.15rem; font-weight: 800; color: var(--al-black); margin: 0 0 6px; letter-spacing: -.01em; }
.alh__panel-text { color: var(--al-gra); font-size: .93rem; line-height: 1.55; margin: 0 0 14px; }
.alh__panel-alla { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: .93rem; color: var(--avd) !important; text-decoration: none !important; }
.alh__panel-alla:hover { gap: 10px; }
.alh__panel-lankar {
	list-style: none; margin: 0; padding: 0;
	columns: 3 200px; column-gap: 24px;
}
.alh__panel-lankar li { break-inside: avoid; margin: 0; }
.alh__panel-lankar a {
	display: block; padding: 7px 10px; border-radius: 8px;
	color: var(--al-text) !important; text-decoration: none !important; font-size: .94rem; line-height: 1.35;
}
.alh__panel-lankar a:hover { background: color-mix(in srgb, var(--avd) 8%, #fff); color: var(--avd) !important; }

/* Knappar till höger */
.alh__verktyg { display: flex; align-items: center; gap: 6px; flex: none; margin-left: auto; }
.alh__knapp {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	height: 42px; min-width: 42px; padding: 0 10px;
	border: 1px solid var(--al-linje) !important;
	border-radius: 12px !important;
	background: #fff !important;
	color: var(--al-black) !important;
	font: inherit; font-weight: 650; font-size: .92rem;
	cursor: pointer; box-shadow: none !important;
	transition: border-color .15s, background .15s;
}
.alh__knapp:hover { border-color: #c9cde0 !important; background: #f7f8fc !important; }
.alh__menyknapp { display: none; }
.alh__stangikon { display: none; }

/* Sökfält som fälls ut */
.alh__sok { border-top: 1px solid var(--al-linje); background: #fff; }
.alh__sokform {
	max-width: 760px; margin: 0 auto; padding: 16px 24px;
	display: flex; align-items: center; gap: 10px; color: var(--al-gra);
}
.alh__sokform input[type="search"] {
	flex: 1; min-width: 0; height: 48px; border: 0 !important; box-shadow: none !important;
	font-size: 1.05rem; background: transparent; padding: 0 4px; outline: 0;
}
.alh__sokform .al-knapp { min-height: 44px; }

/* Mobil och surfplatta */
@media (max-width: 1080px) {
	.al-layout { --al-hojd: 64px; }
	.alh__in { padding: 0 16px; gap: 12px; }
	.alh__logga img { height: 32px; }
	.alh__menyknapp { display: inline-flex; }
	.alh__nav {
		position: fixed; left: 0; right: 0; bottom: 0;
		top: calc(var(--al-hojd) + var(--wp-admin--admin-bar--height, 0px));
		height: auto;
		background: #fff;
		overflow-y: auto; -webkit-overflow-scrolling: touch;
		padding: 8px 16px 40px;
		transform: translateX(100%);
		visibility: hidden;
		transition: transform .25s ease, visibility 0s .25s;
		border-top: 1px solid var(--al-linje);
	}
	.alh.is-menyoppen .alh__nav { transform: none; visibility: visible; transition: transform .25s ease; }
	.alh.is-menyoppen .alh__menyikon { display: none; }
	.alh.is-menyoppen .alh__stangikon { display: inline-flex; }
	.alh__lista { display: block; height: auto; }
	.alh__punkt { display: grid; grid-template-columns: 1fr 52px; align-items: center; border-bottom: 1px solid var(--al-linje); }
	.alh__lank { height: 56px; padding: 0 4px; font-size: 1.05rem; background: none !important; }
	.alh__punkt.is-aktiv .alh__lank::after { display: none; }
	.alh__lank::before {
		content: ""; width: 10px; height: 10px; border-radius: 3px; background: var(--avd); margin-right: 12px; flex: none;
	}
	.alh__oppna {
		display: inline-flex; align-items: center; justify-content: center;
		width: 44px; height: 44px; justify-self: end;
		border: 0 !important; background: #f3f4f9 !important; color: var(--al-black) !important;
		border-radius: 12px !important; cursor: pointer; padding: 0; box-shadow: none !important;
	}
	.alh__oppna .al-ikon { transition: transform .2s; }
	.alh__oppna[aria-expanded="true"] .al-ikon { transform: rotate(180deg); }
	.alh__panel {
		grid-column: 1 / -1;
		position: static; opacity: 1; visibility: visible; transform: none; pointer-events: auto;
		box-shadow: none; border: 0; display: none; transition: none;
	}
	.alh__punkt.is-oppen .alh__panel { display: block; }
	.alh__panel::before { display: none; }
	.alh__panel-in { display: block; padding: 0 0 16px; }
	.alh__panel-intro { border: 0; padding: 0 0 8px; }
	.alh__panel-ikon, .alh__panel-rubrik { display: none; }
	.alh__panel-text { font-size: .9rem; margin-bottom: 8px; }
	.alh__panel-lankar { columns: 1; margin-top: 4px; }
	.alh__panel-lankar a { padding: 10px 8px; font-size: 1rem; }
	body.al-meny-las { overflow: hidden; }
}
@media (max-width: 420px) { .alh__menytext { display: none; } }

/* ---------- Brödsmulor ---------- */
.al-smulor { margin: 0 0 14px; font-size: .88rem; }
.al-smulor ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 0; color: var(--al-gra); }
.al-smulor li { display: inline-flex; align-items: center; }
.al-smulor li + li::before { content: "/"; margin: 0 10px; color: #b5b9cc; }
.al-smulor a { color: var(--al-gra) !important; text-decoration: none !important; }
.al-smulor a:hover { color: var(--al-bla) !important; }
.al-smulor [aria-current] { color: var(--al-black); font-weight: 600; }
.al-layout .single-page-container { padding-top: 32px; }

/* ---------- Guider i avdelningen (navsidor) ---------- */
.al-avdguider {
	margin: 48px 0 16px; padding: 28px; border-radius: 22px;
	background: color-mix(in srgb, var(--avd) 6%, #fff);
	border: 1px solid color-mix(in srgb, var(--avd) 18%, #fff);
}
.al-avdguider__rubrik { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-weight: 800; font-size: 1.2rem; color: var(--al-black); margin: 0 0 18px; }
.al-avdguider__rubrik .al-ikon { color: var(--avd); }
.al-avdguider__rubrik span { font-weight: 600; color: var(--al-gra); font-size: .95rem; }
.al-avdguider__lista { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; }
.al-avdguider__lista li { margin: 0 !important; }
.al-avdguider__lista li::marker { content: none; }
.al-avdguider__lista a {
	display: block; height: 100%; box-sizing: border-box; padding: 14px 16px; border-radius: 14px; background: #fff;
	border: 1px solid var(--al-linje); text-decoration: none !important; transition: border-color .15s, transform .15s, box-shadow .15s;
}
.al-avdguider__lista a:hover { border-color: var(--avd); transform: translateY(-2px); box-shadow: 0 10px 24px -14px rgba(20, 23, 43, .35); }
.al-avdguider__lista strong { display: block; color: var(--al-black); font-size: .98rem; line-height: 1.35; }
.al-avdguider__lista span { display: block; color: var(--al-gra); font-size: .86rem; line-height: 1.45; margin-top: 3px; }

/* ---------- Sidfot ---------- */
.alf { background: #0f1124; color: #aeb2cc; margin-top: 72px; font-size: .95rem; }
.al-start .alf { margin-top: 0; }
.alf a { color: #e4e6f5 !important; text-decoration: none !important; }
.alf a:hover { color: #fff !important; text-decoration: underline !important; }
.alf__in {
	max-width: var(--al-bredd); margin: 0 auto; padding: 64px 24px 48px;
	display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 40px;
}
.alf__logga { display: inline-flex; align-items: center; gap: 10px; color: #fff !important; font-weight: 800; font-size: 1.5rem; letter-spacing: -.03em; margin-bottom: 14px; }
.alf__logga:hover { text-decoration: none !important; }
.alf__logga img { width: 40px; height: 40px; border-radius: 10px; }
.alf__om p { line-height: 1.65; margin: 0 0 16px; max-width: 36ch; }
.alf__om-lank { display: flex; align-items: center; gap: 6px; font-weight: 650; margin-bottom: 8px; }
.alf__rubrik { color: #fff; font-weight: 750; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; margin: 6px 0 16px; }
.alf ul { list-style: none; margin: 0; padding: 0; }
.alf__kol li { margin: 0 0 10px; line-height: 1.4; }
.alf__botten { border-top: 1px solid rgba(255, 255, 255, .08); }
.alf__botten-in {
	max-width: var(--al-bredd); margin: 0 auto; padding: 20px 24px;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; font-size: .86rem;
}
.alf__botten p { margin: 0; }
.alf__botten ul { display: flex; gap: 20px; }
@media (max-width: 960px) { .alf__in { grid-template-columns: 1fr 1fr; } .alf__om { grid-column: 1 / -1; } }
@media (max-width: 560px) { .alf__in { grid-template-columns: 1fr; padding-top: 48px; gap: 28px; } }

/* ---------- Startsida ---------- */
.al-start .neve-main { background: #fff; }
.al-hem h2 { margin-top: 0; }
.al-hjalte {
	position: relative; overflow: hidden;
	background:
		radial-gradient(900px 500px at 85% 10%, rgba(124, 58, 237, .16), transparent 60%),
		radial-gradient(700px 500px at 10% 100%, rgba(15, 159, 117, .12), transparent 60%),
		linear-gradient(180deg, #f6f7ff 0%, #ffffff 100%);
	border-bottom: 1px solid var(--al-linje);
}
.al-hjalte::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background-image: linear-gradient(rgba(67, 56, 202, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(67, 56, 202, .06) 1px, transparent 1px);
	background-size: 44px 44px;
	-webkit-mask-image: radial-gradient(ellipse at 60% 40%, #000 20%, transparent 70%);
	mask-image: radial-gradient(ellipse at 60% 40%, #000 20%, transparent 70%);
}
.al-hjalte__in {
	position: relative; max-width: var(--al-bredd); margin: 0 auto; padding: 72px 24px 80px;
	display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 48px; align-items: center;
}
.al-hjalte__etikett {
	display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 6px 14px 6px 10px;
	background: #fff; border: 1px solid var(--al-linje); border-radius: 999px;
	font-size: .85rem; font-weight: 650; color: var(--al-text); box-shadow: 0 2px 8px rgba(20, 23, 43, .05);
}
.al-hjalte__etikett span { width: 8px; height: 8px; border-radius: 50%; background: var(--al-mint); box-shadow: 0 0 0 4px rgba(15, 159, 117, .18); }
.al-layout .al-hjalte__rubrik {
	font-size: clamp(2.2rem, 1.4rem + 3.2vw, 3.6rem); line-height: 1.06; letter-spacing: -.035em; margin: 0 0 20px; font-weight: 820;
}
.al-hjalte__rubrik em {
	font-style: normal; display: block;
	background: linear-gradient(90deg, #4338ca, #7c3aed 55%, #db2777);
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
.al-hjalte__ingress { font-size: 1.15rem; line-height: 1.6; color: var(--al-gra); margin: 0 0 28px; max-width: 54ch; }
.al-hjalte__sok {
	display: flex; align-items: center; gap: 8px; max-width: 560px;
	background: #fff; border: 1px solid #d9dcea; border-radius: 18px; padding: 8px 8px 8px 18px; color: var(--al-gra);
	box-shadow: 0 1px 2px rgba(20, 23, 43, .04), 0 18px 40px -18px rgba(67, 56, 202, .35);
	transition: border-color .15s, box-shadow .15s;
}
.al-hjalte__sok:focus-within { border-color: var(--al-bla); box-shadow: 0 0 0 4px rgba(67, 56, 202, .12), 0 18px 40px -18px rgba(67, 56, 202, .35); }
.al-hjalte__sok input[type="search"] {
	flex: 1; min-width: 0; height: 48px; border: 0 !important; background: transparent; box-shadow: none !important; font-size: 1.05rem; padding: 0 4px; outline: 0;
}
.al-hjalte__sok button {
	height: 48px; padding: 0 24px !important; border: 0 !important; border-radius: 12px !important;
	background: var(--al-bla) !important; color: #fff !important; font: inherit; font-weight: 700; cursor: pointer;
}
.al-hjalte__sok button:hover { background: var(--al-bla-mork) !important; }
.al-hjalte__genvagar { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; max-width: 600px; }
.al-hjalte__genvagar a {
	display: inline-block; padding: 7px 14px; border-radius: 999px; background: rgba(255, 255, 255, .8); border: 1px solid var(--al-linje);
	color: var(--al-text) !important; text-decoration: none !important; font-size: .88rem; font-weight: 600; transition: all .15s;
}
.al-hjalte__genvagar a:hover { border-color: var(--al-bla); color: var(--al-bla) !important; background: #fff; }

/* Telefonillustration */
.al-hjalte__bild { position: relative; display: flex; justify-content: center; }
.al-telefon {
	width: 290px; aspect-ratio: 9 / 18.5; border-radius: 46px; padding: 12px;
	background: linear-gradient(145deg, #23264a, #0f1124);
	box-shadow: 0 50px 80px -30px rgba(20, 23, 43, .55), inset 0 0 0 2px rgba(255, 255, 255, .08);
	transform: rotate(-3deg);
}
.al-telefon__skarm {
	height: 100%; border-radius: 36px; overflow: hidden; position: relative; padding: 18px 18px 0;
	background: linear-gradient(170deg, #eef0ff 0%, #f8f5ff 50%, #e9f8f2 100%);
	display: flex; flex-direction: column;
}
.al-telefon__status { display: flex; justify-content: space-between; align-items: center; font-size: .75rem; font-weight: 700; color: var(--al-black); padding: 0 6px 16px; }
.al-telefon__status i { width: 70px; height: 20px; border-radius: 12px; background: #0f1124; margin: -4px auto 0; position: absolute; left: 50%; transform: translateX(-50%); }
.al-telefon__rutnat { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px 10px; }
.al-telefon__app { display: flex; flex-direction: column; align-items: center; gap: 6px; color: #fff; }
.al-telefon__app .al-ikon {
	width: 56px; height: 56px; padding: 15px; box-sizing: border-box; border-radius: 16px;
	background: linear-gradient(145deg, color-mix(in srgb, var(--avd) 80%, #fff), var(--avd));
	box-shadow: 0 8px 16px -8px var(--avd);
}
.al-telefon__app small { color: var(--al-text); font-size: .66rem; font-weight: 650; }
.al-telefon__kort {
	margin: auto -2px 18px; background: #fff; border-radius: 20px; padding: 14px 16px; box-shadow: 0 10px 24px -12px rgba(20, 23, 43, .25);
	display: flex; flex-direction: column; gap: 3px; font-size: .78rem; color: var(--al-gra);
}
.al-telefon__kort b { color: var(--al-black); font-size: .9rem; }
.al-telefon__kort i { display: block; height: 6px; border-radius: 6px; background: #e6e8f3; margin-top: 8px; overflow: hidden; }
.al-telefon__kort em { display: block; width: 50%; height: 100%; background: linear-gradient(90deg, #0f766e, #0f9f75); border-radius: 6px; }
.al-flyt {
	position: absolute; display: inline-flex; align-items: center; gap: 8px;
	background: #fff; border-radius: 14px; padding: 10px 14px; font-size: .85rem; font-weight: 700; color: var(--al-black);
	box-shadow: 0 18px 36px -16px rgba(20, 23, 43, .35); border: 1px solid var(--al-linje);
	animation: al-flyt 6s ease-in-out infinite;
}
.al-flyt--1 { top: 18%; left: -2%; color: #7c3aed; }
.al-flyt--1 { color: var(--al-black); }
.al-flyt--1 .al-ikon { color: #7c3aed; }
.al-flyt--2 { bottom: 16%; right: -4%; animation-delay: -3s; }
.al-flyt--2 b { background: #4338ca; color: #fff; border-radius: 6px; padding: 2px 6px; font-size: .75rem; letter-spacing: .08em; }
@keyframes al-flyt { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

/* Siffror */
.al-siffror { border-bottom: 1px solid var(--al-linje); background: #fff; }
.al-siffror__in { max-width: var(--al-bredd); margin: 0 auto; padding: 22px 24px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.al-siffror__in div { display: flex; align-items: baseline; gap: 10px; justify-content: center; }
.al-siffror b { font-size: 1.6rem; font-weight: 820; color: var(--al-black); letter-spacing: -.02em; }
.al-siffror span { color: var(--al-gra); font-size: .92rem; }

/* Sektioner */
.al-sektion { padding: 80px 0; background: #fff; }
.al-sektion--ljus { background: var(--al-bakgrund); border-top: 1px solid var(--al-linje); border-bottom: 1px solid var(--al-linje); }
.al-sektion__in { max-width: var(--al-bredd); margin: 0 auto; padding: 0 24px; }
.al-sektion__topp { max-width: 640px; margin: 0 0 36px; }
.al-sektion__over { margin: 0 0 8px; color: var(--al-bla); font-weight: 750; font-size: .82rem; text-transform: uppercase; letter-spacing: .1em; }
.al-layout .al-sektion__topp h2 { font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.4rem); letter-spacing: -.03em; margin: 0 0 10px; }
.al-sektion__topp p:last-child { color: var(--al-gra); margin: 0; font-size: 1.05rem; }

/* Verktyg */
.al-verktyg { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.al-verktyg__kort {
	position: relative; display: flex; flex-direction: column; gap: 8px; padding: 22px; border-radius: 20px;
	background: #fff; border: 1px solid var(--al-linje); text-decoration: none !important; color: var(--al-text) !important;
	transition: transform .18s, box-shadow .18s, border-color .18s; overflow: hidden;
}
.al-verktyg__kort::after {
	content: ""; position: absolute; inset: auto -40px -60px auto; width: 140px; height: 140px; border-radius: 50%;
	background: color-mix(in srgb, var(--avd) 10%, transparent); transition: transform .3s;
}
.al-verktyg__kort:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--avd) 40%, #fff); box-shadow: 0 24px 40px -24px color-mix(in srgb, var(--avd) 60%, transparent); }
.al-verktyg__kort:hover::after { transform: scale(1.3); }
.al-verktyg__ikon { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 14px; color: #fff; background: var(--avd); margin-bottom: 6px; }
.al-verktyg__kort strong { color: var(--al-black); font-size: 1.08rem; line-height: 1.3; }
.al-verktyg__text { color: var(--al-gra); font-size: .92rem; line-height: 1.5; flex: 1; }
.al-verktyg__ga { display: inline-flex; align-items: center; gap: 6px; color: var(--avd); font-weight: 700; font-size: .9rem; margin-top: 6px; position: relative; z-index: 1; }

/* Avdelningar */
.al-avd { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.al-avd__kort {
	display: flex; flex-direction: column; background: #fff; border: 1px solid var(--al-linje); border-radius: 22px; padding: 26px;
	border-top: 4px solid var(--avd); transition: box-shadow .18s, transform .18s;
}
.al-avd__kort:hover { box-shadow: 0 24px 44px -26px rgba(20, 23, 43, .35); transform: translateY(-2px); }
.al-avd__topp { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.al-avd__ikon { display: inline-flex; width: 50px; height: 50px; align-items: center; justify-content: center; border-radius: 15px; color: var(--avd); background: color-mix(in srgb, var(--avd) 11%, #fff); }
.al-avd__antal { font-size: .8rem; font-weight: 700; color: var(--al-gra); background: var(--al-bakgrund); border-radius: 999px; padding: 4px 10px; }
.al-layout .al-avd__kort h3 { font-size: 1.2rem; margin: 0 0 8px; letter-spacing: -.015em; }
.al-avd__kort h3 a { color: var(--al-black) !important; text-decoration: none !important; }
.al-avd__kort h3 a:hover { color: var(--avd) !important; }
.al-avd__kort > p { color: var(--al-gra); font-size: .93rem; line-height: 1.55; margin: 0 0 14px; }
.al-avd__kort ul { list-style: none; margin: 0 0 18px; padding: 0; flex: 1; }
.al-avd__kort li { border-top: 1px solid #eef0f6; }
.al-avd__kort li a { display: flex; justify-content: space-between; padding: 9px 0; color: var(--al-text) !important; text-decoration: none !important; font-size: .94rem; font-weight: 550; }
.al-avd__kort li a::after { content: "\203A"; color: #b5b9cc; font-size: 1.2rem; line-height: 1; transition: transform .15s, color .15s; }
.al-avd__kort li a:hover { color: var(--avd) !important; }
.al-avd__kort li a:hover::after { color: var(--avd); transform: translateX(3px); }
.al-avd__alla { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: .92rem; color: var(--avd) !important; text-decoration: none !important; }
.al-avd__alla:hover { gap: 10px; }

/* Nytt */
.al-nytt { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.al-nytt__kort {
	display: flex; flex-direction: column; gap: 10px; padding: 24px; border-radius: 20px; background: #fff; border: 1px solid var(--al-linje);
	text-decoration: none !important; color: var(--al-text) !important; transition: border-color .18s, box-shadow .18s;
}
.al-nytt__kort:hover { border-color: color-mix(in srgb, var(--avd) 45%, #fff); box-shadow: 0 20px 40px -26px rgba(20, 23, 43, .4); }
.al-nytt__avd { display: inline-flex; align-self: flex-start; align-items: center; gap: 6px; font-size: .78rem; font-weight: 750; color: var(--avd); background: color-mix(in srgb, var(--avd) 9%, #fff); border-radius: 999px; padding: 4px 10px 4px 8px; }
.al-nytt__kort strong { color: var(--al-black); font-size: 1.08rem; line-height: 1.35; }
.al-nytt__kort:hover strong { color: var(--avd); }
.al-nytt__text { color: var(--al-gra); font-size: .92rem; line-height: 1.55; flex: 1; }
.al-nytt__kort time { font-size: .82rem; color: #8a8fa8; }

/* Redaktionell text längst ned */
.al-hemtext .nv-content-wrap { max-width: 760px; }
.al-hemtext .nv-content-wrap > h2:first-child { margin-top: 0; }

@media (max-width: 1080px) {
	.al-verktyg { grid-template-columns: repeat(2, 1fr); }
	.al-avd, .al-nytt { grid-template-columns: repeat(2, 1fr); }
	.al-hjalte__in { grid-template-columns: 1fr; padding: 48px 20px 56px; }
	.al-hjalte__bild { display: none; }
	.al-siffror__in { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.al-sektion { padding: 56px 0; }
	.al-sektion__in { padding: 0 16px; }
	.al-verktyg, .al-avd, .al-nytt { grid-template-columns: 1fr; }
	.al-verktyg__kort { padding: 18px; }
	.al-siffror__in { padding: 18px 16px; }
	.al-siffror__in div { flex-direction: column; align-items: center; gap: 0; text-align: center; }
	.al-hjalte__sok { padding-left: 14px; }
	.al-hjalte__sok button { padding: 0 16px !important; }
	.al-hjalte__ingress { font-size: 1.05rem; }
}
@media (prefers-reduced-motion: reduce) { .al-flyt { animation: none; } }

/* ---------- Kontaktformulär (Contact Form 7) ---------- */
.al-kform {
	background: #fff; border: 1px solid var(--al-linje); border-radius: 22px; padding: 28px;
	box-shadow: 0 1px 2px rgba(20, 23, 43, .04), 0 18px 40px -28px rgba(20, 23, 43, .35); margin: 8px 0 32px;
}
.al-kform p { margin: 0 0 18px; }
.al-kform__rad { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.al-kform label { display: block; font-weight: 650; font-size: .93rem; color: var(--al-black); }
.al-kform br { display: none; }
.al-kform .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.al-kform input[type="text"], .al-kform input[type="email"], .al-kform input[type="url"], .al-kform select, .al-kform textarea {
	width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 14px; font: inherit; font-size: 1rem; font-weight: 400;
	color: var(--al-text); background: #fafbfe; border: 1px solid #d9dcea; border-radius: 12px; transition: border-color .15s, box-shadow .15s, background .15s;
}
.al-kform textarea { min-height: 160px; resize: vertical; line-height: 1.55; }
.al-kform input:focus, .al-kform select:focus, .al-kform textarea:focus { outline: 0; background: #fff; border-color: var(--al-bla); box-shadow: 0 0 0 4px rgba(67, 56, 202, .12); }
.al-kform .wpcf7-quiz-label { display: block; font-weight: 400; color: var(--al-gra); font-size: .9rem; margin: 6px 0 2px; }
.al-kform .wpcf7-quiz { max-width: 160px; }
.al-kform__info { font-size: .88rem; color: var(--al-gra); }
.al-kform input[type="submit"] {
	min-height: 50px; padding: 0 28px; border: 0; border-radius: 14px; background: var(--al-bla); color: #fff; font: inherit; font-weight: 700; cursor: pointer;
	transition: background .15s, transform .15s;
}
.al-kform input[type="submit"]:hover { background: var(--al-bla-mork); transform: translateY(-1px); }
.al-kform .wpcf7-spinner { vertical-align: middle; }
.al-kform .wpcf7-not-valid { border-color: var(--al-rod) !important; background: var(--al-rod-ljus) !important; }
.al-kform .wpcf7-not-valid-tip { color: var(--al-rod); font-size: .85rem; font-weight: 600; margin-top: 6px; }
.wpcf7 form .wpcf7-response-output { margin: 0 0 24px; padding: 14px 18px; border-radius: 14px; border-width: 1px; font-size: .95rem; }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--al-mint); background: var(--al-mint-ljus); color: #0b5f47; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output { border-color: var(--al-gul); background: var(--al-gul-ljus); color: #6b4a00; }
@media (max-width: 640px) { .al-kform { padding: 20px 16px; } .al-kform__rad { grid-template-columns: 1fr; } }
