/* The reader's stylesheet (PLAN.md 11.3). The first part started as the WL0 stand-in for EUR-Lex's oj-convex.css
   (files-to-claude/lex-spike/www/oj.css: the oj-*, eli-* and consolidated classes); the modern look is WL2. */
body { margin: 0; font: 16px/1.55 Georgia, "Times New Roman", serif; color: #1b1b1b; background: #fff; }
#docHtml { max-width: 46em; margin: 0 auto; padding: 1rem 1.2rem 4rem; }
p { margin: 0 0 .7em; }
.oj-normal, .norm { text-align: justify; }
.oj-doc-ti, .title-doc-first, .title-doc-last, .eli-main-title { font-weight: bold; text-align: center; margin: 1.2em 0 .6em; }
.oj-ti-section-1, .oj-ti-section-2, .title-division-1, .title-division-2 { text-align: center; font-weight: bold; margin: 1.6em 0 .4em; letter-spacing: .02em; }
.oj-ti-grseq-1 { text-align: center; font-weight: bold; }
.oj-ti-art, .title-article-norm, .Titrearticle { text-align: center; font-weight: bold; margin: 2em 0 .2em; }
.oj-sti-art, .stitle-article-norm { text-align: center; font-style: italic; margin: 0 0 .9em; }
.oj-hd-date, .oj-hd-lg, .oj-hd-ti, .oj-hd-oj { font-size: .85em; color: #555; }
.oj-separator, .separator, .oj-doc-sep, .oj-doc-end { border: 0; border-top: 1px solid #bbb; margin: 1.5em 0; }
.oj-table, table { border-collapse: collapse; width: 100%; margin: .4em 0 .9em; }
.oj-table td, .oj-table th, table td { vertical-align: top; padding: .15em .5em .15em 0; }
.oj-tbl-hdr { font-weight: bold; }
/* OJ numbered points are two-column tables (<col width="4%"><col width="96%">, no class): the label "(a)" must not
   wrap onto three lines in the narrow first column on phones; the text column takes the rest. Data tables are .oj-table. */
#docHtml table:not(.oj-table) td:first-child { white-space: nowrap; width: 1%; padding-right: .6em; }
#docHtml table:not(.oj-table) td:first-child + td { width: auto; }
.oj-ti-tbl { font-weight: bold; text-align: center; }
.oj-note, .footnote { font-size: .85em; color: #333; }
.oj-note-tag, .oj-super, .superscript { vertical-align: super; font-size: .75em; }
.oj-sub { vertical-align: sub; font-size: .75em; }
.oj-bold, .boldface { font-weight: bold; }
.oj-italic, .italics { font-style: italic; }
.oj-expanded, .expanded { letter-spacing: .1em; }
.oj-center { text-align: center; }
.oj-signatory, .oj-final { text-align: right; margin-top: 1.5em; }
.oj-quotation { margin: .5em 0 .5em 1.5em; }
.modref, .arrow { color: #777; font-size: .85em; }
.disclaimer { font-size: .85em; color: #555; border: 1px solid #ddd; padding: .6em; margin: 1em 0; }
img[src$="europeanflag.gif"] { display: none; }

/* The page around the act: slim sticky header, error pages, footer (PLAN.md 11.3.b, d) */
.eureka-lex-head {
  position: sticky; top: 0; z-index: 10;
  display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem;
  font: 14px/1.4 system-ui, -apple-system, "Segoe UI", sans-serif;
  padding: .45rem 1.2rem; background: #F6F7FB; border-bottom: 1px solid #E3E6EE;
}
/* the brand (eureka-brand/tokens, 2026-10-16): navy #1B2540 for ink, blue #2A4FD0 for links and buttons */
.eureka-lex-head a { color: #2A4FD0; text-decoration: none; }
.eureka-lex-head a:hover { text-decoration: underline; }
.eureka-lex-brand { display: inline-flex; align-items: center; }
.eureka-lex-brand img { display: block; height: 24px; width: auto; }
.eureka-lex-act { font-weight: 600; max-width: 40vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.eureka-lex-current { color: #6b7280; min-width: 0; max-width: 30vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.eureka-lex-current::before { content: "\00B7\00A0"; }
.eureka-lex-current:empty { display: none; }
.eureka-lex-user { margin-left: auto; white-space: nowrap; }
.eureka-lex-notice { font: 14px/1.4 system-ui, -apple-system, "Segoe UI", sans-serif; margin: 0; padding: .45rem 1.2rem; background: #fff8e1; border-bottom: 1px solid #f0e0a8; color: #5c4400; }
.eureka-lex-notice a { color: #2A4FD0; }
.eureka-lex-box { font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; max-width: 40rem; margin: 3rem auto; padding: 0 1.2rem; }
.eureka-lex-box h1 { font-size: 1.6rem; margin: 0 0 1rem; color: #1B2540; }
.eureka-lex-find { display: grid; grid-template-columns: 1fr auto auto; gap: .4rem .6rem; align-items: end; }
.eureka-lex-find label { grid-row: 1; font-size: .85rem; color: #555; }
/* explicit cells: the long first label must not push the input into the third column */
.eureka-lex-find label[for="lex-q"] { grid-column: 1; }
.eureka-lex-find input { grid-column: 1; grid-row: 2; min-width: 0; }
.eureka-lex-find label[for="lex-lang"] { grid-column: 2; }
.eureka-lex-find select { grid-column: 2; grid-row: 2; }
.eureka-lex-find button { grid-column: 3; grid-row: 2; }
.eureka-lex-find input, .eureka-lex-find select, .eureka-lex-find button { font: inherit; padding: .4rem .6rem; }
.eureka-lex-find button { background: #2A4FD0; color: #fff; border: 0; border-radius: 4px; cursor: pointer; }
.eureka-lex-find button:hover { background: #1B2540; }
.eureka-lex-error { color: #a00; }
.eureka-lex-foot { font: 13px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; color: #555; padding: 1rem 1.2rem 2rem; max-width: 46em; margin: 0 auto; border-top: 1px solid #ddd; }
.eureka-lex-foot a { color: #2A4FD0; }
@media (max-width: 767px) {
  body { font-size: 17px; }
  #docHtml { padding: .8rem .9rem 6rem; }
  .eureka-lex-head { padding: .4rem .9rem; }
  .eureka-lex-act { max-width: 50vw; }
  /* the current article takes the act title's place, one line with an ellipsis */
  .eureka-lex-head.has-current .eureka-lex-act { display: none; }
  .eureka-lex-current { flex: 1 1 0; max-width: none; color: inherit; font-weight: 600; }
  .eureka-lex-current::before { content: none; }
  .eureka-lex-find { grid-template-columns: 1fr; }
  .eureka-lex-find label, .eureka-lex-find input, .eureka-lex-find select, .eureka-lex-find button { grid-row: auto; grid-column: 1; }
}
/* the bundle's bottom bar (56 px) must not cover the end of the page; the bundle sets html.eureka-phone */
html.eureka-phone body { padding-bottom: 56px; }

/* Search (PLAN.md 11.10, WL5): the definition page and the landing's lists */
.eureka-lex-def { font: 16px/1.55 system-ui, -apple-system, "Segoe UI", sans-serif; max-width: 46em; margin: 2rem auto; padding: 0 1.2rem 2rem; }
.eureka-lex-def h1 { font-size: 1.8rem; margin: 0 0 .3rem; }
.eureka-lex-def h2 { font-size: 1.1rem; margin: 2rem 0 .5rem; }
.eureka-lex-def a, .eureka-lex-list a { color: #2A4FD0; }
.eureka-lex-def-source { color: #555; margin: 0 0 1.2rem; }
.eureka-lex-def-text { font-family: Georgia, "Times New Roman", serif; font-size: 1.05rem; border-left: 3px solid #2A4FD0; padding: .2rem 0 .2rem 1rem; }
.eureka-lex-def-open a { display: inline-block; margin-top: 1rem; padding: .45rem .9rem; background: #2A4FD0; color: #fff !important; border-radius: 4px; text-decoration: none; }
.eureka-lex-def ul, .eureka-lex-list { padding-left: 1.2rem; }
.eureka-lex-def li, .eureka-lex-list li { margin: 0 0 .45rem; }
.eureka-lex-def-celex, .eureka-lex-celex { color: #6b7280; font-size: .85em; }
.eureka-lex-def-quote { color: #333; font-size: .92em; }
.eureka-lex-langs a { font-size: .8em; margin-right: .2em; }
.eureka-lex-box h2 { font-size: 1.15rem; margin: 2rem 0 .6rem; }

/* The AI's suggestion when a search finds nothing (PLAN.md 12.7, lex/suggest.js) */
.eureka-lex-suggest { display: flex; align-items: center; gap: .5em; margin: .5em 0 1em; }
.eureka-lex-suggest[hidden] { display: none; }
.eureka-lex-spinner { flex: none; width: 1em; height: 1em; border: 2px solid #D5DCF5; border-top-color: #2A4FD0;
  border-radius: 50%; animation: eureka-lex-spin .8s linear infinite; }
@keyframes eureka-lex-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .eureka-lex-spinner { animation-duration: 2.4s; } }
.eureka-lex-ai { display: inline-block; margin-left: .25em; padding: 0 .4em; border-radius: .6em; font-size: .8em;
  background: #EEF1FC; color: #2A4FD0; vertical-align: middle; }
