/* ── Legal Text Viewer ── */
.lex-viewer{display:flex;flex:1;min-height:0;overflow:hidden;}

/* ── Table of contents sidebar ── */
.lex-toc{width:260px;flex-shrink:0;border-right:1px solid var(--border);overflow-y:auto;padding:12px 0;background:var(--bg);min-height:0;}
.lex-toc::-webkit-scrollbar{width:3px;}
.lex-toc::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px;}
.lex-toc-title{font-size:9px;font-weight:700;color:var(--text3);letter-spacing:1px;text-transform:uppercase;padding:14px 14px 10px;border-bottom:1px solid var(--border);margin-bottom:4px;}
.lex-toc-item{display:block;padding:5px 14px;font-size:12px;color:var(--text2);cursor:pointer;border:none;background:none;text-align:left;width:100%;line-height:1.45;transition:background .1s,color .1s;border-left:2px solid transparent;}
.lex-toc-item:hover{background:var(--bg3);color:var(--text);}
.lex-toc-item.active{color:var(--accent);background:var(--accent-bg);border-left-color:var(--accent);font-weight:600;}
.lex-toc-item.toc-recital-group{font-size:11px;color:var(--text3);font-style:italic;padding:6px 14px;}
.lex-toc-item.toc-article{padding:3px 12px 3px 28px;font-size:11.5px;color:var(--text2);line-height:1.45;border-left:2px solid transparent;}
.lex-toc-item.toc-article:hover{background:var(--bg3);color:var(--text);}
.lex-toc-item.toc-article.active{color:var(--accent);background:var(--accent-bg);border-left-color:var(--accent);font-weight:600;}
.lex-toc-item.toc-article b{font-family:'Inter',sans-serif;font-size:10px;font-weight:700;color:var(--text3);margin-right:4px;min-width:22px;display:inline-block;}
.lex-toc-item.toc-article.active b{color:var(--accent);}
.lex-toc-sep{border:none;border-top:1px solid var(--border);margin:4px 0;}
.lex-toc-section{font-size:10px;font-weight:600;color:var(--text3);letter-spacing:.6px;text-transform:uppercase;padding:10px 14px 4px;border-top:1px solid var(--border);margin-top:4px;}

/* ── Chapter toggles in TOC ── */
.toc-chapter-toggle{display:flex;align-items:center;width:100%;cursor:pointer;border:none;background:var(--bg);text-align:left;padding:8px 10px 7px 12px;font-size:11px;font-weight:700;color:var(--text);letter-spacing:.2px;text-transform:uppercase;transition:background .1s;gap:6px;border-top:1px solid var(--border);margin-top:2px;}
.toc-chapter-toggle:hover{background:var(--bg3);}
.toc-chapter-toggle:first-child{border-top:none;margin-top:0;}
.toc-chapter-label{flex:1;text-align:left;line-height:1.4;}
.toc-chapter-num{flex-shrink:0;font-size:9px;font-weight:700;color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-bg2);border-radius:3px;padding:1px 5px;letter-spacing:.3px;}
.toc-chapter-toggle .toc-chevron{font-size:8px;color:var(--text3);transition:transform .2s;flex-shrink:0;margin-left:2px;}
.toc-chapter-toggle.open .toc-chevron{transform:rotate(90deg);}
.toc-chapter-toggle.open{background:var(--accent-bg);}
.toc-chapter-toggle.open .toc-chapter-label,.toc-chapter-toggle.open .toc-chevron{color:var(--accent);}
.toc-chapter-articles{display:none;background:var(--surface);}
.toc-chapter-articles.open{display:block;}

/* ── Annex items in TOC ── */
.toc-annex-item{font-size:11px;color:var(--text3);font-style:italic;padding:5px 14px;border-left:2px solid transparent;}
.toc-annex-item b{font-style:normal;font-weight:700;color:var(--text3);margin-right:4px;font-family:'Inter',sans-serif;font-size:10px;}
.toc-annex-item:hover{background:var(--bg3);color:var(--text2);}

/* ── TOC resizer ── */
.lex-toc-resizer{width:5px;flex-shrink:0;cursor:col-resize;background:transparent;position:relative;}
.lex-toc-resizer::after{content:'';position:absolute;top:0;bottom:0;left:1px;width:3px;border-radius:2px;background:transparent;transition:background .12s;}
.lex-toc-resizer:hover::after,.lex-toc-resizer.dragging::after{background:var(--accent);opacity:.7;}

