/* Petit Canard V6.59 — panneau « Ma sélection » du catalogue.
   Chargé uniquement sur la bibliothèque. */

/* ============================================================
   V6.58 — Catalogue : panneau « Ma sélection »
   ============================================================ */
.selection-bar{
  max-width:calc(100vw - 24px)!important;
}
.selection-bar-count{
  white-space:nowrap;
  font-weight:800;
}
.selection-bar .btn-selection-open{
  background:#fff!important;
  color:#27202d!important;
  border:1px solid #fff!important;
}
.selection-bar .btn-selection-open:hover,
.selection-bar .btn-selection-open:focus-visible{
  background:#f4f0fb!important;
  border-color:#f4f0fb!important;
}
.selection-panel{
  width:min(760px,calc(100vw - 30px));
  max-width:760px;
  max-height:min(84dvh,820px);
  padding:0;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  color:var(--text);
  box-shadow:0 28px 90px rgba(27,21,39,.28);
}
.selection-panel::backdrop{
  background:rgba(24,19,33,.38);
  backdrop-filter:blur(2px);
}
.selection-panel[open]{
  display:block;
}
.selection-panel-inner{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  max-height:min(84dvh,820px);
}
.selection-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:20px 22px 16px;
  border-bottom:1px solid var(--line);
}
.selection-panel-head h2{
  margin:2px 0 4px;
}
.selection-panel-head .eyebrow{
  margin:0;
}
.selection-panel-list{
  overflow:auto;
  overscroll-behavior:contain;
  padding:10px 22px;
}
.selection-panel-book{
  display:grid;
  grid-template-columns:76px minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  padding:11px 0;
  border-bottom:1px solid var(--line);
}
.selection-panel-book:last-child{
  border-bottom:0;
}
.selection-panel-cover{
  width:76px;
  height:106px;
  display:block;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--soft);
}
.selection-panel-cover img,
.selection-panel-cover .cover-placeholder{
  width:100%!important;
  height:100%!important;
  display:grid;
  place-items:center;
  object-fit:cover!important;
}
.selection-panel-cover .cover-placeholder{
  padding:6px;
  font-size:.64rem;
  text-align:center;
}
.selection-panel-book-copy{
  min-width:0;
  display:grid;
  gap:5px;
}
.selection-panel-book-title{
  width:max-content;
  max-width:100%;
  color:var(--text);
  font-weight:900;
  text-decoration:none;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.selection-panel-book-title:hover{
  text-decoration:underline;
}
.selection-panel-book-tags{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
}
.selection-panel-book-tags .tag{
  font-size:.67rem;
  padding:4px 7px;
}
.selection-panel-remove{
  min-height:38px;
  padding:7px 10px;
  border:1px solid #e2b4bf;
  border-radius:10px;
  background:#fff7f9;
  color:#9b3855;
  font:inherit;
  font-size:.78rem;
  font-weight:800;
  cursor:pointer;
}
.selection-panel-remove:hover,
.selection-panel-remove:focus-visible{
  background:#ffe9ef;
}
.selection-panel-empty{
  padding:42px 20px;
  text-align:center;
}
.selection-panel-empty p{
  margin:7px 0 0;
  color:var(--muted);
}
.selection-panel-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:15px 22px 20px;
  border-top:1px solid var(--line);
  background:#fbfafc;
}
.selection-panel-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.btn-selection-clear{
  background:#fff!important;
  border:1px solid #d7cfd8!important;
  color:#665966!important;
}
.btn-selection-clear:hover:not(:disabled){
  background:#f5f1f5!important;
}
.selection-panel .btn-selection-request{
  background:#6d4be6!important;
  border:1px solid #6d4be6!important;
  color:#fff!important;
}
.selection-panel .btn-selection-export{
  background:#138a78!important;
  border:1px solid #138a78!important;
  color:#fff!important;
}
.selection-panel .is-disabled,
.selection-panel button:disabled{
  opacity:.45!important;
  pointer-events:none!important;
}

@media(max-width:640px){
  .selection-bar{
    width:calc(100% - 16px)!important;
    display:none;
    grid-template-columns:minmax(0,1fr) auto;
    border-radius:16px!important;
    padding:8px!important;
  }
  .selection-bar.show{
    display:grid!important;
  }
  .selection-bar .selection-bar-actions{
    display:none!important;
  }
  .selection-bar-count{
    padding-left:5px;
    white-space:normal;
  }
  .selection-panel{
    width:calc(100vw - 12px)!important;
    max-width:none!important;
    max-height:calc(100dvh - 12px)!important;
    margin:6px auto!important;
    border-radius:18px!important;
  }
  .selection-panel-inner{
    max-height:calc(100dvh - 12px)!important;
  }
  .selection-panel-head{
    padding:15px 14px 12px;
  }
  .selection-panel-list{
    padding:6px 14px;
  }
  .selection-panel-book{
    grid-template-columns:58px minmax(0,1fr) auto;
    gap:9px;
  }
  .selection-panel-cover{
    width:58px;
    height:82px;
  }
  .selection-panel-remove{
    min-width:44px;
    min-height:44px;
    padding:7px;
    font-size:0;
  }
  .selection-panel-remove::after{
    content:'×';
    font-size:1.4rem;
    line-height:1;
  }
  .selection-panel-footer{
    display:grid;
    grid-template-columns:1fr;
    padding:12px 14px max(14px,env(safe-area-inset-bottom));
  }
  .selection-panel-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .selection-panel-footer>.btn,
  .selection-panel-actions>.btn{
    width:100%!important;
    text-align:center!important;
  }
}
@media(max-width:390px){
  .selection-panel-actions{
    grid-template-columns:1fr;
  }
  .selection-panel-book{
    grid-template-columns:52px minmax(0,1fr) 44px;
  }
  .selection-panel-cover{
    width:52px;
    height:74px;
  }
}
