/*
 * lagar.se Register: bas, sidhuvud, sidfot och GeneratePress-överstyrningar.
 * Allt är scopat till body.lagar-register, så GP:s inline-CSS från
 * Customizern vinner aldrig över profilen.
 */

/* ---------- Bas ---------- */
body.lagar-register {
	background: var(--paper);
	color: var(--ink);
	font-family: var(--font-sans);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body.lagar-register :focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
body.lagar-register a { color: var(--ink); text-decoration-color: var(--line-strong); text-underline-offset: 3px; }
body.lagar-register a:hover { color: var(--live); text-decoration-color: currentColor; }
body.lagar-register h1,
body.lagar-register h2,
body.lagar-register h3,
body.lagar-register h4 {
	font-family: var(--font-sans);
	color: var(--ink);
	font-weight: 500;
	text-wrap: balance;
}
body.lagar-register h1 { font-size: clamp(30px, 4.2vw, 40px); line-height: 1.1; letter-spacing: -0.02em; }
body.lagar-register h2 { font-size: 22px; line-height: 1.27; letter-spacing: -0.01em; }
body.lagar-register h3 { font-size: 17px; line-height: 1.35; }
body.lagar-register code,
body.lagar-register kbd { font-family: var(--font-mono); }
body.lagar-register ::selection { background: var(--live-soft); color: var(--ink); }

/* GeneratePress-behållare: en yta, inga lådor. */
body.lagar-register,
body.lagar-register .site,
body.lagar-register .site-content,
body.lagar-register .inside-article,
body.lagar-register .separate-containers .inside-article,
body.lagar-register .separate-containers .comments-area,
body.lagar-register .separate-containers .page-header,
body.lagar-register .separate-containers .paging-navigation,
body.lagar-register .one-container .site-content,
body.lagar-register .widget-area .widget,
body.lagar-register .sidebar .widget {
	background: var(--paper);
	color: var(--ink);
}
body.lagar-register .grid-container { max-width: var(--content-max); }
body.lagar-register .separate-containers .site-main { margin: var(--space-8) 0; }
body.lagar-register .separate-containers .inside-article { padding: 0; }
body.lagar-register .entry-content,
body.lagar-register .entry-summary { color: var(--ink-1); }
body.lagar-register .entry-content > p,
body.lagar-register .entry-content > ul,
body.lagar-register .entry-content > ol { max-width: 70ch; }
body.lagar-register .entry-meta,
body.lagar-register .entry-meta a,
body.lagar-register .lagar-byline { font-family: var(--font-mono); font-size: 12.5px; color: var(--ink-2); }
body.lagar-register .entry-content table { border-collapse: collapse; font-size: 14.5px; }
body.lagar-register .entry-content th,
body.lagar-register .entry-content td { border: 0; border-bottom: 1px solid var(--line); padding: 10px 12px 10px 0; text-align: left; background: transparent; color: var(--ink-1); }
body.lagar-register .entry-content th { font-family: var(--font-mono); font-size: 11.5px; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); border-bottom-color: var(--ink); }
body.lagar-register .wp-block-button__link,
body.lagar-register button:not(.menu-toggle):not(.cky-btn),
body.lagar-register input[type="submit"] {
	background: var(--ink);
	color: var(--on-ink);
	border: 0;
	border-radius: var(--radius-sm);
	font-family: var(--font-sans);
	font-weight: 500;
}
body.lagar-register input[type="text"],
body.lagar-register input[type="search"],
body.lagar-register input[type="email"],
body.lagar-register textarea,
body.lagar-register select {
	background: var(--paper);
	color: var(--ink);
	border: 1px solid var(--line-strong);
	border-radius: var(--radius-sm);
}

