/* lex-search-v1 - professional search for /recherche
 * Same look as the site's collection cards: paper, ink, gold.
 * Every color goes through the theme variables (dark mode included). */

.lexs{--lexs-focus: var(--gold-ink); font-family: var(--sans); color: var(--ink); display: grid; gap: 1rem;}

/* screen-reader-only label for the search input */
.lexs-srlabel{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* ---- barre de recherche ---- */
.lexs-bar{position: relative; display: flex; align-items: stretch; gap: .55rem;}
.lexs-input-wrap{position: relative; flex: 1; min-width: 0; display: flex; align-items:center;
  background: var(--paper-raised); border: 1.5px solid var(--line-strong); border-radius: 14px;
  box-shadow: var(--shadow-1); transition: border-color .18s ease, box-shadow .18s ease;}
.lexs-input-wrap:focus-within{border-color: var(--lexs-focus); box-shadow: 0 0 0 3px var(--gold-glow), var(--shadow-1);}
.lexs-magnifier{flex: 0 0 auto; display: grid; place-items: center; width: 3.1rem; color: var(--ink-faint); pointer-events: none;}
.lexs-input{flex: 1; min-width: 0; border: 0; background: transparent; color: var(--ink);
  font: 500 1.06rem/1.35 var(--sans); padding: .95rem .3rem .95rem 0;}
.lexs-input::placeholder{color: var(--ink-faint);}
.lexs-input:focus{outline: none;}
.lexs-clear{flex: 0 0 auto; border: 0; background: transparent; color: var(--ink-faint);
  width: 2.75rem; height: 2.75rem; display: none; place-items: center; cursor: pointer; border-radius: 50%;}
.lexs-clear:hover, .lexs-clear:focus-visible{color: var(--ink); background: var(--paper-sunken);}
.lexs-clear:focus-visible{outline: 2px solid var(--lexs-focus); outline-offset: 1px;}
.lexs-bar.has-q .lexs-clear{display: grid;}
.lexs-go{flex: 0 0 auto; display: inline-flex; align-items: center; gap: .5rem; padding: 0 1.15rem;
  border: 0; border-radius: 14px; background: var(--green); color: var(--paper-raised);
  font: 800 .95rem/1 var(--sans); letter-spacing: .01em; cursor: pointer; box-shadow: var(--shadow-1);
  transition: transform .15s ease, background-color .15s ease;}
.lexs-go:hover{background: var(--green-deep);}
.lexs-go:active{transform: translateY(1px);}
.lexs-go:focus-visible{outline: 2px solid var(--lexs-focus); outline-offset: 2px;}
.lexs-bar .lexs-go .material-symbols-rounded{font-size: 1.15rem;}
@media (max-width: 42rem){
  .lexs-bar{flex-wrap: wrap;}
  .lexs-input-wrap{order: 1; flex-basis: 100%;}
  .lexs-go{order: 2; flex: 1; justify-content: center; padding: .95rem;}
}

/* suggestion dropdown */
.lexs-sugg{position: absolute; z-index: 40; left: 0; right: 0; top: calc(100% + .45rem);
  background: var(--bg-elevated); border: 1px solid var(--line-strong); border-radius: 14px;
  box-shadow: var(--shadow-3); overflow: hidden; max-height: min(26rem, 62vh); overflow-y: auto;}
.lexs-sugg[hidden]{display: none;}
.lexs-sugg-item{display: flex; align-items: center; gap: .65rem; width: 100%; text-align: left;
  padding: .6rem .85rem; border: 0; background: transparent; cursor: pointer; color: var(--ink);}
.lexs-sugg-item + .lexs-sugg-item{border-top: 1px solid var(--line);}
.lexs-sugg-item:hover, .lexs-sugg-item[aria-selected="true"]{background: var(--gold-glow);}
.lexs-sugg-item:focus-visible{outline: 2px solid var(--lexs-focus); outline-offset: -2px;}
.lexs-sugg-main{min-width: 0; flex: 1;}
.lexs-sugg-title{font: 600 .99rem/1.3 var(--serif); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.lexs-sugg-meta{font: 400 .78rem/1.3 var(--sans); color: var(--ink-faint); margin-top: .1rem;}
.lexs-sugg-more{display: block; width: 100%; text-align: center; padding: .6rem; border: 0;
  border-top: 1px solid var(--line); background: transparent; color: var(--gold-ink);
  font: 700 .82rem/1 var(--sans); cursor: pointer;}
.lexs-sugg-more:hover{background: var(--gold-glow);}

/* ---- compréhension de la requête ---- */
.lexs-understood{display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: -.15rem 0 -.15rem;}
.lexs-understood[hidden]{display: none;}
.lexs-understood .lexs-klabel{font: 400 .82rem/1 var(--sans); color: var(--ink-faint);}
.lexs-uchip{display: inline-flex; align-items: center; gap: .4rem; padding: .38rem .55rem .38rem .8rem;
  border-radius: 999px; border: 1px solid var(--gold-soft); background: var(--gold-pale);
  color: var(--ink); font: 600 .82rem/1 var(--sans);}
.lexs-uchip .material-symbols-rounded{font-size: 1rem; color: var(--gold-ink);}
.lexs-uchip button{border: 0; background: transparent; color: var(--gold-ink); cursor: pointer;
  display: grid; place-items: center; width: 1.35rem; height: 1.35rem; border-radius: 50%;}
.lexs-uchip button:hover{background: rgba(138, 100, 16, .14);}
.lexs-uchip button:focus-visible{outline: 2px solid var(--lexs-focus); outline-offset: 1px;}
[data-theme="dark"] .lexs-uchip{background: rgba(217, 180, 90, .13); color: var(--ink);}

/* ---- onglets de type ---- */
.lexs-tabs{display: flex; gap: .45rem; overflow-x: auto; padding-bottom: .25rem;
  scrollbar-width: thin; -webkit-overflow-scrolling: touch;}
.lexs-tabs::-webkit-scrollbar{height: 4px;}
.lexs-tabs::-webkit-scrollbar-thumb{background: var(--line-strong); border-radius: 4px;}
.lexs-tab{flex: 0 0 auto; display: inline-flex; align-items: center; gap: .38rem; min-height: 2.45rem;
  padding: .45rem .9rem; border-radius: 999px; border: 1px solid var(--line-strong);
  background: var(--paper-raised); color: var(--ink-soft); font: 700 .86rem/1 var(--sans);
  cursor: pointer; transition: background-color .15s ease, color .15s ease, border-color .15s ease;}
.lexs-tab:hover{border-color: var(--gold-soft); color: var(--ink);}
.lexs-tab:focus-visible{outline: 2px solid var(--lexs-focus); outline-offset: 2px;}
.lexs-tab[aria-pressed="true"]{background: var(--green); border-color: var(--green); color: var(--paper-raised);}
.lexs-tab .material-symbols-rounded{font-size: 1.05rem;}
.lexs-tab .lexs-tab-n{font-weight: 800; font-size: .78rem; opacity: .75;}

/* ---- sections de résultats ---- */
.lexs-section{display: grid; gap: .55rem;}
.lexs-sechead{display: flex; align-items: baseline; gap: .6rem; margin-top: .35rem;}
.lexs-sechead h2{margin: 0; font: 800 .78rem/1 var(--sans); letter-spacing: .12em; text-transform: uppercase;
  color: var(--gold-ink);}
.lexs-sechead .lexs-count{font: 400 .8rem/1 var(--sans); color: var(--ink-faint);}
.lexs-results{display: grid; gap: .55rem;}

.lexs-card{position: relative; display: block; padding: .8rem .95rem; border: 1px solid var(--line);
  border-radius: var(--radius); background: var(--paper-raised); color: var(--ink); text-decoration: none;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;}
.lexs-card:hover{border-color: var(--gold-soft); box-shadow: var(--shadow-2); transform: translateY(-1px);}
.lexs-card:focus-visible{outline: 2px solid var(--lexs-focus); outline-offset: 2px;}
.lexs-card-top{display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-bottom: .3rem;}
.lexs-badge{display: inline-flex; align-items: center; padding: .22rem .55rem; border-radius: 6px;
  background: var(--gold-pale); color: var(--gold-ink); font: 800 .68rem/1 var(--sans);
  letter-spacing: .06em; text-transform: uppercase;}
[data-theme="dark"] .lexs-badge{background: rgba(217, 180, 90, .16);}
.lexs-ref{font: 600 .78rem/1 var(--sans); color: var(--ink-faint); letter-spacing: .02em;}
.lexs-year{font: 400 .78rem/1 var(--sans); color: var(--ink-faint);}
.lexs-dot{color: var(--line-strong);}
.lexs-status{display: inline-flex; align-items: center; gap: .28rem; padding: .2rem .5rem; border-radius: 6px;
  font: 700 .68rem/1 var(--sans); letter-spacing: .04em; text-transform: uppercase;}
.lexs-status.s1{color: var(--vigueur); background: var(--vigueur-bg);}
.lexs-status.s2{color: var(--abroge); background: var(--abroge-bg);}
.lexs-status.s3{color: var(--caduc); background: var(--caduc-bg);}
.lexs-status.s4{color: var(--neutre); background: var(--neutre-bg);}
.lexs-title{font: 600 1.02rem/1.35 var(--serif); color: var(--ink); margin: 0 0 .2rem;}
.lexs-excerpt{font: 400 .88rem/1.55 var(--sans); color: var(--ink-soft); margin: 0;}
.lexs-excerpt mark{background: var(--gold-pale); color: inherit; border-radius: 3px; padding: 0 .1em;}
[data-theme="dark"] .lexs-excerpt mark{background: rgba(217, 180, 90, .28); color: inherit;}
.lexs-excerpt .lexs-ellipsis{color: var(--ink-faint);}
.lexs-subs{display: grid; gap: .3rem; margin-top: .45rem; padding-left: .2rem;}
.lexs-subs a{display: inline-flex; align-items: baseline; gap: .45rem; font: 400 .85rem/1.4 var(--sans);
  color: var(--green); text-decoration: none;}
.lexs-subs a:hover{text-decoration: underline; color: var(--green-deep);}
.lexs-subs a:focus-visible{outline: 2px solid var(--lexs-focus); outline-offset: 2px; border-radius: 3px;}
.lexs-subs .material-symbols-rounded{font-size: .95rem; translate: 0 2px;}

.lexs-more{justify-self: center; display: inline-flex; align-items: center; gap: .45rem; min-height: 2.6rem;
  padding: .55rem 1.4rem; border-radius: 999px; border: 1.5px solid var(--line-strong);
  background: transparent; color: var(--ink); font: 700 .88rem/1 var(--sans); cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease;}
.lexs-more:hover{border-color: var(--gold-soft); background: var(--gold-glow);}
.lexs-more:focus-visible{outline: 2px solid var(--lexs-focus); outline-offset: 2px;}

/* ---- états ---- */
.lexs-note{font: 400 .85rem/1.5 var(--sans); color: var(--ink-faint); display: flex; align-items: center; gap: .5rem;}
.lexs-note .material-symbols-rounded{font-size: 1.1rem;}
.lexs-empty{padding: 1.4rem 1.2rem; border: 1px dashed var(--line-strong); border-radius: var(--radius-lg);
  background: var(--paper-sunken); display: grid; gap: .7rem; justify-items: start;}
.lexs-empty h3{margin: 0; font: 600 1.05rem/1.3 var(--serif); color: var(--ink);}
.lexs-empty p{margin: 0; font: 400 .88rem/1.55 var(--sans); color: var(--ink-soft);}
.lexs-empty-chips{display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .2rem;}
.lexs-empty-chips a{display: inline-flex; align-items: center; gap: .35rem; padding: .5rem .85rem;
  border-radius: 999px; border: 1px solid var(--gold-soft); color: var(--gold-ink); background: transparent;
  font: 700 .84rem/1 var(--sans); text-decoration: none; cursor: pointer;}
.lexs-empty-chips a:hover{background: var(--gold-glow);}
.lexs-empty-chips a:focus-visible{outline: 2px solid var(--lexs-focus); outline-offset: 2px;}
.lexs-empty-chips a .material-symbols-rounded{font-size: 1rem;}

/* collection shortcut card (query = un seul mot-type) */
.lexs-browse{display: flex; align-items: center; gap: .9rem; padding: .95rem 1.1rem;
  border: 1px solid var(--gold-soft); border-radius: var(--radius); background: var(--gold-glow);
  color: var(--ink); text-decoration: none; transition: box-shadow .15s ease, transform .15s ease;}
.lexs-browse:hover{box-shadow: var(--shadow-2); transform: translateY(-1px);}
.lexs-browse:focus-visible{outline: 2px solid var(--lexs-focus); outline-offset: 2px;}
.lexs-browse .material-symbols-rounded{font-size: 1.5rem; color: var(--gold-ink);}
.lexs-browse-main{flex: 1; min-width: 0;}
.lexs-browse-main strong{display: block; font: 600 1.02rem/1.3 var(--serif);}
.lexs-browse-main span{font: 400 .82rem/1.4 var(--sans); color: var(--ink-soft);}
.lexs-browse .material-symbols-rounded.arrow{font-size: 1.2rem; color: var(--gold-ink);}

.lexs-hint{font: 400 .8rem/1.5 var(--sans); color: var(--ink-faint); margin: -.2rem 0 0;}
.lexs-hint b{font-weight: 700; color: var(--ink-soft);}

@media (prefers-reduced-motion: reduce){
  .lexs *, .lexs{transition: none !important; transform: none !important;}
}
/* Lucide/Phosphor-style inline svg baseline */
.lexs .lexs-icon{flex: 0 0 auto; width: 1.25rem; height: 1.25rem; stroke: currentColor; stroke-width: 2;
  fill: none; stroke-linecap: round; stroke-linejoin: round;}