/* ── Responsive TOC collapse toggle ── */
.lex-toc-toggle{display:none;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;color:var(--text2);background:var(--bg);border:none;cursor:pointer;width:100%;border-bottom:1px solid var(--border);}

/* ── Legal text body ── */
.lex-body{flex:1;overflow-y:auto;padding:40px 56px 80px;min-width:0;min-height:0;position:relative;background:#fdfcf9;}
[data-theme="dark"] .lex-body{background:#1e1c18;}
.lex-body::-webkit-scrollbar{width:4px;}
.lex-body::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px;}
.lex-reading-col{max-width:720px;margin:0 auto;}

/* ── Lang bar ── */
.lex-langbar{display:flex;align-items:center;gap:8px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.lex-langbar-label{font-size:11px;color:var(--text3);}
.lex-lang-select{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-bg2);border-radius:var(--radius-xs);padding:4px 8px;font-size:12px;cursor:pointer;}
.lex-lang-sep{width:1px;height:16px;background:var(--border2);flex-shrink:0;}

/* ── Document title + subtitle ── */
.lex-doc-title{font-size:17px;font-weight:700;color:var(--text);line-height:1.5;margin-bottom:4px;letter-spacing:-.1px;}
.lex-doc-subtitle{font-size:13px;color:var(--text2);margin-bottom:28px;line-height:1.5;}

/* ── Sections & chapters ── */
.lex-section{margin-bottom:0;scroll-margin-top:24px;}
.lex-chapter-block{margin:40px 0 0;padding:14px 18px 14px;background:var(--bg3);border-left:3px solid var(--accent);border-radius:0 var(--radius-xs) var(--radius-xs) 0;}
.lex-chapter-heading{font-size:10px;font-weight:700;color:var(--accent);letter-spacing:1px;text-transform:uppercase;margin-bottom:3px;}
.lex-chapter-title{font-size:15px;font-weight:700;color:var(--text);line-height:1.35;margin:0;}
.lex-section-label{font-size:10px;font-weight:700;color:var(--text3);letter-spacing:.8px;text-transform:uppercase;padding:20px 0 8px;margin-bottom:0;display:flex;align-items:center;gap:8px;}
.lex-section-label::after{content:'';flex:1;height:1px;background:var(--border);}

/* ── Articles ── */
.lex-article{padding:20px 0 20px;border-bottom:1px solid var(--border);scroll-margin-top:24px;transition:background .15s;position:relative;}
.lex-article:last-child{border-bottom:none;}
.lex-article:target,.lex-article.lex-highlight{background:var(--accent-bg);border-radius:var(--radius-xs);padding-left:14px;padding-right:14px;margin-left:-14px;margin-right:-14px;}
.lex-article-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap;}
.lex-article-heading{font-size:13px;font-weight:900;color:var(--accent);letter-spacing:.4px;text-transform:uppercase;min-width:0;overflow-wrap:break-word;}
.lex-article-title{font-size:15px;font-weight:600;color:var(--text);line-height:1.4;margin:0;min-width:0;overflow-wrap:break-word;}
.lex-article-body{font-size:15px;color:var(--text);line-height:1.9;font-family:Georgia,'Times New Roman',serif;}
.lex-article-body p{margin-bottom:0;margin-top:0;line-height:1.9;}
.lex-article-body p b:first-child{font-family:'Inter',-apple-system,sans-serif;font-size:12px;font-weight:700;color:var(--accent);min-width:20px;display:inline-block;}

/* ── Sub-lists / sub-items ── */
.lex-sublist{margin:0;padding:0;}
.lex-subitem{margin:0;padding:0 0 0 36px;position:relative;font-size:15px;font-family:Georgia,'Times New Roman',serif;color:var(--text);line-height:1.9;display:block;}
.lex-article-body p.lex-subitem{margin:0 !important;padding-top:0 !important;padding-bottom:0 !important;}
.lex-subitem::before{content:'(' attr(data-label) ')';position:absolute;left:4px;font-family:'Inter',-apple-system,sans-serif;font-weight:700;font-size:11px;color:var(--accent);top:.22em;}
.lex-inline-ref{color:var(--accent);font-weight:600;font-family:'Inter',-apple-system,sans-serif;font-size:.9em;}
.lex-subpara{padding-left:20px;}

