/*
 * lagar.se Register: komponent-CSS för pluginet lagar-se.
 * Flyttad ur pluginets inline-block (lagar-se.php, add_inline_css) och
 * omstämd till profilens tokens. Laddas bara när Register är aktiv.
 * Strukturella ändringar av mallarna görs i fas 2.
 */
/* ── Rättsområden grid (shortcode) ───────────────────── */
.lagar-omraden-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1rem;
    margin: 2rem 0;
    font-family: var(--font-sans);
}
.lagar-omrade-card {
    display: block;
    padding: 1.25rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    text-decoration: none;
    color: var(--ink);
    transition: all 0.15s;
}
.lagar-omrade-card:hover {
    background: var(--paper);
    border-color: var(--ink);
    box-shadow: none;
    transform: translateY(-1px);
}
.lagar-omrade-card h3 {
    font-family: var(--font-sans);
    font-size: 1.15rem;
    margin: 0 0 0.3rem 0;
    color: var(--ink);
}
.lagar-omrade-count {
    font-size: 0.8rem;
    color: var(--ink-2);
    margin: 0 0 0.5rem 0;
    font-weight: 500;
}
.lagar-omrade-desc {
    font-size: 0.85rem;
    color: var(--ink-1);
    line-height: 1.5;
    margin: 0;
}
/* ── Rättsområde-sida ────────────────────────────────── */
.lagar-amne-intro {
    font-size: 1.05rem;
    color: var(--ink-1);
    border-left: 1px solid var(--ink);
    padding: 0.75rem 1rem;
    background: var(--surface);
    border-radius: var(--radius-sm);
    margin: 1.5rem 0;
}
.lagar-amne-list {
    list-style: none;
    padding: 0;
    margin: 2rem 0;
}
.lagar-amne-item {
    padding: 1rem 0;
    border-bottom: 1px solid var(--line);
}
.lagar-amne-item h3 {
    font-family: var(--font-sans);
    font-size: 1.1rem;
    margin: 0 0 0.4rem 0;
}
.lagar-amne-item h3 a { color: var(--ink); text-decoration: none; }
.lagar-amne-item h3 a:hover { text-decoration: underline; }
.lagar-amne-item .lagar-sfs {
    font-family: var(--font-sans);
    font-size: 0.8rem;
    font-weight: 400;
    color: var(--ink-2);
    margin-left: 0.5rem;
}
.lagar-amne-summary {
    color: var(--ink-1);
    font-size: 0.92rem;
    line-height: 1.6;
    margin: 0.3rem 0 0 0;
}
.lagar-amne-item.is-upphavd h3 a { color: var(--ink-2); }
.lagar-badge {
    display: inline-block;
    padding: 0.1rem 0.5rem;
    border-radius: var(--radius-sm);
    font-size: 0.7rem;
    font-family: var(--font-sans);
    font-weight: 600;
    margin-left: 0.4rem;
    vertical-align: middle;
}
.lagar-badge-upphavd { background: var(--surface); color: var(--ink); }
.lagar-badge-upphavs { background: var(--line); color: var(--ink); }
/* ── Paragrafreferenser ────────────────────────────── */
a.lagar-ref {
    color: var(--ink-2);
    text-decoration: none;
    border-bottom: 1px dotted var(--line-strong);
}
a.lagar-ref:hover { border-bottom-style: solid; }

/* ── Base: typography & layout ────────────────────────── */
.lagar-lag,
.lagar-kapitel,
.lagar-index,
.lagar-nya {
    font-family: var(--font-sans);
    max-width: 820px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
    line-height: 1.8;
    color: var(--ink);
}

.lagar-lag h1,
.lagar-kapitel h1,
.lagar-index h1,
.lagar-nya h1 {
    font-family: var(--font-sans);
    font-size: 1.8rem;
    color: var(--ink);
    font-weight: 700;
    letter-spacing: -0.01em;
    margin: 0 0 0.3rem 0;
    line-height: 1.3;
}

.lagar-lag h2,
.lagar-kapitel h2,
.lagar-index h2,
.lagar-nya h2 {
    font-family: var(--font-sans);
    font-size: 1.2rem;
    color: var(--ink);
    margin: 2rem 0 1rem 0;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--line);
}

/* ── Breadcrumb ──────────────────────────────────────── */
.lagar-breadcrumb {
    font-family: var(--font-sans);
    font-size: 0.8rem;
    color: var(--ink-2);
    margin-bottom: 1.5rem;
}

.lagar-breadcrumb a {
    color: var(--ink-2);
    text-decoration: none;
}

.lagar-breadcrumb a:hover {
    text-decoration: underline;
}

/* ── Metadata block (DL) ─────────────────────────────── */
.lagar-meta {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: 1rem 1.5rem;
    margin: 1.5rem 0;
    font-family: var(--font-sans);
    font-size: 0.85rem;
}

.lagar-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.lagar-meta-item {
    display: flex;
    flex-direction: column;
}

.lagar-meta-label {
    color: var(--ink-2);
    font-weight: 500;
    font-size: 0.8rem;
    margin-bottom: 0.1rem;
}

.lagar-meta-value {
    color: var(--ink);
    font-weight: 600;
}

/* ── Summary box ─────────────────────────────────────── */
.lagar-summary {
    background: var(--surface);
    border-radius: var(--radius-sm);
    padding: 1.2rem 1.5rem;
    margin: 1.5rem 0;
    border: 1px solid var(--line);
}

.lagar-summary h2 {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ink);
    margin: 0 0 0.5rem 0;
    padding-bottom: 0;
    border-bottom: none;
    font-family: var(--font-sans);
}
.lagar-summary-anchor {
    color: inherit;
    text-decoration: none;
    position: relative;
}
.lagar-summary-anchor:hover,
.lagar-summary-anchor:focus {
    color: var(--ink-2);
}
.lagar-summary-anchor::before {
    content: "#";
    position: absolute;
    left: -0.9em;
    top: 0;
    font-size: 0.9em;
    color: var(--ink-3);
    opacity: 0;
    transition: opacity 0.15s;
    pointer-events: none;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
}
.lagar-summary:hover .lagar-summary-anchor::before,
.lagar-summary-anchor:hover::before,
.lagar-summary-anchor:focus::before {
    opacity: 1;
}
.lagar-summary:target {
    border-color: var(--ink);
    background: var(--line);
    scroll-margin-top: 1rem;
}

.lagar-summary p {
    font-size: 0.95rem;
    line-height: 1.7;
    color: var(--ink-1);
    margin: 0 0 0.5rem 0;
}

.lagar-summary p:last-child {
    margin-bottom: 0;
}

.lagar-disclaimer {
    font-size: 0.82rem !important;
    color: var(--ink-2) !important;
}

/* ── Rättsområde tags ────────────────────────────────── */
.lagar-rattsomrade {
    margin: 1rem 0;
    font-family: var(--font-sans);
    font-size: 0.85rem;
    color: var(--ink-2);
}