/* ---------- Sidhuvud ---------- */
.lr-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--paper);
	border-bottom: 1px solid var(--line);
}
.admin-bar .lr-header { top: 32px; }
.lr-header-inner {
	max-width: var(--content-max);
	margin: 0 auto;
	padding: var(--space-3) var(--space-6);
	display: flex;
	align-items: center;
	gap: var(--space-8);
}
.lr-brand {
	display: inline-flex;
	align-items: center;
	gap: var(--space-3);
	font-family: var(--font-sans);
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.22em;
	color: var(--ink) !important;
	text-decoration: none !important;
	white-space: nowrap;
}
.lr-mark {
	width: 26px;
	height: 26px;
	border: 1.5px solid currentColor;
	border-radius: var(--radius-sm);
	display: grid;
	place-items: center;
	font-family: var(--font-serif);
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0;
}
.lr-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: var(--space-6); }
.lr-nav a {
	font-size: 14px;
	color: var(--ink-1) !important;
	text-decoration: none !important;
	padding-block: 6px;
	display: inline-block;
}
.lr-nav a:hover { color: var(--ink) !important; }
.lr-nav a[aria-current="page"] { color: var(--ink) !important; box-shadow: inset 0 -2px 0 var(--live); }
.lr-search {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: var(--space-2);
	border: 1px solid var(--line-strong);
	border-radius: var(--radius-sm);
	padding: 0 var(--space-2) 0 var(--space-3);
	width: 280px;
	max-width: 100%;
	background: var(--paper);
}
.lr-search:focus-within { border-color: var(--ink); }
.lr-search input[type="search"] {
	flex: 1;
	min-width: 0;
	border: 0 !important;
	background: transparent !important;
	padding: 8px 0 !important;
	font-family: var(--font-sans);
	font-size: 14px;
	color: var(--ink);
	outline: none;
}
.lr-search input::placeholder { color: var(--ink-2); opacity: 1; }
.lr-search kbd {
	font-family: var(--font-mono);
	font-size: 11px;
	color: var(--ink-1);
	border: 1px solid var(--line-strong);
	border-radius: var(--radius-sm);
	padding: 1px 6px;
	white-space: nowrap;
}
.lr-menu-toggle { display: none; }

@media (max-width: 900px) {
	.lr-header-inner { flex-wrap: wrap; gap: var(--space-3); padding: var(--space-3) var(--space-4); }
	.lr-menu-toggle {
		display: inline-flex;
		margin-left: auto;
		font-family: var(--font-mono) !important;
		font-size: 12px !important;
		background: transparent !important;
		color: var(--ink) !important;
		border: 1px solid var(--line-strong) !important;
		border-radius: var(--radius-sm) !important;
		padding: 6px 10px !important;
		cursor: pointer;
	}
	.lr-nav { order: 3; width: 100%; display: none; }
	.lr-header.is-open .lr-nav { display: block; }
	.lr-nav ul { flex-direction: column; gap: 0; border-top: 1px solid var(--line); }
	.lr-nav li { border-bottom: 1px solid var(--line); }
	.lr-nav a { display: block; padding: 12px 0; }
	.lr-nav a[aria-current="page"] { box-shadow: inset 2px 0 0 var(--live); padding-left: var(--space-3); }
	.lr-search { order: 2; width: 100%; margin-left: 0; }
	.lr-search kbd { display: none; }
}

/* ---------- Sidfot ---------- */
.lr-footer {
	margin-top: var(--space-12);
	background: var(--surface);
	border-top: 1px solid var(--line);
	color: var(--ink-1);
	font-size: 14px;
}
.lr-footer-inner {
	max-width: var(--content-max);
	margin: 0 auto;
	padding: var(--space-12) var(--space-6) var(--space-8);
	display: grid;
	grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr));
	gap: var(--space-8);
}
.lr-footer h2 {
	font-family: var(--font-mono) !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink-2) !important;
	margin: 0 0 var(--space-3);
}
.lr-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.lr-footer a { color: var(--ink-1) !important; text-decoration: none !important; }
.lr-footer a:hover { color: var(--ink) !important; text-decoration: underline !important; }
.lr-footer .lr-brand { margin-bottom: var(--space-4); }
.lr-footer-about { display: grid; gap: var(--space-3); align-content: start; max-width: 40ch; }
.lr-footer-about p { margin: 0; color: var(--ink-2); font-size: 13.5px; }
.lr-footer-bottom {
	max-width: var(--content-max);
	margin: 0 auto;
	padding: var(--space-4) var(--space-6) var(--space-6);
	border-top: 1px solid var(--line);
	display: flex;
	justify-content: space-between;
	gap: var(--space-4);
	flex-wrap: wrap;
	font-family: var(--font-mono);
	font-size: 11.5px;
	color: var(--ink-2);
}
@media (max-width: 900px) {
	.lr-footer-inner { grid-template-columns: 1fr 1fr; padding: var(--space-8) var(--space-4) var(--space-6); }
	.lr-footer-about { grid-column: 1 / -1; }
	.lr-footer-bottom { padding-inline: var(--space-4); }
}