/* ── Tables in legal text ── */
.lex-table-wrap{overflow-x:auto;margin:12px 0;}
.lex-table{border-collapse:collapse;font-size:12.5px;width:100%;font-family:'Inter',-apple-system,sans-serif;}
.lex-table th{background:var(--bg3);font-weight:600;color:var(--text);font-size:11px;letter-spacing:.3px;text-transform:uppercase;}
.lex-table td,.lex-table th{border:1px solid var(--border2);padding:7px 10px;vertical-align:top;text-align:left;}
.lex-table tr:nth-child(even){background:var(--bg3);}
.lex-table tr{color:var(--text2);}
.lex-list{margin:8px 0 8px 20px;padding:0;font-size:15px;font-family:Georgia,serif;color:var(--text);line-height:1.85;}
.lex-list li{margin-bottom:4px;}

/* ── Legacy EUR-Lex raw HTML ── */
.lex-article-body .oj-normal{font-size:15px;font-family:Georgia,serif;color:var(--text);line-height:1.9;margin:0;padding:0;}
.lex-article-body .oj-normal-bold{font-size:15px;font-family:Georgia,serif;font-weight:600;color:var(--text);line-height:1.9;margin:0;padding:0;}
.lex-article-body table{width:100%;border-collapse:collapse;margin:0;font-family:Georgia,serif;}
.lex-article-body table td{vertical-align:top;padding:0 10px 0 0;font-size:15px;font-family:Georgia,serif;color:var(--text);line-height:1.9;}
.lex-article-body table td:first-child{font-family:'Inter',sans-serif;font-weight:700;font-size:11px;color:var(--accent);white-space:nowrap;padding-right:10px;min-width:28px;vertical-align:top;padding-top:.2em;}
/* Override .oj-normal inside label cell so label stays small/accented */
.lex-article-body table td:first-child p,.lex-article-body table td:first-child .oj-normal{font-family:'Inter',sans-serif;font-weight:700;font-size:11px;color:var(--accent);line-height:1.9;margin:0;padding:0;white-space:nowrap;}
.lex-article-body>div[id]{margin:0;padding:0;}
/* ── Consolidated EUR-Lex HTML (div.norm format, e.g. GDPR 2016/679) ── */
/* Outer paragraph: flex row  [no-parag number | content block] */
.lex-article-body div.norm:not(.inline-element){display:flex;gap:8px;margin:6px 0;font-size:15px;font-family:Georgia,serif;color:var(--text);line-height:1.9;}
/* Content block — display:block so intro text + list items stack vertically */
.lex-article-body div.norm.inline-element{display:block;flex:1;min-width:0;}
.lex-article-body .no-parag{font-family:'Inter',sans-serif;font-weight:700;font-size:11px;color:var(--accent);white-space:nowrap;padding-top:.25em;min-width:28px;flex-shrink:0;}
/* All p and p.norm inside norm blocks: plain block paragraphs */
.lex-article-body p.norm,.lex-article-body div.norm p{display:block;margin:0;font-size:15px;font-family:Georgia,serif;color:var(--text);line-height:1.9;}
/* Grid list items: (a) (b) 1. 2. etc. */
.lex-article-body .grid-container.grid-list{display:grid;grid-template-columns:36px 1fr;gap:0 8px;margin:2px 0;}
.lex-article-body .grid-list-column-1{font-family:'Inter',sans-serif;font-weight:700;font-size:11px;color:var(--accent);line-height:1.9;text-align:right;padding-right:4px;padding-top:.1em;}
.lex-article-body .grid-list-column-2{font-size:15px;font-family:Georgia,serif;color:var(--text);line-height:1.9;}
.lex-article-body .grid-list-column-2 p{margin:0;font-size:15px;font-family:Georgia,serif;line-height:1.9;}
.lex-article-body .title-article-norm,.lex-article-body .stitle-article-norm{display:none;}

/* ── Recitals (indexed EU path) ── */
.br-recital-article{border-bottom:1px solid var(--border);padding:4px 0;}
.br-recital-article:last-child{border-bottom:none;}
.br-recital-article .lex-article-body{color:var(--text2);}
.br-recital-article .lex-article-body table td{color:var(--text2);}
.br-recital-article .lex-article-body table td:first-child{color:var(--text3);}