/* ── Livssituationer ─────────────────────────────────── */
.lagar-livssituationer {
    background: var(--surface);
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-sm);
    padding: 1rem 1.2rem;
    margin: 1.5rem 0;
    font-family: var(--font-sans);
    font-size: 0.9rem;
}

.lagar-livssituationer h3 {
    color: var(--ink-1);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0 0 0.5rem 0;
    font-weight: 600;
}

.lagar-livssituationer ul {
    margin: 0;
    padding-left: 1.2rem;
    color: var(--ink-1);
    line-height: 1.7;
}

/* ── Entities (myndigheter) ──────────────────────────── */
.lagar-entities {
    margin: 1.5rem 0;
    font-family: var(--font-sans);
    font-size: 0.85rem;
}

.lagar-entities h3 {
    color: var(--ink-1);
    font-size: 0.9rem;
    font-weight: 600;
    margin: 0 0 0.5rem 0;
}

.lagar-entity-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.lagar-entity-list li {
    background: var(--surface);
    color: var(--ink-1);
    padding: 0.2rem 0.7rem;
    border-radius: var(--radius-sm);
    font-size: 0.82rem;
}

/* ── Chapter list ────────────────────────────────────── */
.lagar-chapter-list {
    padding: 0;
    list-style: none;
    margin: 0;
    font-family: var(--font-sans);
}

.lagar-chapter-list li {
    padding: 0.6rem 0.8rem;
    border-bottom: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.lagar-chapter-list li:nth-child(even) {
    background: var(--surface);
}

.lagar-chapter-list li a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 500;
    font-size: 0.95rem;
}

.lagar-chapter-list li a:hover {
    color: var(--ink-2);
    text-decoration: underline;
}

.lagar-par-count {
    color: var(--ink-3);
    font-size: 0.8rem;
    white-space: nowrap;
    margin-left: 1rem;
}

/* ── Chapter parent label ────────────────────────────── */
.lagar-chapter-parent {
    font-size: 0.95rem;
    color: var(--ink-2);
    font-style: italic;
    margin: 0 0 2rem 0;
}

/* ── FAQ section ─────────────────────────────────────── */
.lagar-faq {
    margin: 2rem 0;
}

.lagar-faq-item {
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
    border-left: 1px solid var(--line);
}

.lagar-faq-item h3 {
    font-family: var(--font-sans);
    font-size: 1rem;
    color: var(--ink);
    font-weight: 600;
    margin: 0 0 0.4rem 0;
}

.lagar-faq-item p {
    font-size: 0.95rem;
    line-height: 1.7;
    color: var(--ink-1);
    margin: 0;
}
/* Self-anchor på FAQ-fråga */
.lagar-faq-anchor {
    color: inherit;
    text-decoration: none;
    position: relative;
}
.lagar-faq-anchor:hover,
.lagar-faq-anchor:focus {
    color: var(--ink-2);
}
.lagar-faq-anchor::before {
    content: "#";
    position: absolute;
    left: -1em;
    top: 0;
    font-size: 0.8em;
    color: var(--ink-3);
    opacity: 0;
    transition: opacity 0.15s;
    pointer-events: none;
    font-weight: 400;
}
.lagar-faq-item:hover .lagar-faq-anchor::before,
.lagar-faq-anchor:hover::before,
.lagar-faq-anchor:focus::before {
    opacity: 1;
}
.lagar-faq-item:target {
    background: var(--line);
    border-left-color: var(--ink);
    border-radius: var(--radius-sm);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    scroll-margin-top: 1rem;
}

/* ── FAQ-index på lagsida (chaptered) ───────────────── */
/* ── Pillar-page design (lagar-pillar body class) ──── */
.lagar-pillar .entry-content {
    max-width: 820px;
    margin: 0 auto;
    font-family: var(--font-sans);
    font-size: 1.05rem;
    line-height: 1.8;
    color: var(--ink);
}
/* Hero H1 */
.lagar-pillar .entry-header h1,
.lagar-pillar .entry-content > h1:first-of-type {
    font-size: 2.2rem;
    color: var(--ink);
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin-bottom: 0.3rem;
    padding-bottom: 0.75rem;
    border-bottom: 3px solid var(--ink);
}
/* Byline/meta under H1 */
.lagar-pillar .entry-meta,
.lagar-pillar .entry-content > p:first-of-type {
    font-family: var(--font-sans);
    font-size: 0.95rem;
    color: var(--ink-1);
    line-height: 1.6;
}
/* TOC ("På den här sidan") */
.lagar-pillar .entry-content .wp-block-group:has(h3) {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    padding: 1rem 1.25rem !important;
    margin: 1.25rem 0;
    box-shadow: none;
}
.lagar-pillar .entry-content .wp-block-group h3 {
    font-family: var(--font-sans);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ink-1);
    margin: 0 0 0.4rem 0;
    font-weight: 700;
}
.lagar-pillar .entry-content .wp-block-group .wp-block-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 0;
    counter-reset: toc-counter;
}
.lagar-pillar .entry-content .wp-block-group .wp-block-list li {
    counter-increment: toc-counter;
    padding: 0.2rem 0.4rem 0.2rem 0;
    font-family: var(--font-sans);
    font-size: 0.88rem;
    line-height: 1.4;
}
.lagar-pillar .entry-content .wp-block-group .wp-block-list li::before {
    content: counter(toc-counter) ".";
    display: inline-block;
    width: 1.5em;
    color: var(--ink-3);
    font-weight: 600;
}
.lagar-pillar .entry-content .wp-block-group .wp-block-list a {
    color: var(--ink-1);
    text-decoration: none;
    border-bottom: 1px dotted var(--line-strong);
}
.lagar-pillar .entry-content .wp-block-group .wp-block-list a:hover {
    color: var(--ink-2);
    border-bottom-style: solid;
}
/* Info-box (Senast granskad) */
.lagar-pillar .entry-content > .wp-block-group:first-of-type {
    border-radius: var(--radius-sm);
    font-family: var(--font-sans);
    font-size: 0.85rem;
}
/* Section H2s */
.lagar-pillar .entry-content h2 {
    font-family: var(--font-sans);
    font-size: 1.6rem;
    color: var(--ink);
    margin: 3rem 0 1rem 0;
    padding: 0 0 0.4rem 0.75rem;
    border-left: 1px solid var(--ink);
    border-bottom: none;
    scroll-margin-top: 1.5rem;
}
.lagar-pillar .entry-content h2:first-of-type {
    margin-top: 2rem;
}
/* H3 within sections */
.lagar-pillar .entry-content h3 {
    font-family: var(--font-sans);
    font-size: 1.15rem;
    color: var(--ink-1);
    margin: 2rem 0 0.5rem 0;
}
/* Paragraphs */
.lagar-pillar .entry-content > p {
    margin-bottom: 1.25rem;
}
/* Lists */
.lagar-pillar .entry-content > ul,
.lagar-pillar .entry-content > ol {
    margin: 1rem 0 1.5rem 1.5rem;
}
.lagar-pillar .entry-content li {
    margin-bottom: 0.4rem;
}
/* Links to laws — subtle card effect */
.lagar-pillar .entry-content a[href*="/lag/"] {
    color: var(--ink-1);
    font-weight: 500;
    border-bottom: 1px dotted var(--line-strong);
    text-decoration: none;
}
.lagar-pillar .entry-content a[href*="/lag/"]:hover {
    color: var(--ink-2);
    border-bottom-style: solid;
}
/* Tables */
.lagar-pillar .entry-content table {
    border-collapse: collapse;
    width: 100%;
    margin: 1.5rem 0;
    font-family: var(--font-sans);
    font-size: 0.92rem;
}
.lagar-pillar .entry-content th {
    background: var(--surface);
    padding: 0.6rem 0.8rem;
    text-align: left;
    font-weight: 600;
    color: var(--ink);
    border-bottom: 2px solid var(--line);
}
.lagar-pillar .entry-content td {
    padding: 0.5rem 0.8rem;
    border-bottom: 1px solid var(--line);
}
.lagar-pillar .entry-content tr:hover td {
    background: var(--surface);
}
/* Amne-embed shortcode */
.lagar-pillar .lagar-amne-embed {
    margin: 1.5rem 0;
    padding: 1.25rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
}
/* Visual separator between major sections */
.lagar-pillar .entry-content h2 + p::first-letter {
    font-size: 1.6em;
    font-weight: 700;
    color: var(--ink);
    float: left;
    line-height: 1;
    margin-right: 0.08em;
    margin-top: 0.08em;
}
@media (max-width: 768px) {
    .lagar-pillar .entry-content { font-size: 1rem; padding: 0 1rem; }
    .lagar-pillar .entry-header h1,
    .lagar-pillar .entry-content > h1:first-of-type { font-size: 1.6rem; }
    .lagar-pillar .entry-content h2 { font-size: 1.3rem; }
    .lagar-pillar .entry-content .wp-block-group .wp-block-list { grid-template-columns: 1fr; }
}