/* ---------- Lagtext: den enda serifen ---------- */
body.lagar-register .lagar-lag,
body.lagar-register .lagar-kapitel,
body.lagar-register .lagar-index,
body.lagar-register .lagar-nya { color: var(--ink); line-height: 1.6; max-width: 860px; }
body.lagar-register .lagar-paragraf-text,
body.lagar-register .lagar-paragraf p,
body.lagar-register .lagar-paragraf-list li,
body.lagar-register .lagar-fulltext {
	font-family: var(--font-serif);
	font-size: 17px;
	line-height: 1.65;
	color: var(--ink);
	max-width: var(--measure);
}
body.lagar-register .lagar-paragraf { border-left: 0; padding-left: 0; }
body.lagar-register .lagar-paragraf h3 { font-family: var(--font-mono); font-weight: 500; font-size: 14px; letter-spacing: 0; }
body.lagar-register .lagar-paragraf:target {
	background: var(--live-soft);
	box-shadow: inset 2px 0 0 var(--live);
	border-radius: var(--radius-sm);
}
body.lagar-register .lagar-andrad,
body.lagar-register .lagar-andrad-meta { font-family: var(--font-mono); color: var(--ink-2) !important; }
body.lagar-register .lagar-breadcrumb { font-family: var(--font-mono); font-size: 12px; color: var(--ink-2); }
body.lagar-register .lagar-toc-nr,
body.lagar-register .lagar-kap-nr,
body.lagar-register .lagar-sfs,
body.lagar-register .lagar-register-card-sfs,
body.lagar-register .lagar-nyligen-par,
body.lagar-register .lagar-stabila-par,
body.lagar-register .lagar-ref-par { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
body.lagar-register .lagar-lag h2,
body.lagar-register .lagar-kapitel h2,
body.lagar-register .lagar-index h2,
body.lagar-register .lagar-nya h2 { border-bottom: 1px solid var(--ink); color: var(--ink); }

/* Pluginets inline-färgade rutor (stilattribut i markupen, byggs om i fas 2). */
body.lagar-register .lagar-snabbguide-box {
	background: var(--paper) !important;
	border: 1px solid var(--line) !important;
	border-radius: var(--radius-sm) !important;
}
body.lagar-register .lagar-snabbguide-box strong { color: var(--ink) !important; }
body.lagar-register .lagar-upphavd,
body.lagar-register .lagar-upphavs {
	background: var(--warn-soft) !important;
	border: 1px solid var(--warn) !important;
	border-radius: var(--radius-sm) !important;
	color: var(--ink);
}
body.lagar-register .lagar-upphavd strong,
body.lagar-register .lagar-upphavs strong { color: var(--warn) !important; }

/* mu-pluginet pillar-styles: guidesidornas rutor i profilens ytor. */
body.lagar-register .entry-content .toc-box,
body.lagar-register .entry-content .disclaimer-box,
body.lagar-register .entry-content .lagbok-ref-box,
body.lagar-register .entry-content .review-stamp,
body.lagar-register .entry-content .visstid-timeline,
body.lagar-register .entry-content .intro {
	background: var(--surface) !important;
	border-color: var(--line) !important;
	border-radius: var(--radius-sm) !important;
	box-shadow: none !important;
	color: var(--ink-1) !important;
}
body.lagar-register .entry-content .etikett {
	background: transparent !important;
	border: 1px solid var(--line-strong) !important;
	border-radius: var(--radius-sm) !important;
	color: var(--ink-1) !important;
	font-family: var(--font-mono);
}

/* Fotokredit och 404 ur temats tidigare stilmall, i profilens toner. */
body.lagar-register .atdt-fotokredit,
body.lagar-register .entry-content figcaption { color: var(--ink-2); font-style: normal; font-family: var(--font-mono); font-size: 11.5px; }
body.lagar-register .lagar-404 code { background: var(--surface); border-color: var(--line); }
body.lagar-register .lagar-404 .lagar-404-ingress,
body.lagar-register .lagar-404 .lagar-404-signatur { color: var(--ink-2); border-color: var(--line); }

@media (prefers-reduced-motion: reduce) {
	body.lagar-register * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* ---------- Rättelser efter granskning av förhandsvisningen ---------- */

/* "Senast ändrad genom" är metadata, inte lagtext: mono, liten, utan klockemoji. */
body.lagar-register .lagar-paragraf .lagar-andrad-meta,
body.lagar-register .lagar-paragraf .lagar-andrad-meta a {
	font-family: var(--font-mono);
	font-size: 12px;
	line-height: 1.5;
	color: var(--ink-2);
}
body.lagar-register .lagar-andrad-icon { display: none; }

/* Inkommande hänvisningar får aldrig bli bredare än spalten på mobil. */
body.lagar-register .lagar-incoming-refs > summary { max-width: 100%; box-sizing: border-box; white-space: normal; }

/* Guidesidornas Gutenberg-rutor: block-färger och inline-kanter till profilens ytor, i båda teman. */
body.lagar-register .entry-content .has-background {
	background: var(--surface) !important;
	color: var(--ink-1) !important;
}
body.lagar-register .entry-content .wp-block-group.has-background {
	border: 1px solid var(--line) !important;
	border-radius: var(--radius-sm) !important;
}
body.lagar-register .entry-content :is(.toc-box, .review-stamp, .lagbok-ref-box, .disclaimer-box, .intro, .has-background) :is(p, li, h2, h3, h4, strong, span, em) {
	color: var(--ink-1) !important;
}
body.lagar-register .entry-content :is(.toc-box, .review-stamp, .lagbok-ref-box, .disclaimer-box, .intro, .has-background) h3 {
	font-family: var(--font-mono) !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ink-2) !important;
}
body.lagar-register .entry-content a:not(.wp-block-button__link),
body.lagar-register .entry-content :is(.toc-box, .review-stamp, .lagbok-ref-box, .disclaimer-box, .intro, .has-background) a {
	color: var(--ink) !important;
	text-decoration: underline;
	text-decoration-color: var(--line-strong);
}
body.lagar-register .entry-content a:not(.wp-block-button__link):hover { color: var(--live) !important; text-decoration-color: currentColor; }
body.lagar-register .entry-content .has-text-color:not(a) { color: var(--ink-1) !important; }

/* Cookiebannern (CookieYes) i profilens färger i stället för standardblått. */
body.lagar-register .cky-consent-container .cky-consent-bar,
body.lagar-register .cky-preference-center {
	background: var(--paper) !important;
	border: 1px solid var(--line) !important;
	border-radius: var(--radius-sm) !important;
	box-shadow: none !important;
}
body.lagar-register .cky-consent-container :is(.cky-title, .cky-notice-des, .cky-notice-des p),
body.lagar-register .cky-preference-center :is(p, span, .cky-preference-title, .cky-accordion-btn) {
	color: var(--ink) !important;
	font-family: var(--font-sans) !important;
}
body.lagar-register .cky-btn {
	border-radius: var(--radius-sm) !important;
	font-family: var(--font-sans) !important;
	font-weight: 500 !important;
}
body.lagar-register .cky-btn-accept {
	background: var(--ink) !important;
	border-color: var(--ink) !important;
	color: var(--on-ink) !important;
}
body.lagar-register .cky-btn-customize,
body.lagar-register .cky-btn-reject,
body.lagar-register .cky-btn-preferences {
	background: transparent !important;
	border-color: var(--line-strong) !important;
	color: var(--ink) !important;
}
body.lagar-register .cky-btn-revisit-wrapper { background: var(--ink) !important; }