/* ── Recitals ── */
.lex-recitals-heading{font-size:10px;font-weight:700;color:var(--text3);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;}
.lex-version-note{font-size:10px;font-weight:500;color:var(--text3);font-style:italic;margin-bottom:16px;padding:4px 8px;background:var(--bg3);border-radius:var(--radius-xs);border:1px solid var(--border);display:inline-block;}
.lex-version-note--articles{display:block;margin:28px 0 0;padding:6px 12px;font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-bg2);border-radius:var(--radius-xs);}
.lex-recital{display:grid;grid-template-columns:36px 1fr;gap:0 16px;padding:10px 0;border-bottom:1px solid var(--border);font-size:15px;font-family:Georgia,serif;color:var(--text2);line-height:1.9;scroll-margin-top:24px;}
.lex-recital:last-child{border-bottom:none;}
.lex-recital-num{font-family:'Inter',sans-serif;font-weight:700;font-size:11px;color:var(--accent);padding-top:3px;text-align:right;}
.lex-recital-text{flex:1;}

/* ── Annexes ── */
.lex-annex{padding:28px 0 8px;border-top:2px solid var(--border);margin-top:32px;scroll-margin-top:24px;}
.lex-annex-heading{font-size:10px;font-weight:700;color:var(--text3);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;}
.lex-annex-subtitle{font-size:14px;font-weight:600;color:var(--text2);margin-bottom:16px;font-family:'Inter',sans-serif;}
.lex-annex-body{font-size:14px;color:var(--text2);line-height:1.85;font-family:Georgia,'Times New Roman',serif;}
.lex-annex-body p{margin-bottom:0;margin-top:0;line-height:1.85;color:var(--text2);}
.lex-annex-body .oj-normal,.lex-annex-body .oj-ti-grseq-1{color:var(--text2);font-size:14px;font-family:Georgia,serif;line-height:1.85;margin:0;padding:0;}
.lex-annex-body .oj-ti-grseq-1{font-weight:700;font-size:12px;font-family:'Inter',sans-serif;letter-spacing:.3px;text-transform:uppercase;color:var(--text3);padding:18px 0 6px;border-top:1px solid var(--border);margin-top:12px;}
/* List tables in annexes (2-col label + text) */
.lex-annex-list-table table{width:100%;border-collapse:collapse;margin:0;font-family:Georgia,serif;}
.lex-annex-list-table table td{vertical-align:top;padding:0 10px 0 0;font-size:14px;font-family:Georgia,serif;color:var(--text2);line-height:1.85;}
.lex-annex-list-table table td:first-child{font-family:'Inter',sans-serif;font-weight:700;font-size:11px;color:var(--text3);white-space:nowrap;padding-right:10px;min-width:28px;vertical-align:top;padding-top:.2em;}
/* Data tables in annexes (multi-col) */
.lex-annex-data-table table{width:100%;border-collapse:collapse;font-size:13px;font-family:'Inter',-apple-system,sans-serif;}
.lex-annex-data-table td,.lex-annex-data-table th{border:1px solid var(--border2);padding:7px 10px;vertical-align:top;text-align:left;color:var(--text2);}
.lex-annex-data-table .oj-tbl-hdr{font-weight:600;color:var(--text);font-size:11px;letter-spacing:.3px;text-transform:uppercase;margin:0;}
.lex-annex-data-table .oj-tbl-txt{margin:0;font-size:13px;color:var(--text2);}
.lex-annex-data-table .oj-tbl-num{margin:0;font-size:13px;color:var(--text2);text-align:right;}
.lex-annex-data-table tr.oj-table:first-child td,.lex-annex-data-table tr:has(.oj-tbl-hdr) td{background:var(--bg3);}
.lex-annex-data-table tr:nth-child(even) td{background:var(--bg3);}