/* ── Pillar-badges (på lag- och kapitelsidor) ──────── */
.lagar-pillar-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0.5rem 0 1rem 0;
}
.lagar-pillar-badge {
    display: inline-block;
    padding: 0.3rem 0.7rem;
    background: var(--surface);
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-sm);
    font-size: 0.82rem;
    color: var(--ink-1);
    text-decoration: none;
    font-family: var(--font-sans);
    transition: background 0.1s, border-color 0.1s;
}
.lagar-paragraf-notes {
    margin: 0.5rem 0 0.75rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.lagar-paragraf-note {
    font-size: 0.88rem;
    padding: 0.5rem 0.75rem;
    border-radius: var(--radius-sm);
    line-height: 1.5;
    background: var(--surface);
    border-left: 1px solid var(--ink);
    color: var(--ink);
}
.lagar-paragraf-note.lagar-note-warning {
    background: var(--surface);
    border-left-color: var(--ink);
    color: var(--ink-1);
}
.lagar-paragraf-note.lagar-note-tip {
    background: var(--live-soft);
    border-left-color: var(--line-strong);
    color: var(--ink-1);
}
.lagar-note-icon {
    margin-right: 0.3rem;
}
.lagar-note-link {
    font-weight: 600;
    margin-left: 0.3rem;
    white-space: nowrap;
}
.lagar-pillar-badge:hover {
    background: var(--line);
    border-color: var(--ink);
}

/* ── Pillar-box (cross-link till guide-sida) ────────── */
.lagar-pillar-box {
    margin: 1rem 0 1.5rem 0;
    padding: 0.85rem 1.25rem;
    background: var(--line);
    border-left: 1px solid var(--ink);
    border-radius: var(--radius-sm);
    font-family: var(--font-sans);
    font-size: 0.95rem;
    color: var(--ink-1);
}
.lagar-pillar-box a {
    color: var(--ink-1);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px dotted var(--ink);
}
.lagar-pillar-box a:hover { border-bottom-style: solid; color: var(--ink); }

/* ── Amne-embed (shortcode i pillar-sidor) ──────────── */
.lagar-amne-embed ul {
    list-style: none;
    padding: 0;
    margin: 0 0 0.5rem 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 0.3rem;
}
.lagar-amne-embed li {
    padding: 0.35rem 0;
}
.lagar-amne-embed a {
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px dotted var(--line-strong);
}
.lagar-amne-embed a:hover { color: var(--ink-2); border-bottom-color: var(--ink-2); }

/* ── Kapitel-personas badges ──────────────────────────── */
.lagar-kap-personas {
    margin: 0.75rem 0 1.25rem 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    align-items: center;
}
.lagar-kap-personas-label {
    font-size: 0.82rem;
    color: var(--ink-2);
    font-family: var(--font-sans);
    margin-right: 0.3rem;
}
.lagar-persona-badge {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    font-size: 0.78rem;
    color: var(--ink-2);
    text-decoration: none;
    font-family: var(--font-sans);
    transition: background 0.1s, border-color 0.1s;
}
.lagar-persona-badge:hover {
    background: var(--surface);
    border-color: var(--line-strong);
}
.lagar-persona-badge.high-confidence {
    background: var(--surface);
    border-color: var(--line-strong);
    color: var(--ink-1);
    font-weight: 500;
}

/* ── Livssituation: kapitel-djuplänkar ────────────────── */
.lagar-livs-chapters {
    margin: 1.5rem 0;
}
.lagar-livs-law-group {
    margin-bottom: 1.5rem;
    padding: 0.75rem 1rem;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
}
.lagar-livs-law-group h3 {
    font-family: var(--font-sans);
    font-size: 1.05rem;
    margin: 0 0 0.5rem 0;
    color: var(--ink);
}
.lagar-livs-law-group h3 a { color: var(--ink); text-decoration: none; }
.lagar-livs-law-group h3 a:hover { text-decoration: underline; }
.lagar-livs-kap-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.lagar-livs-kap-list li {
    padding: 0.3rem 0 0.3rem 1rem;
    border-left: 1px solid var(--line);
    font-size: 0.9rem;
}
.lagar-livs-kap-list li.high-confidence {
    border-left-color: var(--line-strong);
}
.lagar-livs-kap-list a {
    color: var(--ink-1);
    text-decoration: none;
}
.lagar-livs-kap-list a:hover { color: var(--ink-2); text-decoration: underline; }
.lagar-livs-kap-nr {
    font-weight: 600;
    color: var(--ink-1);
    font-size: 0.82rem;
    margin-right: 0.4rem;
}

/* ── Livssituationer-index (/livssituationer/) ────────── */
.lagar-livs-index-intro {
    color: var(--ink-1);
    font-size: 0.95rem;
    margin: 0 0 1rem 0;
}
.lagar-livs-index-search {
    display: flex;
    gap: 1rem;
    align-items: center;
    padding: 0.75rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    margin: 1rem 0 1.5rem 0;
    position: sticky;
    top: 0;
    z-index: 10;
}
.lagar-livs-index-search input {
    flex: 1;
    padding: 0.4rem 0.6rem;
    font-size: 1rem;
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-sm);
}
.lagar-livs-index-count {
    font-size: 0.85rem;
    color: var(--ink-2);
    white-space: nowrap;
}
.lagar-livs-index-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 0.5rem;
}
.lagar-livs-index-item {
    padding: 0.75rem 0.9rem;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    transition: border-color 0.12s;
}
.lagar-livs-index-item:hover { border-color: var(--ink-2); }
.lagar-livs-index-item.is-empty { opacity: 0.5; }
.lagar-livs-index-item a {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
    text-decoration: none;
}
.lagar-livs-index-rubrik {
    font-family: var(--font-sans);
    color: var(--ink);
    font-size: 0.95rem;
    line-height: 1.3;
    flex: 1;
}
.lagar-livs-index-n {
    font-size: 0.8rem;
    color: var(--ink-2);
    white-space: nowrap;
    font-family: var(--font-sans);
}
.lagar-livs-index-desc {
    margin: 0.3rem 0 0 0;
    font-size: 0.82rem;
    color: var(--ink-2);
    line-height: 1.45;
}

/* ── Relaterade lagar-widget ──────────────────────────── */
.lagar-related {
    margin: 2rem 0;
    padding: 1.25rem 1.5rem;
    background: var(--surface);
    border-left: 1px solid var(--line-strong);
    border-radius: var(--radius-sm);
    font-family: var(--font-sans);
}
.lagar-related h2 {
    font-size: 1.15rem;
    color: var(--ink-1);
    margin: 0 0 0.3rem 0;
    border: none;
    padding: 0;
}
.lagar-related-intro {
    color: var(--ink-2);
    font-size: 0.9rem;
    margin: 0 0 0.9rem 0;
}
.lagar-related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 0.75rem;
}
.lagar-related-card {
    display: block;
    padding: 0.85rem 1rem;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    text-decoration: none;
    color: var(--ink);
    transition: border-color 0.12s, transform 0.12s, box-shadow 0.12s;
}
.lagar-related-card:hover {
    border-color: var(--line-strong);
    transform: translateY(-1px);
    box-shadow: none;
}
.lagar-related-card h3 {
    font-family: var(--font-sans);
    font-size: 1rem;
    margin: 0 0 0.3rem 0;
    color: var(--ink-1);
    line-height: 1.3;
}
.lagar-related-shared {
    font-size: 0.75rem;
    color: var(--ink-3);
    margin: 0 0 0.4rem 0;
    font-weight: 500;
}
.lagar-related-summary {
    font-size: 0.82rem;
    color: var(--ink-1);
    margin: 0;
    line-height: 1.5;
}

/* ── Inkommande-refs på lag-nivå ─────────────────────── */
.lagar-incoming-laws {
    margin: 2rem 0;
    padding: 1rem 1.25rem;
    background: var(--live-soft);
    border-left: 1px solid var(--line);
    border-radius: var(--radius-sm);
    font-family: var(--font-sans);
}
.lagar-incoming-laws h2 {
    font-size: 1.05rem;
    color: var(--ink);
    margin: 0 0 0.3rem 0;
    border: none;
    padding: 0;
}
.lagar-incoming-laws-intro {
    color: var(--ink-2);
    font-size: 0.9rem;
    margin: 0 0 0.7rem 0;
}
.lagar-incoming-laws-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.lagar-incoming-laws-list li {
    padding: 0.3rem 0;
    border-bottom: 1px dashed var(--live-soft);
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
    font-size: 0.9rem;
}
.lagar-incoming-laws-list li:last-child { border-bottom: none; }
.lagar-incoming-laws-list a {
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px dotted var(--line-strong);
}
.lagar-incoming-laws-list a:hover {
    color: var(--live);
    border-bottom-color: var(--live);
}
.lagar-incoming-laws-count {
    color: var(--ink-2);
    font-size: 0.78rem;
    white-space: nowrap;
}

/* ── Senast ändrade paragrafer (shortcode) ──────────── */
.lagar-nyligen-andrade {
    margin: 1.5rem 0;
    padding: 1.25rem 1.5rem;
    background: var(--surface);
    border-left: 1px solid var(--ink);
    border-radius: var(--radius-sm);
    font-family: var(--font-sans);
}
.lagar-nyligen-andrade h2 {
    font-size: 1.15rem;
    color: var(--ink-1);
    margin: 0 0 0.7rem 0;
    border: none;
    padding: 0;
}
.lagar-nyligen-andrade-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.lagar-nyligen-andrade-list li {
    padding: 0.4rem 0;
    border-bottom: 1px dashed var(--line);
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.lagar-nyligen-andrade-list li:last-child { border-bottom: none; }
.lagar-nyligen-link {
    color: var(--ink-1);
    text-decoration: none;
    flex: 1;
    min-width: 0;
}
.lagar-nyligen-link:hover { color: var(--ink); }
.lagar-nyligen-par {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--ink-1);
    margin-right: 0.5rem;
    font-family: var(--font-sans);
}
.lagar-nyligen-titel {
    color: var(--ink-1);
    font-size: 0.9rem;
}
.lagar-nyligen-meta {
    color: var(--ink-1);
    font-size: 0.78rem;
    font-style: italic;
    white-space: nowrap;
}

/* ── Topp-refererade paragrafer på lagsida ──────────── */
.lagar-top-refs {
    margin: 2rem 0;
    padding: 1.25rem 1.5rem;
    background: var(--surface);
    border-left: 1px solid var(--ink);
    border-radius: var(--radius-sm);
    font-family: var(--font-sans);
}
.lagar-top-refs h2 {
    font-size: 1.1rem;
    color: var(--ink);
    margin: 0 0 0.3rem 0;
    border: none;
    padding: 0;
}
.lagar-top-refs-intro {
    color: var(--ink-1);
    font-size: 0.9rem;
    margin: 0 0 0.8rem 0;
}
.lagar-top-refs-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 0.5rem;
}
.lagar-top-refs-list li {
    margin: 0;
}
.lagar-top-refs-card {
    display: block;
    padding: 0.65rem 0.85rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    color: var(--ink);
    text-decoration: none;
    transition: background 0.12s, border-color 0.12s;
}
.lagar-top-refs-card:hover {
    background: var(--paper);
    border-color: var(--ink);
}
.lagar-top-refs-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
}
.lagar-top-refs-ref {
    font-size: 0.95rem;
}
.lagar-top-refs-kap {
    color: var(--ink-1);
    font-size: 0.8rem;
}
.lagar-top-refs-count {
    color: var(--ink-1);
    font-size: 0.75rem;
    white-space: nowrap;
}
.lagar-top-refs-preview {
    margin: 0.4rem 0 0 0;
    font-size: 0.85rem;
    color: var(--ink-1);
    line-height: 1.45;
    font-family: var(--font-sans);
}
.lagar-top-refs-preview.is-amne {
    font-style: italic;
    color: var(--ink-1);
}