/* ── Article minimap ── */
.art-minimap{position:fixed;display:flex;flex-direction:column;align-items:stretch;gap:2px;z-index:50;width:38px;overflow-y:auto;overflow-x:visible;scrollbar-width:none;padding:4px 0;}
.art-minimap::-webkit-scrollbar{display:none;}
.art-minimap-btn{flex-shrink:0;font-size:10px;font-weight:600;color:var(--text3);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:5px 6px;cursor:pointer;text-align:center;white-space:nowrap;transition:background .12s,color .12s,border-color .12s;line-height:1.2;letter-spacing:.2px;min-height:24px;display:flex;align-items:center;justify-content:center;}
.art-minimap-btn:hover{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-bg2);}
.art-minimap-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}
[data-theme="dark"] .art-minimap-btn.active{color:#0f0f0f;}
.art-minimap-search{position:sticky;top:0;z-index:10;flex-shrink:0;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:999px;display:flex;align-items:center;justify-content:center;overflow:visible;min-height:26px;}
.art-minimap-search-btn{width:100%;height:26px;background:none;border:none;cursor:pointer;color:var(--text3);font-size:11px;display:flex;align-items:center;justify-content:center;transition:color .12s,background .12s;padding:0;border-radius:999px;}
.art-minimap-search-btn:hover{background:var(--accent-bg);color:var(--accent);}
.art-minimap-search.open .art-minimap-search-btn{opacity:.3;pointer-events:none;}
.art-minimap-search-input{display:none;position:fixed;width:140px;height:28px;background:var(--surface);border:1.5px solid var(--accent);border-radius:5px 0 0 5px;outline:none;font-family:inherit;font-size:12px;font-weight:600;color:var(--text);padding:0 10px;box-shadow:0 2px 12px rgba(0,0,0,.15);z-index:9999;}
.art-minimap-search.open .art-minimap-search-input{display:block;}
.art-minimap-search-input.not-found{border-color:#e74c3c !important;animation:art-shake .25s ease;}
@keyframes art-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}

/* ── Citation Tooltip ── */
#cite-tooltip{position:fixed;z-index:9999;background:var(--surface);border:1px solid var(--border2);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.16),0 0 0 1px rgba(0,0,0,.06);padding:11px 14px;max-width:460px;min-width:210px;pointer-events:auto;display:none;animation:cite-fade .13s ease;}
[data-theme="dark"] #cite-tooltip{box-shadow:0 8px 28px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.07);}
@keyframes cite-fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
#cite-tooltip .ct-label{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text3);margin-bottom:6px;display:flex;align-items:center;gap:5px;}
#cite-tooltip .ct-label em{background:var(--accent-bg);color:var(--accent);font-style:normal;border-radius:4px;padding:1px 6px;font-size:9px;}
#cite-tooltip .ct-fmts{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:7px;}
#cite-tooltip .ct-fmt{font-size:10px;font-weight:500;padding:2px 8px;border-radius:4px;border:1px solid var(--border2);background:var(--bg3);color:var(--text2);cursor:pointer;font-family:inherit;transition:all .12s;}
#cite-tooltip .ct-fmt.on{background:var(--accent-bg);color:var(--accent);border-color:var(--accent);}
#cite-tooltip .ct-text{font-size:13px;font-weight:500;color:var(--text);line-height:1.45;margin-bottom:9px;word-break:break-word;font-family:'Inter',sans-serif;}
#cite-tooltip .ct-row{display:flex;gap:6px;align-items:center;}
#cite-tooltip .ct-copy{flex:1;background:var(--accent);color:#fff;border:none;border-radius:6px;padding:7px 12px;font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:opacity .15s;}
#cite-tooltip .ct-copy:hover{opacity:.85;}
#cite-tooltip .ct-copy.ok{opacity:.65;}
#cite-tooltip .ct-close{width:28px;height:28px;border-radius:6px;border:1px solid var(--border2);background:var(--bg3);color:var(--text3);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;transition:background .12s,color .12s;}
#cite-tooltip .ct-close:hover{background:var(--border);color:var(--text);}

/* ── Judgment / non-legislation viewer ── */
.judgment-iframe-wrap{max-width:840px;margin:0 auto;width:100%;}
.eurlex-doc-body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.7;color:var(--text);}
.eurlex-doc-body a{color:var(--accent);}
.eurlex-doc-body *{background:transparent !important;}
.eurlex-doc-body table{border-collapse:collapse;width:100%;margin:16px 0;font-size:13px;}
.eurlex-doc-body th,.eurlex-doc-body td{border:1px solid var(--border2);padding:6px 10px;text-align:left;vertical-align:top;}
.eurlex-doc-body th{background:var(--bg3) !important;font-weight:600;color:var(--text);}
.eurlex-doc-body tr:nth-child(even) td{background:var(--bg3) !important;}