/* ── Kapitel-TOC (paragrafindex) ─────────────────────── */
.lagar-toc {
    margin: 1.5rem 0 2rem 0;
    padding: 1rem 1.25rem;
    background: var(--surface);
    border-left: 1px solid var(--ink);
    border-radius: var(--radius-sm);
    font-family: var(--font-sans);
}
.lagar-toc h2 {
    font-size: 1.05rem;
    color: var(--ink-1);
    margin: 0 0 0.6rem 0;
    border: none;
    padding: 0;
}
.lagar-toc details summary {
    cursor: pointer;
    font-size: 0.9rem;
    color: var(--ink-1);
    padding: 0.3rem 0;
}
.lagar-toc details summary:hover { text-decoration: underline; }
.lagar-toc-list {
    list-style: none;
    padding: 0;
    margin: 0.3rem 0 0 0;
    font-size: 0.9rem;
}
.lagar-toc-list li {
    padding: 0.25rem 0;
    border-bottom: 1px dashed var(--line);
}
.lagar-toc-list li:last-child { border-bottom: none; }
.lagar-toc-list a {
    color: var(--ink-1);
    text-decoration: none;
    display: flex;
    align-items: baseline;
    gap: 0.6rem;
}
.lagar-toc-list a:hover {
    color: var(--ink-2);
}
.lagar-toc-nr {
    font-weight: 600;
    color: var(--ink-1);
    min-width: 3.5rem;
    flex-shrink: 0;
}
.lagar-toc-amne {
    color: var(--ink-1);
}
.lagar-toc-amne.lagar-toc-snippet {
    color: var(--ink-2);
    font-style: italic;
    font-size: 0.85rem;
}

.lagar-faq-index {
    margin: 2rem 0;
    padding: 1.25rem 1.5rem;
    background: var(--surface);
    border-left: 1px solid var(--line-strong);
    border-radius: var(--radius-sm);
    font-family: var(--font-sans);
}
.lagar-faq-index h2 {
    font-size: 1.15rem;
    color: var(--ink-1);
    margin: 0 0 0.3rem 0;
    border: none;
    padding: 0;
}
.lagar-faq-index-intro {
    color: var(--ink-1);
    font-size: 0.9rem;
    margin: 0 0 1rem 0;
}
.lagar-faq-index-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.lagar-faq-index-kapitel {
    margin-bottom: 1rem;
}
.lagar-faq-index-kapitel-link {
    display: block;
    font-weight: 600;
    color: var(--ink);
    text-decoration: none;
    font-size: 0.95rem;
    margin-bottom: 0.35rem;
}
.lagar-faq-index-kapitel-link:hover {
    text-decoration: underline;
    color: var(--ink-2);
}
.lagar-faq-index-inner {
    list-style: decimal;
    padding-left: 1.5rem;
    margin: 0;
}
.lagar-faq-index-inner li {
    padding: 0.15rem 0;
    font-size: 0.9rem;
}
.lagar-faq-index-inner a {
    color: var(--ink-1);
    text-decoration: none;
    border-bottom: 1px dotted var(--line-strong);
}
.lagar-faq-index-inner a:hover {
    color: var(--ink-2);
    border-bottom-color: var(--ink);
}

/* ── Paragrafer (lagtext) ────────────────────────────── */
.lagar-paragrafer {
    margin: 1rem 0 2rem 0;
}

.lagar-paragraf {
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
    border-left: 1px solid var(--line);
}

.lagar-paragraf:target {
    border-left-color: var(--ink);
    background: var(--surface);
    margin-left: -0.75rem;
    padding: 0.75rem 0.75rem 0.75rem 2.25rem;
    border-radius: var(--radius-sm);
}

.lagar-paragraf h3 {
    font-family: var(--font-sans);
    font-size: 1rem;
    color: var(--ink);
    font-weight: 600;
    margin: 0 0 0.5rem 0;
}
/* Klickbar paragrafnummer — länk till sig själv för enkel kopiering */
.lagar-paragraf-anchor {
    color: inherit;
    text-decoration: none;
    position: relative;
}
.lagar-paragraf-anchor:hover,
.lagar-paragraf-anchor:focus {
    color: var(--ink-2);
}
.lagar-paragraf-anchor::after {
    content: "#";
    position: absolute;
    left: -0.9em;
    font-size: 0.8em;
    color: var(--ink-3);
    opacity: 0;
    transition: opacity 0.15s;
    pointer-events: none;
    font-weight: 400;
}
.lagar-paragraf:hover .lagar-paragraf-anchor::after,
.lagar-paragraf-anchor:hover::after,
.lagar-paragraf-anchor:focus::after {
    opacity: 1;
}
/* Targetat paragraf (via #pN i URL) framhävs med bakgrund */
.lagar-paragraf:target {
    background: var(--line);
    border-radius: var(--radius-sm);
    padding: 0.5rem 0.75rem;
    margin-left: -0.75rem;
    margin-right: -0.75rem;
    scroll-margin-top: 1rem;
}

/* Paragraf-text container (kan innehålla flera <p>, <ul>, <ol>) */
.lagar-paragraf-text > p {
    margin: 0 0 0.6rem 0;
}
.lagar-paragraf-text > p:last-child {
    margin-bottom: 0;
}
.lagar-paragraf-list {
    margin: 0.4rem 0 0.6rem 1.5rem;
    padding: 0;
}
.lagar-paragraf-list li {
    margin-bottom: 0.25rem;
    line-height: 1.6;
}
ol.lagar-paragraf-list {
    list-style: decimal;
}
ul.lagar-paragraf-list {
    list-style: disc;
}

.lagar-paragraf p {
    font-size: 0.95rem;
    line-height: 1.8;
    color: var(--ink);
    margin: 0 0 0.3rem 0;
}

.lagar-andrad {
    font-size: 0.8rem !important;
    color: var(--ink-3) !important;
}

/* ── Ändringshistorik-widget på lagsida ── */
.lagar-andringar {
    margin: 2rem 0 1rem 0;
    padding: 1rem 1.25rem;
    background: var(--surface);
    border-left: 1px solid var(--line-strong);
    border-radius: var(--radius-sm);
    font-family: var(--font-sans);
    font-size: 0.9rem;
}
.lagar-andringar h2 {
    font-size: 1.05rem;
    margin: 0 0 0.4rem 0;
    color: var(--ink-1);
    border: none;
    padding: 0;
}
.lagar-andringar-intro {
    color: var(--ink-1);
    margin: 0 0 0.5rem 0;
}
.lagar-andringar details summary {
    cursor: pointer;
    font-size: 0.85rem;
    color: var(--ink-2);
    padding: 0.3rem 0;
}
.lagar-andringar details summary:hover { text-decoration: underline; }
.lagar-andringar-lista {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0 0;
    max-height: 320px;
    overflow-y: auto;
    font-size: 0.85rem;
}
.lagar-andringar-lista li {
    padding: 0.25rem 0;
    border-bottom: 1px dashed var(--line);
    color: var(--ink-1);
}
.lagar-andringar-lista li:last-child { border-bottom: none; }
.lagar-andringar-lista a {
    color: var(--ink-1);
    text-decoration: none;
    border-bottom: 1px dotted var(--line-strong);
}
.lagar-andringar-lista a:hover {
    color: var(--ink-2);
    border-bottom-color: var(--ink);
}
.lagar-andringar-lista .lagar-andring-datum {
    color: var(--ink-3);
    font-size: 0.8rem;
}
.lagar-andringar-lista .lagar-ext-icon {
    display: inline-block;
    font-size: 0.7em;
    margin-left: 0.15em;
    color: var(--ink-3);
}

/* ── Andrad_genom metadata (historisk ändringsreferens) ── */
.lagar-andrad-meta {
    font-family: var(--font-sans);
    font-size: 0.78rem;
    color: var(--ink-3);
    margin: 0.4rem 0 0 0;
    padding: 0;
    line-height: 1.5;
}
.lagar-andrad-meta a {
    color: var(--ink-2);
    text-decoration: none;
    border-bottom: 1px dotted var(--line-strong);
    transition: color 0.1s, border-color 0.1s;
}
.lagar-andrad-meta a:hover {
    color: var(--ink-2);
    border-bottom-color: var(--ink);
    border-bottom-style: solid;
}
.lagar-andrad-meta time {
    color: var(--ink-2);
    font-variant-numeric: tabular-nums;
}
.lagar-andrad-icon {
    margin-right: 0.25rem;
    opacity: 0.7;
}
.lagar-ext-icon {
    font-size: 0.75em;
    margin-left: 0.2rem;
    opacity: 0.7;
    vertical-align: baseline;
}
.lagar-andrad-meta a.lagar-ext-link:hover .lagar-ext-icon {
    opacity: 1;
}

/* ── Fulltext fallback ───────────────────────────────── */
.lagar-fulltext {
    margin: 1.5rem 0;
}

.lagar-text-content {
    font-size: 0.95rem;
    line-height: 1.8;
    white-space: pre-wrap;
}

/* ── Chapter navigation ──────────────────────────────── */
.lagar-chapter-nav {
    display: flex;
    justify-content: space-between;
    border-top: 2px solid var(--line);
    padding-top: 1.5rem;
    margin-top: 3rem;
    font-family: var(--font-sans);
}

.lagar-nav-prev,
.lagar-nav-next {
    color: var(--ink);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    max-width: 45%;
}

.lagar-nav-prev::before {
    content: 'Föregående kapitel';
    display: block;
    font-size: 0.75rem;
    color: var(--ink-3);
    font-weight: 400;
    margin-bottom: 0.2rem;
}

.lagar-nav-next {
    text-align: right;
    margin-left: auto;
}

.lagar-nav-next::before {
    content: 'Nästa kapitel';
    display: block;
    font-size: 0.75rem;
    color: var(--ink-3);
    font-weight: 400;
    margin-bottom: 0.2rem;
}

.lagar-nav-prev:hover,
.lagar-nav-next:hover {
    color: var(--ink-2);
}

/* ── Inkommande referenser (per paragraf) ─────────── */
.lagar-incoming-refs {
    margin-top: 0.5rem;
    font-family: var(--font-sans);
    font-size: 0.85rem;
}
.lagar-incoming-refs > summary {
    display: inline-block;
    cursor: pointer;
    color: var(--ink-2);
    padding: 0.25rem 0.5rem;
    border-radius: var(--radius-sm);
    list-style: none;
    user-select: none;
    border: 1px solid transparent;
}
.lagar-incoming-refs > summary::-webkit-details-marker { display: none; }
.lagar-incoming-refs > summary::after {
    content: '▾';
    margin-left: 0.4rem;
    font-size: 0.7rem;
    color: var(--ink-3);
}
.lagar-incoming-refs[open] > summary::after { content: '▴'; }
.lagar-incoming-refs > summary:hover {
    color: var(--ink-2);
    background: var(--surface);
    border-color: var(--line);
}
.lagar-refs-icon {
    color: var(--ink-2);
    font-weight: 600;
    margin-right: 0.3rem;
}
.lagar-refs-groups {
    margin-top: 0.75rem;
    padding: 0.75rem 1rem;
    background: var(--surface);
    border-left: 1px solid var(--ink);
    border-radius: var(--radius-sm);
}
.lagar-ref-group {
    margin-bottom: 0.75rem;
}
.lagar-ref-group:last-child {
    margin-bottom: 0;
}
.lagar-ref-group h4 {
    font-family: var(--font-sans);
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ink);
    margin: 0 0 0.3rem 0;
    padding: 0;
    border: none;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.lagar-ref-group h4 a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px dotted var(--line-strong);
}
.lagar-ref-group h4 a:hover {
    border-bottom-style: solid;
    color: var(--ink-2);
}
.lagar-ref-count {
    color: var(--ink-3);
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
}
.lagar-ref-group ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.lagar-ref-group li {
    padding: 0.15rem 0;
    line-height: 1.5;
    border: none;
}
.lagar-ref-group li a {
    color: var(--ink-1);
    text-decoration: none;
}
.lagar-ref-group li a:hover {
    color: var(--ink-2);
    text-decoration: underline;
}
.lagar-ref-context {
    color: var(--ink-2);
    font-size: 0.85em;
}
.lagar-ref-more {
    color: var(--ink-3);
    font-size: 0.8rem;
    font-style: italic;
    padding-top: 0.15rem !important;
}
.lagar-refs-meta {
    color: var(--ink-3);
    font-weight: 400;
}
/* Platt-variant vid många unika källagar */
ul.lagar-ref-flat {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 0.15rem 1rem;
}
ul.lagar-ref-flat li {
    padding: 0.2rem 0;
}
ul.lagar-ref-flat a {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    color: var(--ink-1);
    text-decoration: none;
    padding: 0.2rem 0.3rem;
    border-radius: var(--radius-sm);
}
ul.lagar-ref-flat a:hover {
    background: var(--paper);
    color: var(--ink);
}
.lagar-ref-lag {
    font-size: 0.85rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.lagar-ref-par {
    font-family: var(--font-sans);
    font-size: 0.78rem;
    color: var(--ink-2);
    white-space: nowrap;
    font-weight: 500;
}
ul.lagar-ref-flat a:hover .lagar-ref-par {
    color: var(--ink-2);
}
@media (max-width: 600px) {
    .lagar-incoming-refs > summary {
        display: block;
        width: 100%;
    }
}

/* ── Full chapter index (footer av kapitelsidor) ────── */
.lagar-chapter-index {
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--line);
    font-family: var(--font-sans);
}
.lagar-chapter-index h2 {
    font-family: var(--font-sans);
    font-size: 1.2rem;
    color: var(--ink);
    margin: 0 0 1rem 0;
    padding: 0;
    border: none;
}
.lagar-chapter-list-full {
    list-style: none;
    padding: 0;
    margin: 0 0 1.25rem 0;
    counter-reset: none;
}
.lagar-chapter-list-full li {
    border-bottom: 1px solid var(--line);
    padding: 0.1rem 0;
}
.lagar-chapter-list-full li:last-child {
    border-bottom: none;
}
.lagar-chapter-list-full a,
.lagar-chapter-list-full span[aria-current] {
    display: grid;
    grid-template-columns: 5rem 1fr auto;
    gap: 0.75rem;
    align-items: baseline;
    padding: 0.55rem 0.25rem;
    text-decoration: none;
    color: var(--ink);
    border-radius: var(--radius-sm);
    transition: background 0.1s;
}
.lagar-chapter-list-full a:hover {
    background: var(--surface);
    color: var(--ink);
}
.lagar-chapter-list-full .is-current > span[aria-current] {
    background: var(--surface);
    color: var(--ink);
    font-weight: 600;
}
.lagar-chapter-list-full .lagar-kap-nr {
    font-family: var(--font-sans);
    font-size: 0.8rem;
    color: var(--ink-2);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.lagar-chapter-list-full .is-current .lagar-kap-nr {
    color: var(--ink-2);
}
.lagar-chapter-list-full .lagar-kap-rubrik {
    font-family: var(--font-sans);
    font-size: 1rem;
    line-height: 1.4;
}
.lagar-chapter-list-full .lagar-par-count {
    font-size: 0.75rem;
    color: var(--ink-3);
    white-space: nowrap;
}
.lagar-back-to-law {
    font-size: 0.85rem;
    color: var(--ink-2);
    margin: 0;
}
.lagar-back-to-law a {
    color: var(--ink-2);
    text-decoration: none;
}
.lagar-back-to-law a:hover {
    text-decoration: underline;
}
@media (max-width: 600px) {
    .lagar-chapter-list-full a,
    .lagar-chapter-list-full span[aria-current] {
        grid-template-columns: 4rem 1fr;
        grid-template-rows: auto auto;
    }
    .lagar-chapter-list-full .lagar-par-count {
        grid-column: 2;
        font-size: 0.7rem;
    }
}

/* ── Register table ──────────────────────────────────── */
.lagar-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-sans);
    font-size: 0.9rem;
    margin: 1.5rem 0;
}

.lagar-table thead th {
    background: var(--surface);
    color: var(--ink-2);
    font-weight: 600;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.6rem 0.8rem;
    text-align: left;
    border-bottom: 2px solid var(--line);
}

.lagar-table tbody td {
    padding: 0.5rem 0.8rem;
    border-bottom: 1px solid var(--line);
    color: var(--ink-1);
}

.lagar-table tbody tr:nth-child(even) {
    background: var(--surface);
}

.lagar-table tbody tr:hover {
    background: var(--surface);
}

.lagar-table a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 500;
}

.lagar-table a:hover {
    color: var(--ink-2);
    text-decoration: underline;
}

/* ── Pagination ──────────────────────────────────────── */
/* ── /register/ hero-sektioner ────────────────────────── */
.lagar-register-section {
    margin: 2rem 0 2.5rem 0;
}
.lagar-register-section h2 {
    font-size: 1.3rem;
    color: var(--ink);
    margin: 0 0 0.3rem 0;
    border-bottom: 2px solid var(--line);
    padding-bottom: 0.3rem;
}
.lagar-section-intro {
    color: var(--ink-2);
    font-size: 0.92rem;
    margin: 0 0 1rem 0;
}
.lagar-register-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 0.75rem;
}
.lagar-register-cards.lagar-register-cards-small {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0.5rem;
}
.lagar-register-card {
    display: block;
    padding: 0.85rem 1rem;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    text-decoration: none;
    color: var(--ink);
    transition: border-color 0.12s, transform 0.12s, box-shadow 0.12s;
}
.lagar-register-card:hover {
    border-color: var(--ink);
    transform: translateY(-1px);
    box-shadow: none;
}
.lagar-register-card h3 {
    font-family: var(--font-sans);
    font-size: 1rem;
    margin: 0 0 0.2rem 0;
    color: var(--ink);
    line-height: 1.3;
}
.lagar-register-card-sfs {
    font-size: 0.75rem;
    color: var(--ink-2);
    margin: 0 0 0.3rem 0;
    font-family: var(--font-sans);
}
.lagar-register-card-desc {
    font-size: 0.82rem;
    color: var(--ink-1);
    margin: 0;
    line-height: 1.45;
}
.lagar-register-card-meta {
    font-size: 0.78rem;
    color: var(--ink-3);
    margin: 0;
    font-family: var(--font-sans);
}
.lagar-register-card-grundlag {
    background: var(--line);
    border-color: var(--line-strong);
}
.lagar-register-card-grundlag:hover { border-color: var(--ink-2); }
.lagar-register-card-balk {
    background: var(--live-soft);
    border-color: var(--live-soft);
}
.lagar-register-card-balk:hover { border-color: var(--live); }
.lagar-register-card-omrade {
    background: var(--surface);
}
.lagar-register-recent-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.lagar-register-recent-list li {
    padding: 0.4rem 0;
    border-bottom: 1px dashed var(--line);
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
}
.lagar-register-recent-list a {
    color: var(--ink);
    text-decoration: none;
    border-bottom: 1px dotted transparent;
}
.lagar-register-recent-list a:hover { border-bottom-color: var(--ink); }
.lagar-register-recent-date {
    color: var(--ink-3);
    font-size: 0.82rem;
    font-family: var(--font-sans);
    white-space: nowrap;
}
/* A–Ö-navigation */
.lagar-alpha-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    padding: 0.5rem 0.75rem;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    margin: 0.5rem 0 1.5rem 0;
    font-family: var(--font-sans);
    font-size: 0.85rem;
    position: sticky;
    top: 0;
    z-index: 10;
}
.lagar-alpha-nav a {
    padding: 0.15rem 0.5rem;
    color: var(--ink-1);
    text-decoration: none;
    border-radius: var(--radius-sm);
    transition: background 0.1s;
}
.lagar-alpha-nav a:hover {
    background: var(--surface);
    color: var(--ink-2);
}
.lagar-table-letter-row td {
    font-family: var(--font-sans);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ink);
    background: var(--surface);
    padding: 0.75rem 0.5rem 0.4rem 0.5rem !important;
    border-bottom: 2px solid var(--line);
    scroll-margin-top: 3rem;
}

.lagar-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    margin: 2rem 0;
    font-family: var(--font-sans);
    font-size: 0.9rem;
}

.lagar-pagination a {
    color: var(--ink);
    text-decoration: none;
    font-weight: 500;
    padding: 0.4rem 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
}

.lagar-pagination a:hover {
    background: var(--surface);
    border-color: var(--line);
}

.lagar-pagination span {
    color: var(--ink-2);
}

/* ── Count label ─────────────────────────────────────── */
.lagar-count {
    font-family: var(--font-sans);
    font-size: 0.85rem;
    color: var(--ink-2);
    margin: 0 0 1.5rem 0;
}

/* ── Upphävd-banner (keep inline, just ensure readability) ── */
.lagar-upphavd {
    font-family: var(--font-sans);
    font-size: 0.9rem;
    line-height: 1.6;
}

/* ── Responsive ──────────────────────────────────────── */
@media (max-width: 768px) {
    .lagar-lag,
    .lagar-kapitel,
    .lagar-index,
    .lagar-nya {
        padding: 1rem;
    }

    .lagar-lag h1,
    .lagar-kapitel h1,
    .lagar-index h1,
    .lagar-nya h1 {
        font-size: 1.4rem;
    }

    .lagar-meta {
        gap: 1rem;
    }

    .lagar-chapter-nav {
        flex-direction: column;
        gap: 1rem;
    }

    .lagar-nav-prev,
    .lagar-nav-next {
        max-width: 100%;
        text-align: left;
    }

    .lagar-table {
        font-size: 0.8rem;
    }

    .lagar-table thead th,
    .lagar-table tbody td {
        padding: 0.4rem;
    }

    /* Hide less important columns on mobile */
    .lagar-table thead th:nth-child(4),
    .lagar-table tbody td:nth-child(4) {
        display: none;
    }
}

/* ── Stabila paragrafer (shortcode) ─────────────────── */
.lagar-stabila {
    margin: 1.5rem 0;
    padding: 1.25rem 1.5rem;
    background: var(--live-soft);
    border-left: 1px solid var(--line);
    border-radius: var(--radius-sm);
    font-family: var(--font-sans);
}
.lagar-stabila h2 {
    font-size: 1.15rem;
    color: var(--ink);
    margin: 0 0 0.3rem 0;
    border: none;
    padding: 0;
}
.lagar-stabila-intro {
    color: var(--ink-1);
    font-size: 0.88rem;
    margin: 0 0 0.7rem 0;
}
.lagar-stabila-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.lagar-stabila-list li {
    padding: 0.4rem 0;
    border-bottom: 1px dashed var(--live-soft);
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.lagar-stabila-list li:last-child { border-bottom: none; }
.lagar-stabila-link {
    color: var(--ink);
    text-decoration: none;
    flex: 1;
    min-width: 0;
}
.lagar-stabila-link:hover { color: var(--live); }
.lagar-stabila-par {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--ink-1);
    margin-right: 0.5rem;
    font-family: var(--font-sans);
}
.lagar-stabila-titel { color: var(--ink); font-size: 0.9rem; }
.lagar-stabila-meta {
    color: var(--ink-2);
    font-size: 0.78rem;
    font-style: italic;
    white-space: nowrap;
}

/* ── Läsprogress-indikator (topp av sidan) ──────────── */
.lagar-reading-progress {
    position: fixed;
    top: 0; left: 0;
    height: 3px;
    width: 0%;
    background: var(--surface);
    z-index: 9999;
    transition: width 0.08s ease-out;
    pointer-events: none;
}

/* ── Dela-knappar ──────────────────────────────────── */
.lagar-share-btn {
    border: none;
    background: transparent;
    color: var(--ink-3);
    font-size: 0.85em;
    cursor: pointer;
    padding: 0 0.3em;
    margin-left: 0.3em;
    vertical-align: baseline;
    opacity: 0;
    transition: opacity 0.15s, color 0.15s;
    font-family: var(--font-sans);
    text-decoration: none;
}
.lagar-share-btn::before { content: "🔗"; font-size: 0.85em; }
.lagar-paragraf:hover .lagar-share-btn,
.lagar-faq-item:hover .lagar-share-btn,
.lagar-summary:hover .lagar-share-btn,
.lagar-share-btn:focus {
    opacity: 1;
}
.lagar-share-btn:hover { color: var(--ink-2); }
.lagar-share-toast {
    position: fixed;
    bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%) translateY(2rem);
    background: var(--ink);
    color: white;
    padding: 0.5rem 1rem;
    border-radius: var(--radius-sm);
    font-size: 0.9rem;
    font-family: var(--font-sans);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s, transform 0.2s;
    z-index: 10000;
}
.lagar-share-toast.visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* ── Utskriftsvänlig vy — @media print ──────────────── */
@media print {
    /* Dölj allt utom kärn-content */
    header, footer, .site-header, .site-footer, .navigation, nav,
    #masthead, #colophon, .widget-area, aside, .sidebar,
    .lagar-alpha-nav, .lagar-reading-progress, .lagar-share-btn,
    .lagar-omraden-grid, .lagar-register-cards, .lagar-nyligen-andrade,
    .lagar-incoming-laws, .lagar-top-refs, .lagar-andringar,
    .lagar-faq-index, .lagar-livssituationer, .lagar-entities,
    .lagar-back-to-law, .lagar-chapter-nav, .lagar-chapter-index,
    .cookie-notice, #cookie-notice, .cookie-law-info-bar {
        display: none !important;
    }
    /* Behåll lagtext, sammanfattning, FAQ med ren layout */
    body {
        font-family: var(--font-sans);
        color: var(--ink);
        background: white;
        max-width: 100%;
        padding: 0;
    }
    .lagar-lag, .lagar-kapitel, .lagar-index {
        max-width: 100%;
        padding: 0;
        margin: 0;
    }
    .lagar-summary {
        background: none;
        border: 1px solid var(--line-strong);
        padding: 0.5cm;
        page-break-inside: avoid;
    }
    .lagar-paragraf {
        page-break-inside: avoid;
        margin-bottom: 0.4cm;
    }
    .lagar-paragraf h3 a { color: var(--ink) !important; text-decoration: none; }
    a { color: var(--ink); text-decoration: none; }
    a[href]::after { content: ""; }  /* undvik URL-fotnoter */
    h1 { font-size: 16pt; margin: 0 0 0.4cm 0; }
    h2 { font-size: 13pt; margin: 0.4cm 0 0.2cm 0; }
    h3 { font-size: 11pt; margin: 0.2cm 0 0.1cm 0; }
    .lagar-breadcrumb { font-size: 8pt; color: var(--ink); margin-bottom: 0.3cm; }
}
