/* Petit Canard V5.00 — CSS consolidé, sans couches de correctifs historiques. */
/*
  Échelle de points de rupture de référence — 16/08/2026.
  Le fichier contient encore ~250 media queries historiques sur une vingtaine
  de valeurs différentes (380 à 1180px) : les migrer toutes d'un coup sans
  vérification visuelle page par page risquerait de casser des mises en page
  qui fonctionnent. Cette échelle sert de référence pour tout nouveau code
  et pour une migration progressive, page par page, avec Claude Code :
    480px  — petits mobiles
    640px  — mobiles
    768px  — tablettes portrait
    1024px — tablettes paysage / petits écrans
    1280px — bureau
  Les valeurs existantes proches (ex. 520/540 -> 480, 700/720/760 -> 768)
  peuvent être fusionnées une section à la fois, en comparant visuellement
  avant/après à chaque changement.
*/
:root{
  --ink:#17171a;
  --muted:#65656f;
  --line:#e7e5eb;
  --paper:#fff;
  --soft:#f8f7fb;
  --purple:#8b7fdb;
  --pink:#f34f86;
  --green:#3e9a58;
  --amber:#d88920;
  --red:#cc4251;
  --shadow:0 16px 45px rgba(34,24,73,.09);
  --radius:22px;
  --font-voice:Georgia,'Times New Roman',serif;
  /*
    Palette douce de référence — 16/08/2026, validée avec l'association.
    --purple ci-dessus a été mis à jour (lavande) : c'est la seule couleur
    du fichier réellement pilotée par une variable partout où elle compte
    (boutons, liens actifs, focus). Les couleurs ci-dessous sont la suite
    de cette palette (rose poudré, menthe, pêche, corail) : à utiliser pour
    toute nouvelle règle, et à substituer progressivement, section par
    section et avec vérification visuelle, aux couleurs actuellement
    écrites en dur dans le fichier (badges, catégories, statuts...).
    --red n'est volontairement pas remplacé par le corail : il reste
    réservé aux messages d'erreur et signalements urgents (.error,
    badge "à traiter"), où une couleur franche reste utile.
  */
  --soft-rose:#e88ca8;
  --soft-mint:#6fb3ac;
  --soft-peach:#e8a87c;
  --soft-coral:#d97d7d;
  /*
    Échelle typographique de référence — 16/08/2026.
    ~70 valeurs de font-size différentes existent encore dans ce fichier
    (de .52rem à 5rem), accumulées au fil des évolutions. Cette échelle sert
    de cible pour tout nouveau texte et pour une convergence progressive,
    section par section, sans réécriture globale risquée :
  */
  --text-xs:.75rem;
  --text-sm:.875rem;
  --text-base:1rem;
  --text-lg:1.125rem;
  --text-xl:1.35rem;
  --text-2xl:1.75rem;
  --text-3xl:2.25rem;
  --text-4xl:3rem;
}
*{
  box-sizing:border-box;
}
html{
  scroll-behavior:smooth;
}
body{
  margin:0;
  font:16px/1.55 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--ink);
  background:#fff;
}
a{
  color:inherit;
}
img{
  max-width:100%;
  display:block;
}
button,input,select,textarea{
  font:inherit;
}
.container{
  margin:auto;
}
.skip{
  position:absolute;
  left:-9999px;
}
.skip:focus{
  left:16px;
  top:16px;
  background:#111;
  color:#fff;
  padding:10px 14px;
  z-index:999;
}
.rainbow-line{
  height:7px;
  background:linear-gradient(90deg,#fa4646,#ff9e2f,#ffe260,#61c86a,#42bee5,#7656e9,#f16cb1);
}
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.nav{
  min-height:104px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  flex:none;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:4px;
}
.nav-links a{
  padding:10px 12px;
  text-decoration:none;
  border-radius:999px;
  font-weight:700;
  font-size:.94rem;
}
.nav-links a:hover,.nav-links a[aria-current=page]{
  background:#f3efff;
  color:#5739d6;
}
.admin-link{
  border:1.5px solid #7a56ea!important;
  color:#5838d8!important;
  padding-inline:17px!important;
}
.menu-btn{
  display:none;
  border:0;
  background:none;
  font-size:1.6rem;
  min-width:44px;
  min-height:44px;
}
.page-band{
  padding:54px 0 44px;
  border-bottom:1px solid rgba(0,0,0,.04);
}
.page-band h1{
  font-size:clamp(2.4rem,5vw,4.4rem);
  line-height:1.02;
  letter-spacing:-.045em;
  margin:0 0 12px;
}
.page-band p{
  max-width:780px;
  font-size:1.08rem;
  margin:0;
}
.hero{
  position:relative;
  overflow:hidden;
  padding:72px 0 68px;
}
.hero:before,.hero:after{
  content:"";
  position:absolute;
  inset:auto -8% -32% -8%;
  height:62%;
  background:rgba(255,255,255,.18);
  border-radius:50% 50% 0 0;
  transform:rotate(-3deg);
}
.hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  align-items:center;
  gap:35px;
}
.hero h1{
  font-size:clamp(3rem,5.7vw,5.6rem);
  line-height:1.03;
  letter-spacing:-.03em;
  margin:0 0 24px;
  font-family:var(--font-voice,Georgia,'Times New Roman',serif);
  font-weight:400;
}
.hero h1 span{
  display:block;
  white-space:nowrap;
}
.hero p{
  font-size:1.2rem;
  max-width:690px;
}
.hero-art img{
  max-height:470px;
  margin:auto;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 18px;
  border-radius:999px;
  border:0;
  text-decoration:none;
  font-weight:800;
  cursor:pointer;
}
.btn-primary{
  background:#17171a;
  color:#fff;
}
.btn-outline{
  border:1px solid var(--line);
  background:#fff;
}
.btn-purple{
  background:#6d4be6;
  color:#fff;
}
.benefits{
  position:relative;
  z-index:2;
  margin-top:30px;
}
.benefits-panel{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  background:#fff;
  border-radius:28px;
  padding:22px 18px;
  box-shadow:var(--shadow);
}
.benefit{
  display:grid;
  grid-template-columns:76px 1fr;
  align-items:center;
  gap:14px;
  padding:12px 24px;
}
.benefit+.benefit{
  border-left:1px solid var(--line);
}
.benefit-icon{
  width:62px;
  height:62px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:1.7rem;
  font-weight:900;
}
.benefit:nth-child(1) .benefit-icon{
  background:#ece7fc;
}
.benefit:nth-child(2) .benefit-icon{
  background:#fde3eb;
}
.benefit:nth-child(3) .benefit-icon{
  background:#e2f3e6;
}
.benefit h3{
  margin:0 0 4px;
  font-size:1.12rem;
}
.benefit p{
  margin:0;
  color:var(--muted);
  font-size:.96rem;
}
section{
  padding:64px 0;
}
.section-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  margin-bottom:26px;
}
.section-head h2{
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1;
  margin:0;
}
.section-head p{
  max-width:650px;
  color:var(--muted);
}
.soft{
  background:var(--soft);
}
.cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.card{
  border:1px solid var(--line);
  background:#fff;
  border-radius:var(--radius);
  padding:22px;
  box-shadow:0 8px 25px rgba(35,28,72,.04);
}
.catalog-toolbar{
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  margin-bottom:16px;
}
.search{
  position:relative;
}
.search input{
  width:100%;
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 48px 14px 16px;
}
.search svg{
  position:absolute;
  right:16px;
  top:14px;
  width:20px;
}
.filters-row{
  display:grid;
  grid-template-columns:repeat(7,minmax(125px,1fr));
  gap:10px;
  margin-bottom:24px;
}
.filters-row select,.filters-row label{
  width:100%;
  min-height:46px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:12px;
  padding:10px 12px;
}
.filters-row label{
  display:flex;
  align-items:center;
  gap:8px;
}
.book-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.book-card{
  position:relative;
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  min-width:0;
  transition:transform .2s ease,box-shadow .2s ease;
}
.book-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow);
}
.book-card.favorite{
  border:3px solid #f15b8c;
}
.book-cover{
  aspect-ratio:3/4;
  background:linear-gradient(135deg,#fde4ef,#dfd7ff,#d5f1e5);
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
}
.cover-placeholder{
  padding:24px;
  text-align:center;
  font-size:1.35rem;
  font-weight:900;
}
.badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:5px 9px;
  font-size:.74rem;
  font-weight:900;
}
.badge-new{
  position:absolute;
  left:10px;
  top:10px;
  background:#f14a7d;
  color:#fff;
}
.badge-heart{
  position:absolute;
  right:10px;
  top:10px;
  background:#fff;
  color:#e83f72;
}
.book-body{
  padding:14px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.book-body h3{
  font-size:1.08rem;
  line-height:1.25;
  margin:0 0 6px;
}
.meta{
  color:var(--muted);
  font-size:.88rem;
}
.tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:11px 0;
}
.tag{
  padding:4px 8px;
  border-radius:999px;
  background:#f0ecff;
  color:#5239c5;
  font-size:.75rem;
}
.tag.green{
  background:#e9f7e8;
  color:#31763e;
}
.book-body .btn{
  margin-top:auto;
}
.carousel-wrap{
  position:relative;
}
.carousel{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(230px,280px);
  gap:18px;
  overflow:auto;
  scroll-snap-type:x mandatory;
  padding:5px 3px 18px;
}
.carousel>*{
  scroll-snap-align:start;
}
.carousel-control{
  position:absolute;
  top:42%;
  z-index:3;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:var(--shadow);
  font-size:1.3rem;
}
.carousel-control.prev{
  left:-18px;
}
.carousel-control.next{
  right:-18px;
}
.spotlight{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:28px;
  align-items:center;
  border:1px solid var(--line);
  background:#fff;
  border-radius:28px;
  padding:24px;
  box-shadow:var(--shadow);
}
.spotlight .book-cover{
  border-radius:16px;
}
.spotlight blockquote{
  font-size:1.25rem;
  margin:16px 0;
  color:#333;
}
.detail{
  display:grid;
}
.detail-main h1{
  font-size:clamp(2.3rem,4vw,4rem);
  line-height:1.03;
}
.detail-cover{
  position:relative;
  border-radius:20px;
  overflow:hidden;
  border:1px solid var(--line);
}
.detail-table{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  margin-top:24px;
}
.detail-row{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:12px;
  border-bottom:1px solid var(--line);
  font-size:.92rem;
}
.author-box{
  display:flex;
  gap:16px;
  align-items:flex-start;
  margin:18px 0;
}
.author-photo{
  width:88px;
  height:88px;
  object-fit:cover;
  border-radius:50%;
  background:var(--soft);
  flex:none;
}
.related-panel{
  border:1px solid var(--line);
  background:#faf9fd;
  border-radius:18px;
  padding:16px;
}
.related-link{
  display:flex;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid var(--line);
  text-decoration:none;
}
.related-link:last-child{
  border-bottom:0;
}
.selection-bar{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:60;
  background:#17171a;
  color:#fff;
  border-radius:999px;
  padding:10px 14px;
  display:none;
  align-items:center;
  gap:12px;
  box-shadow:var(--shadow);
}
.selection-bar.show{
  display:flex;
}
.check-select{
  position:absolute;
  left:10px;
  bottom:10px;
  z-index:5;
  width:22px;
  height:22px;
}
.contact-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:28px;
}
.form-card{
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  padding:24px;
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.field{
  margin-bottom:14px;
}
.field.full{
  grid-column:1/-1;
}
.field label{
  display:block;
  font-weight:800;
  font-size:.9rem;
  margin-bottom:5px;
}
.field input,.field select,.field textarea{
  width:100%;
  border:1px solid #d9d6df;
  border-radius:11px;
  padding:11px 12px;
  background:#fff;
}
.footer{
  background:#17171a;
  color:#fff;
  padding:46px 0 20px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.5fr repeat(3,1fr);
  gap:24px;
}
.footer ul{
  list-style:none;
  padding:0;
  margin:8px 0;
}
.footer a{
  color:#ddd;
  text-decoration:none;
}
.footer .socials{
  display:flex;
  gap:10px;
  margin-top:12px;
}
.footer .socials a{
  width:42px;
  height:42px;
  border:1px solid #444;
  border-radius:50%;
  display:grid;
  place-items:center;
}
.footer svg{
  width:21px;
  height:21px;
  fill:#fff;
}
.copyright{
  margin-top:28px;
  padding-top:16px;
  border-top:1px solid #333;
  color:#aaa;
  font-size:.85rem;
}
.empty{
  grid-column:1/-1;
  padding:42px;
  text-align:center;
  border:1px dashed #bbb;
  border-radius:18px;
  color:var(--muted);
}
@media (max-width:1080px){
  .nav-links a{
    font-size:.84rem;
    padding:9px;
  }
  .brand-duck{
    width:80px;
  }
  .brand-name{
    width:160px;
  }
  .filters-row{
    grid-template-columns:repeat(4,1fr);
  }
  .book-grid{
    grid-template-columns:repeat(3,1fr);
  }
  .detail{
    grid-template-columns:300px 1fr;
  }
  .detail-side{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
  }
  .benefits-panel{
    grid-template-columns:1fr;
  }
  .benefit+.benefit{
    border-left:0;
    border-top:1px solid var(--line);
  }
}
@media (max-width:820px){
  .menu-btn{
    display:block;
  }
  .nav-links{
    display:none;
    position:absolute;
    top:111px;
    left:0;
    right:0;
    background:#fff;
    padding:14px 16px;
    flex-direction:column;
    border-bottom:1px solid var(--line);
  }
  .nav-links.open{
    display:flex;
  }
  .nav-links a{
    width:100%;
    text-align:center;
  }
  .hero-grid{
    grid-template-columns:1fr;
  }
  .hero-art{
    order:-1;
  }
  .hero-art img{
    max-height:300px;
  }
  .hero h1 span{
    white-space:normal;
  }
  .book-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .filters-row{
    grid-template-columns:repeat(2,1fr);
  }
  .cards{
    grid-template-columns:1fr;
  }
  .spotlight{
    grid-template-columns:180px 1fr;
  }
  .detail{
    grid-template-columns:1fr;
  }
  .detail-cover{
    max-width:340px;
  }
  .contact-grid{
    grid-template-columns:1fr;
  }
  .footer-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:540px){
  .container{
    width:min(100% - 22px,1220px);
  }
  .nav{
    min-height:88px;
  }
  .brand-duck{
    width:66px;
    height:58px;
  }
  .brand-name{
    width:125px;
  }
  .nav-links{
    top:95px;
  }
  .page-band{
    padding:38px 0;
  }
  .hero{
    padding:45px 0;
  }
  .hero h1{
    font-size:2.65rem;
  }
  .benefit{
    grid-template-columns:64px 1fr;
    padding:12px 10px;
  }
  .benefit-icon{
    width:56px;
    height:56px;
  }
  .catalog-toolbar{
    grid-template-columns:1fr;
  }
  .filters-row,.book-grid,.form-grid,.detail-table,.detail-side,.footer-grid{
    grid-template-columns:1fr;
  }
  .spotlight{
    grid-template-columns:1fr;
  }
  .spotlight .book-cover{
    max-width:230px;
  }
  .carousel-control{
    display:none;
  }
  .selection-bar{
    width:calc(100% - 18px);
    border-radius:18px;
    justify-content:center;
    flex-wrap:wrap;
  }
  .detail-row{
    grid-template-columns:1fr;
    gap:2px;
  }
}
.admin-shell{
  padding:34px 0 70px;
}
.admin-toolbar{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.admin-filters{
  display:grid;
  grid-template-columns:2fr repeat(3,1fr);
  gap:10px;
  margin:18px 0;
}
.admin-filters input,.admin-filters select{
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:11px;
}
.table-wrap{
  overflow:auto;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.admin-table{
  width:100%;
  border-collapse:collapse;
  min-width:900px;
}
.admin-table th,.admin-table td{
  text-align:left;
  padding:13px;
  border-bottom:1px solid var(--line);
  vertical-align:top;
}
.admin-table th{
  background:#f7f5fb;
}
.book-dialog{
  width:min(1180px,calc(100% - 28px));
  max-height:92vh;
  border:0;
  border-radius:24px;
  padding:0;
  box-shadow:0 30px 90px rgba(0,0,0,.25);
}
.book-dialog::backdrop{
  background:rgba(23,23,26,.56);
}
.dialog-inner{
  padding:24px;
}
.dialog-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  position:sticky;
  top:0;
  background:#fff;
  z-index:3;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.admin-form-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  padding-top:20px;
}
.admin-form-grid .span-2{
  grid-column:span 2;
}
.admin-form-grid .span-3{
  grid-column:1/-1;
}
.admin-form-section-title{
  margin-top:8px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.admin-form-section-title:first-child{
  margin-top:0;
  padding-top:0;
  border-top:0;
}
.admin-form-section-title h3{
  margin:0;
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
  font-weight:800;
}
.checkbox-row{
  display:flex;
  align-items:center;
  gap:8px;
  padding-top:28px;
}
.login-wrap{
  min-height:70vh;
  display:grid;
  place-items:center;
}
.login-card{
  width:min(460px,calc(100% - 28px));
  border:1px solid var(--line);
  border-radius:24px;
  padding:28px;
  box-shadow:var(--shadow);
}
.login-brand{
  margin-bottom:18px;
}
.login-brand img:first-child{
  width:84px;
}
.login-brand img:last-child{
  width:180px;
}
.error{
  color:var(--red);
}
@media (max-width:900px){
  .admin-form-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .admin-form-grid .span-3{
    grid-column:1/-1;
  }
  .admin-filters{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:560px){
  .admin-form-grid,.admin-filters{
    grid-template-columns:1fr;
  }
  .admin-form-grid .span-2,.admin-form-grid .span-3{
    grid-column:auto;
  }
  .book-dialog{
    width:calc(100% - 12px);
    max-height:96vh;
  }
  .dialog-inner{
    padding:15px;
  }
}
.admin-link{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
}
.admin-link svg{
  width:17px;
  height:17px;
  fill:currentColor;
}
.admin-link path{
  fill:currentColor;
}
.auth-loading{
  min-height:70vh;
  display:grid;
  place-items:center;
  align-content:center;
  gap:14px;
  color:var(--muted);
}
.spinner{
  width:42px;
  height:42px;
  border:4px solid #e8e3fb;
  border-top-color:var(--purple);
  border-radius:50%;
  animation:pc-spin .8s linear infinite;
}
@keyframes pc-spin{to{transform:rotate(360deg)}}
.login-brand img:first-child{
  object-fit:contain;
}
.login-brand img:last-child{
  object-fit:contain;
}
.book-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.cover-fallback{
  color:#302d39;
}
.cover-fallback[hidden]{
  display:none!important;
}
.admin-cover-thumb,.admin-cover-placeholder{
  border-radius:8px;
  border:1px solid var(--line);
  object-fit:cover;
  background:linear-gradient(145deg,#fff0dd,#eee8ff);
}
.admin-cover-placeholder{
  display:grid;
  place-items:center;
  font-size:1.35rem;
}
.admin-heart{
  color:#d9346b;
  font-size:.82rem;
  font-weight:800;
}
.status-pill{
  font-size:.8rem;
}
.status-pill.available{
  background:#e5f6e9;
  color:#277541;
}
.status-pill.loaned{
  background:#fff1d9;
  color:#976018;
}
.status-pill.unavailable{
  background:#f5e8eb;
  color:#a13749;
}
.author-photo.image-error{
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#eee8ff,#fff0dd);
}
@media (max-width:760px){
  .admin-toolbar>div:last-child{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  .admin-table{
    min-width:820px;
  }
  .book-dialog{
    width:calc(100% - 10px);
  }
  .brand-name{
    max-width:145px;
  }
}
.field-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:12px;
}
.field-title-row label{
  font-size:1rem;
}
.field-help{
  margin:3px 0 0;
}
.authors-editor{
  display:grid;
  gap:12px;
}
.author-editor-row{
  display:grid;
  gap:12px;
  align-items:start;
  padding:16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#faf9fd;
}
.author-editor-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.author-bio-field{
  grid-column:1/-1;
}
.author-editor-row .field{
  margin-bottom:0;
}
.remove-author{
  margin-top:26px;
  color:#a42d40;
}
.benefit-icon svg{
  width:32px;
  height:32px;
  fill:currentColor;
  display:block;
}
.hero{
  background:linear-gradient(120deg,rgba(255,151,109,.88),rgba(255,224,109,.82),rgba(119,220,193,.74),rgba(162,130,246,.72),rgba(244,133,196,.72));
}
@media (max-width:760px){
  .field-title-row{
    display:grid;
  }
  .author-editor-row{
    grid-template-columns:1fr;
  }
  .author-editor-fields{
    grid-template-columns:1fr;
  }
  .author-bio-field{
    grid-column:auto;
  }
  .remove-author{
    margin-top:0;
    justify-self:start;
  }
}
.cover-fallback{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  padding:16px;
  text-align:center;
  font-weight:850;
  background:linear-gradient(145deg,#fff0dd,#eee8ff);
}
.admin-cover-thumb+.cover-fallback{
  width:72px;
  height:96px;
  border-radius:9px;
  font-size:.72rem;
  padding:5px;
}
.cover-cell{
  width:102px;
}
.admin-cover-thumb,.admin-cover-placeholder{
  width:72px;
  height:96px;
}
.cover-admin-field{
  align-self:start;
}
.cover-input-row{
  display:grid;
  grid-template-columns:112px 1fr;
  gap:14px;
  align-items:center;
}
.admin-cover-preview{
  width:112px;
  height:150px;
  border:1px solid var(--line);
  border-radius:12px;
  background:linear-gradient(145deg,#fff0dd,#eee8ff);
  display:grid;
  place-items:center;
  overflow:hidden;
  font-size:2rem;
}
.admin-cover-preview-img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.admin-cover-preview .cover-fallback{
  font-size:.78rem;
}
@media (max-width:1080px){

}
@media (max-width:760px){
  .cover-input-row{
    grid-template-columns:88px 1fr;
  }
  .admin-cover-preview{
    width:88px;
    height:118px;
  }
}
@media (max-width:540px){
  .cover-input-row{
    grid-template-columns:1fr;
  }
  .admin-cover-preview{
    width:96px;
    height:128px;
  }
}
.brand-mark{
  display:flex;
  align-items:center;
}
.login-brand{
  display:flex;
  align-items:center;
}
.hero,.page-band{
  background:linear-gradient(120deg,rgba(255,151,109,.8),rgba(255,224,109,.74),rgba(119,220,193,.64),rgba(162,130,246,.64),rgba(244,133,196,.64));
}
.native-icon{
  font-family:system-ui,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  background:#fff!important;
  border:2px solid rgba(255,255,255,.72);
  box-shadow:0 8px 20px rgba(35,28,72,.12);
}
.benefit:nth-child(1) .native-icon,.benefit:nth-child(2) .native-icon,.benefit:nth-child(3) .native-icon{
  background:#fff!important;
}
.badge-heart{
  width:48px;
  height:48px;
  justify-content:center;
  padding:0;
  border:2px solid #f6b1c7;
  font-size:2rem;
  line-height:1;
  box-shadow:0 7px 18px rgba(232,63,114,.24);
  z-index:4;
}
.book-card.favorite{
  border-width:3px;
  box-shadow:0 10px 28px rgba(241,91,140,.12);
}
.book-cover>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:1;
}
.book-cover>.cover-fallback,.book-cover>.cover-placeholder{
  position:absolute;
  inset:0;
  z-index:0;
}
.book-cover>.badge,.book-cover>.check-select{
  z-index:5;
}
@media (max-width:1080px){
  .brand-duck{
    width:76px;
    height:64px;
  }
  .brand-name{
    width:158px;
    height:38px;
  }
}
@media (max-width:820px){
  .brand-mark{
    gap:8px;
  }
  .brand-duck{
    width:68px;
    height:57px;
  }
  .brand-name{
    width:142px;
    height:34px;
  }
}
@media (max-width:540px){
  .brand-duck{
    width:58px;
    height:50px;
  }
  .brand-name{
    width:118px;
    height:30px;
  }
  .login-brand{
    gap:8px;
  }
  .login-duck{
    width:78px;
    height:66px;
  }
  .login-name{
    width:170px;
    height:42px;
  }
  .badge-heart{
    width:44px;
    height:44px;
    font-size:1.8rem;
  }
  .native-icon{
    font-size:1.75rem;
  }
}
.brand-mark,.login-brand{
  display:flex;
  align-items:center;
}
.brand-mark{
  gap:13px;
  min-width:0;
}
.brand-duck{
  display:block;
  width:94px;
  height:76px;
  object-fit:contain;
  object-position:center;
  flex:0 0 auto;
}
.brand-name{
  display:block;
  width:196px;
  height:44px;
  object-fit:contain;
  object-position:left center;
  flex:0 1 auto;
}
.login-brand{
  justify-content:center;
  gap:16px;
}
.login-duck{
  display:block;
  width:122px;
  height:98px;
  object-fit:contain;
}
.login-name{
  display:block;
  width:250px;
  height:58px;
  object-fit:contain;
  object-position:left center;
}
@media (max-width:1080px){
  .brand-duck{
    width:80px;
    height:66px;
  }
  .brand-name{
    width:165px;
    height:39px;
  }
}
@media (max-width:820px){
  .brand-mark{
    gap:9px;
  }
  .brand-duck{
    width:70px;
    height:58px;
  }
  .brand-name{
    width:145px;
    height:34px;
  }
}
@media (max-width:540px){
  .brand-duck{
    width:60px;
    height:50px;
  }
  .brand-name{
    width:122px;
    height:29px;
  }
  .login-brand{
    gap:9px;
  }
  .login-duck{
    width:84px;
    height:68px;
  }
  .login-name{
    width:180px;
    height:42px;
  }
}
.selection-chip{
  border:1px solid #d9d1f7;
  line-height:1.2;
}
.remove-selected-book{
  box-shadow:0 1px 5px rgba(46,35,92,.12);
}
.selection-chip span{
  max-width:24rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width:620px){
  .selection-chip{
    width:100%;
    justify-content:space-between;
    border-radius:14px;
  }
  .selection-chip span{
    white-space:normal;
  }
}
.admin-toolbar-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.65rem;
  flex-wrap:wrap;
}
.admin-open-site{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  text-decoration:none;
}
.admin-open-site svg{
  width:18px;
  height:18px;
  fill:currentColor;
  flex:none;
}
@media (max-width:760px){
  .admin-toolbar-actions{
    width:100%;
    justify-content:stretch;
  }
  .admin-toolbar-actions .btn{
    flex:1 1 160px;
  }
  .admin-open-site{
    justify-content:center;
  }
}
.detail-left{
  min-width:0;
}
.authors-under-cover{
  display:grid;
}
.authors-under-cover>h2{
  font-size:1.45rem;
}
.author-card-under-cover{
  display:grid;
  align-items:center;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 22px rgba(36,28,67,.06);
}
.author-card-under-cover h3{
  margin:0 0 5px;
  font-size:1.05rem;
}
.author-card-under-cover p{
  margin:0;
  font-size:.92rem;
  line-height:1.55;
}
.author-photo-large,.author-photo-fallback{
  width:92px;
  height:92px;
  border-radius:50%;
  object-fit:cover;
  background:linear-gradient(145deg,#eee8ff,#fff0dd);
  display:grid;
  place-items:center;
  font-size:2rem;
}
.back-cover h2,.bibliographic-info h2{
  font-size:1.45rem;
}
.back-cover p{
  font-size:1.02rem;
  white-space:pre-line;
}
.bibliographic-info .detail-table{
  margin-top:0;
}
.detail-main>#select-book{
  margin-top:6px;
}
@media (max-width:1080px){
  .detail{
    grid-template-columns:minmax(260px,320px) minmax(0,1fr);
  }
  .detail-side{
    grid-column:1/-1;
  }
  .author-card-under-cover{
    grid-template-columns:78px 1fr;
  }
  .author-photo-large,.author-photo-fallback{
    width:78px;
    height:78px;
  }
}
@media (max-width:820px){
  .detail{
    grid-template-columns:1fr;
  }
  .detail-left{
    max-width:680px;
  }
  .detail-cover{
    max-width:360px;
    width:100%;
  }
  .authors-under-cover{
    max-width:680px;
  }
  .detail-main{
    min-width:0;
  }
  .detail-side{
    grid-template-columns:1fr 1fr;
  }
  .detail-table{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:620px){
  .author-card-under-cover{
    grid-template-columns:68px 1fr;
    padding:13px;
    gap:12px;
  }
  .author-photo-large,.author-photo-fallback{
    width:68px;
    height:68px;
  }
  .detail-side,.detail-table{
    grid-template-columns:1fr;
  }
  .detail-row{
    grid-template-columns:1fr;
    gap:3px;
  }
  .back-cover p{
    font-size:1rem;
  }
  .detail-main h1{
    font-size:clamp(2rem,10vw,3rem);
  }
}
@media (max-width:420px){
  .author-card-under-cover{
    grid-template-columns:1fr;
    text-align:center;
  }
  .author-photo-large,.author-photo-fallback{
    margin:auto;
  }
  .detail-cover{
    max-width:none;
  }
}
.detail{
  grid-template-columns:minmax(300px,360px) minmax(0,1fr);
}
.detail-left{
  grid-column:1;
}
.detail-main{
  grid-column:2;
  min-width:0;
}
.detail-related{
  grid-column:1/-1;
  display:grid;
  border-top:1px solid var(--line);
}
.related-section h2{
  font-size:clamp(1.7rem,3vw,2.4rem);
}
.related-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.related-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  text-decoration:none;
  transition:transform .2s ease,box-shadow .2s ease;
}
.related-card:hover,.related-card:focus-visible{
  transform:translateY(-4px);
  box-shadow:var(--shadow);
}
.related-cover{
  aspect-ratio:3/4;
  background:linear-gradient(135deg,#fde4ef,#dfd7ff,#d5f1e5);
  overflow:hidden;
}
.related-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.related-card-body{
  display:grid;
  gap:4px;
  padding:12px;
}
.related-card-body strong{
  line-height:1.3;
}
.related-card-body span{
  color:var(--muted);
  font-size:.86rem;
}
.authors-under-cover{
  width:100%;
}
.author-card-under-cover{
  grid-template-columns:88px minmax(0,1fr);
}
@media (max-width:1080px){
  .detail{
    grid-template-columns:minmax(270px,320px) minmax(0,1fr);
  }
  .related-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:820px){
  .detail{
    grid-template-columns:1fr;
  }
  .detail-left,.detail-main,.detail-related{
    grid-column:1;
  }
  .detail-left{
    max-width:none;
  }
  .detail-cover{
    max-width:360px;
  }
  .authors-under-cover{
    max-width:none;
  }
  .related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:540px){
  .detail{
    gap:24px;
  }
  .detail-cover{
    max-width:none;
  }
  .related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .related-card-body{
    padding:10px;
  }
  .related-card-body strong{
    font-size:.92rem;
  }
  .related-card-body span{
    font-size:.78rem;
  }
}
@media (max-width:390px){
  .related-grid{
    grid-template-columns:1fr 1fr;
  }
  .author-card-under-cover{
    grid-template-columns:1fr;
    text-align:center;
  }
  .author-photo-large,.author-photo-fallback{
    margin:auto;
  }
}
.admin-wide{
  width:min(1500px,calc(100% - 2rem));
}
.admin-tabs{
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
  margin:1.3rem 0;
}
.admin-tabs-wrap{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:1.3rem 0;
}
.admin-tabs-wrap .admin-tabs{
  margin:0;
}
.admin-tab-group{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  padding:10px 12px;
  background:var(--soft);
  border-radius:14px;
}
.admin-tab-group-label{
  font-weight:800;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted);
  min-width:96px;
}
.admin-tab-group-todo{
  background:#fff3e0;
}
.admin-tab-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  padding:0 5px;
  margin-left:6px;
  border-radius:999px;
  background:var(--red);
  color:#fff;
  font-size:.68rem;
  font-weight:800;
}
@media (max-width:900px){
  .admin-tab-group{
    flex-direction:column;
    align-items:stretch;
  }
  .admin-tab-group-label{
    min-width:0;
  }
}
.admin-tab{
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:.7rem 1rem;
  font-weight:800;
  cursor:pointer;
}
.admin-tab.active{
  background:var(--ink);
  color:#fff;
}
.admin-actions-row{
  display:flex;
  gap:.7rem;
  justify-content:flex-end;
  flex-wrap:wrap;
  margin-bottom:1rem;
}
.compact{
  margin:0;
}
.choice-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.55rem;
}
.choice-check{
  display:flex;
  gap:.5rem;
  align-items:center;
  border:1px solid var(--line);
  border-radius:12px;
  padding:.65rem;
  background:#fff;
}
.author-editor-row{
  grid-template-columns:90px 1fr auto;
}
.author-photo-preview{
  width:82px;
  height:82px;
  border-radius:50%;
  background:var(--soft);
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid var(--line);
}
.author-photo-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.wish-badge{
  display:inline-block;
  margin-top:.35rem;
  background:#fff3cd;
  color:#7a5600;
  border-radius:999px;
  padding:.2rem .5rem;
  font-size:.75rem;
  font-weight:800;
}
.admin-card-list{
  display:grid;
  gap:1rem;
}
.admin-resource-card{
  display:grid;
  grid-template-columns:90px 1fr auto;
  gap:1rem;
  align-items:center;
  border:1px solid var(--line);
  border-radius:18px;
  padding:1rem;
  background:#fff;
}
.admin-resource-card>img{
  width:90px;
  height:90px;
  object-fit:cover;
  border-radius:12px;
}
.small-dialog{
  width:min(680px,calc(100% - 2rem));
  border:0;
  border-radius:22px;
  padding:1.4rem;
}
.dialog-actions,.submission-actions{
  display:flex;
  gap:.7rem;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.lexicon-grid,.resource-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.lexicon-card,.resource-card{
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  background:#fff;
}
.lexicon-card>img{
  width:120px;
  height:100%;
  object-fit:cover;
}
.lexicon-card>div,.resource-card>div{
  padding:1.2rem;
}
.resource-card>img,.resource-placeholder{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  background:var(--soft);
  display:grid;
  place-items:center;
  font-size:3rem;
}
.submit-resource-form{
  max-width:900px;
  margin:auto;
}
@media (max-width:1000px){
  .choice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .lexicon-grid,.resource-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .admin-resource-card{
    grid-template-columns:72px 1fr;
  }
  .admin-resource-card>button,.submission-actions{
    grid-column:1/-1;
    justify-self:end;
  }
}
@media (max-width:650px){
  .choice-grid,.lexicon-grid,.resource-grid{
    grid-template-columns:1fr;
  }
  .author-editor-row{
    grid-template-columns:1fr;
  }
  .author-photo-preview{
    margin:auto;
  }
  .admin-resource-card{
    grid-template-columns:1fr;
  }
  .admin-resource-card>img{
    width:100%;
    height:160px;
  }
  .lexicon-card{
    grid-template-columns:1fr;
  }
  .lexicon-card>img{
    width:100%;
    height:180px;
  }
  .admin-filters{
    grid-template-columns:1fr!important;
  }
  .book-dialog{
    width:100vw;
    max-width:none;
    height:100vh;
    max-height:none;
    border-radius:0;
  }
  .dialog-inner{
    padding:1rem;
  }
  .admin-form-grid{
    grid-template-columns:1fr!important;
  }
  .span-2,.span-3{
    grid-column:auto!important;
  }
}
.tag.wish{
  background:#fff0b8;
  color:#735000;
}
.badge-wish{
  position:absolute;
  left:.6rem;
  bottom:.6rem;
  background:#fff0b8;
  color:#735000;
  font-size:.68rem;
  max-width:110px;
  text-align:center;
}
.book-criteria{
  margin:1.5rem 0;
  padding:1.2rem;
  border-radius:18px;
  background:#faf8ff;
  border:1px solid #e4ddfb;
}
.book-criteria h3{
  font-size:1rem;
  margin:.9rem 0 .35rem;
}
.admin-actions-wrap{
  flex-wrap:wrap;
}
.import-result{
  margin:14px 0;
  padding:14px 16px;
  border-radius:16px;
  background:#f4f0ff;
  border:1px solid #cfc2ff;
  line-height:1.5;
}
.import-result.success{
  background:#ecf9f1;
  border-color:#a8ddbd;
}
.import-result.warning{
  background:#fff8e8;
  border-color:#f2d38c;
}
.duplicate-dialog{
  width:min(900px,calc(100vw - 32px));
  max-width:900px;
  padding:24px;
  border:0;
  border-radius:24px;
  box-shadow:0 24px 70px rgba(30,24,50,.25);
}
.duplicate-group{
  margin:18px 0;
  padding:16px;
  border:1px solid #e3ddef;
  border-radius:16px;
  background:#fff;
}
.duplicate-group h3{
  margin:0 0 10px;
}
.duplicate-items{
  display:grid;
  gap:8px;
}
.duplicate-item{
  padding:10px 12px;
  border-radius:12px;
  background:#f7f4fb;
}
.duplicate-ok{
  padding:18px;
  border-radius:16px;
  background:#ecf9f1;
  border:1px solid #a8ddbd;
}
@media (max-width:700px){
  .admin-actions-wrap .btn{
    width:100%;
  }
  .duplicate-dialog{
    padding:16px;
  }
  .duplicate-dialog .dialog-head{
    align-items:flex-start;
  }
}
.footer-admin-link{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  color:#fff!important;
  font-weight:800;
}
.footer-admin-link svg{
  width:18px;
  height:18px;
  fill:currentColor;
}
.compact-search{
  width:min(360px,100%);
}
.compact-search input{
  width:100%;
}
.toolbar select{
  min-height:46px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
  background:#fff;
}
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
@media (max-width:760px){
  .section-head{
    align-items:stretch;
  }
  .section-head .toolbar,.compact-search{
    width:100%;
  }
  .section-head .toolbar select{
    width:100%;
  }
}
.lexicon-count{
  margin:-.8rem 0 1.25rem;
  color:var(--muted);
  font-weight:750;
}
#lexicon-search{
  min-width:min(100%,320px);
}
@media (max-width:700px){
  #lexique .section-head{
    align-items:stretch;
  }
  #lexique .compact-search,#lexique .compact-search input{
    width:100%;
    min-width:0;
  }
  .lexicon-count{
    margin-top:.25rem;
  }
}
.lexicon-toolbar{
  display:flex;
  align-items:center;
  gap:1rem;
  justify-content:space-between;
  margin-bottom:1.3rem;
}
.lexicon-toolbar .search{
  max-width:720px;
  width:100%;
}
.lexicon-grid{
  align-items:stretch;
}
.lexicon-card{
  flex-direction:column;
}
.lexicon-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.lexicon-card-body{
  display:flex!important;
  flex-direction:column;
  flex:1;
  min-height:0;
}
.lexicon-card-body h2{
  margin:0 0 .55rem;
}
.lexicon-card-body p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:0;
}
.lexicon-more{
  margin-top:auto;
  align-self:flex-start;
  border:0;
  background:none;
  color:#5f42d8;
  font-weight:850;
  cursor:pointer;
}
.lexicon-dialog{
  width:min(850px,calc(100% - 2rem));
  border:0;
  border-radius:24px;
  padding:1.5rem;
}
.lexicon-modal-layout{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:1.5rem;
}
.lexicon-modal-layout>img,.lexicon-modal-layout>.lexicon-image-fallback{
  width:220px;
  height:220px;
  object-fit:cover;
  border-radius:18px;
}
.related-terms{
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
}
.related-terms button{
  border:1px solid #cbbef8;
  border-radius:999px;
  background:#f6f2ff;
  color:#563bd0;
  padding:.45rem .75rem;
  font-weight:750;
  cursor:pointer;
}
.resource-type-strip{
  margin-bottom:2.3rem;
}
.resource-type{
  border:1px solid var(--line);
  background:#fff;
  place-items:center;
  cursor:pointer;
  font-weight:800;
}
.resource-type.active{
  border-color:#7253dc;
  background:#f4f0ff;
  color:#5639d5;
}
.native-icon{
  font-size:2rem;
  line-height:1;
}
.resource-type-badge{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  background:var(--soft);
  border-radius:999px;
  padding:.3rem .6rem;
  font-size:.78rem;
  font-weight:800;
}
.term-image-preview{
  width:100%;
  height:150px;
  margin-top:.6rem;
  border:1px dashed var(--line);
  border-radius:16px;
  background:var(--soft);
  display:grid;
  place-items:center;
  overflow:hidden;
  font-size:3rem;
}
.term-image-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.related-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.5rem;
  max-height:220px;
  overflow:auto;
  padding:.25rem;
}
.lexicon-admin-card{
  overflow:hidden;
}
.admin-resource-visual{
  width:90px;
  height:90px;
  border-radius:12px;
  overflow:hidden;
  background:var(--soft);
}
.admin-resource-visual img,.admin-image-fallback{
  width:100%;
  height:100%;
  object-fit:cover;
}
.admin-image-fallback{
  display:grid;
  place-items:center;
  font-size:2rem;
}
.admin-resource-copy{
  min-width:0;
}
.admin-resource-copy p{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:0;
}
.cookie-banner{
  position:fixed;
  z-index:1000;
  left:1rem;
  right:1rem;
  bottom:1rem;
  margin:auto;
  max-width:1180px;
  background:#19191d;
  color:#fff;
  border:1px solid #39393e;
  border-radius:20px;
  padding:1rem 1.2rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.4rem;
  box-shadow:0 20px 60px rgba(0,0,0,.3);
}
.cookie-banner p{
  margin:.25rem 0;
  color:#ddd;
}
.cookie-banner a{
  color:#fff;
}
.cookie-actions{
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
  flex:none;
}
.cookie-banner .btn-outline{
  color:#fff;
  border-color:#666;
  background:transparent;
}
.cookie-dialog{
  width:min(680px,calc(100% - 2rem));
  border:0;
  border-radius:24px;
  padding:1.5rem;
}
.cookie-option{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  border:1px solid var(--line);
  border-radius:16px;
  padding:1rem;
  margin:.8rem 0;
}
.cookie-option small{
  display:block;
  color:var(--muted);
}
@media (max-width:1050px){
  .lexicon-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .resource-type-strip{
    grid-template-columns:repeat(4,minmax(100px,1fr));
  }
}
@media (max-width:700px){
  .lexicon-toolbar{
    display:block;
  }
  .lexicon-grid{
    grid-template-columns:1fr;
  }
  .lexicon-card{
    height:390px;
  }
  .lexicon-modal-layout{
    grid-template-columns:1fr;
  }
  .lexicon-modal-layout>img,.lexicon-modal-layout>.lexicon-image-fallback{
    width:100%;
    height:220px;
  }
  .resource-type-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .related-options{
    grid-template-columns:1fr;
  }
  .cookie-banner{
    flex-direction:column;
    align-items:stretch;
  }
  .cookie-actions{
    justify-content:stretch;
  }
  .cookie-actions .btn{
    flex:1;
  }
  .lexicon-admin-card{
    height:auto;
    min-height:210px;
  }
}
.lexicon-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.15rem;
}
.lexicon-card{
  display:grid;
  align-items:stretch;
}
.lexicon-visual{
  display:grid;
  place-items:center;
}
.lexicon-card-body{
  min-width:0;
}
.lexicon-card-body h2{
  line-height:1.15;
}
@media (max-width:900px){
  .lexicon-grid{
    grid-template-columns:1fr;
  }
  .lexicon-card{
    height:220px;
    min-height:220px;
  }
  .lexicon-visual{
    height:220px;
    min-height:220px;
  }
}
@media (max-width:520px){
  .lexicon-card{
    grid-template-columns:102px minmax(0,1fr);
    height:220px;
    min-height:220px;
  }
  .lexicon-visual{
    width:102px;
    height:220px;
    min-height:220px;
  }
  .lexicon-card-body{
    padding:1rem;
  }
  .lexicon-card-body h2{
    font-size:1.12rem;
  }
  .lexicon-card-body p{
    -webkit-line-clamp:6;
  }
  .lexicon-image-fallback svg{
    width:44px;
    height:44px;
  }
}
.resource-type .native-icon{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0;
  padding:0;
}
.resource-type .native-icon svg{
  fill:currentColor;
}
.resource-type:nth-child(1){
  color:#6b4fd3;
}
.resource-type:nth-child(2){
  color:#cf4f62;
}
.resource-type:nth-child(3){
  color:#3d73c8;
}
.resource-type:nth-child(4){
  color:#d1842f;
}
.resource-type:nth-child(5){
  color:#8b4db7;
}
.resource-type:nth-child(6){
  color:#3b9a72;
}
.resource-type:nth-child(7){
  color:#a15a8f;
}
.resource-type span:last-child{
  color:var(--ink);
}
.resource-type.active span:last-child{
  color:#5639d5;
}
@media (max-width:700px){
  .resource-type .native-icon{
    width:46px;
    height:46px;
  }
  .resource-type .native-icon svg{
    width:36px;
    height:36px;
  }
}
.status-tag{
  font-weight:850;
  border:1px solid transparent;
}
.status-available{
  background:#e5f7ef!important;
  color:#08744a!important;
  border-color:#9edfc2!important;
}
.status-loaned{
  background:#fff3d8!important;
  color:#8a5600!important;
  border-color:#f0ce84!important;
}
.status-unavailable{
  background:#fde8e8!important;
  color:#a42f2f!important;
  border-color:#efb3b3!important;
}
.lexicon-visual img,.lexicon-visual .lexicon-image-fallback{
  display:block;
}
.contact-choice{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.contact-choice-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  min-height:88px;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  text-decoration:none;
  font-weight:850;
  text-align:center;
  box-shadow:0 8px 24px rgba(40,30,80,.05);
}
.contact-choice-btn span{
  font-size:1.8rem;
}
.contact-choice-btn:hover,.contact-choice-btn:focus-visible{
  border-color:#8c72e8;
  background:#f7f3ff;
  transform:translateY(-2px);
}
.resource-type .native-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  color:currentColor;
}
.resource-type .native-icon svg{
  width:34px;
  height:34px;
  display:block;
  overflow:visible;
}
@media (max-width:1000px){
  .contact-choice{
    grid-template-columns:1fr;
  }
  .resource-type-strip{
    grid-template-columns:repeat(4,minmax(110px,1fr));
  }
}
@media (max-width:700px){
  .lexicon-visual{
    border-radius:18px 0 0 18px;
  }
  .contact-choice-btn{
    justify-content:flex-start;
  }
  .resource-type-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
.criteria-fieldset{
  margin:0;
  min-width:0;
  border:1px solid var(--line);
  border-radius:18px;
  padding:1rem 1.1rem 1.1rem;
  background:#fbfaff;
}
.criteria-fieldset legend{
  padding:0 .45rem;
  font-weight:850;
  color:var(--ink);
}
.compact-choice-grid{
  gap:.5rem;
  align-items:stretch;
  max-width:1100px;
  margin:0 auto;
}
.compact-choice-grid .choice-check{
  justify-content:flex-start;
  align-items:center;
  line-height:1.25;
  background:#fff;
}
.compact-choice-grid .choice-check input{
  width:18px;
  height:18px;
  flex:0 0 auto;
  margin:0;
}
.compact-choice-grid .choice-check span{
  display:flex;
  align-items:center;
  min-height:28px;
}
.admin-book-status{
  border:1px solid var(--line);
  border-radius:20px;
  padding:1rem 1.1rem 1.2rem;
  background:linear-gradient(135deg,#fbfaff,#fffdf8);
}
.admin-book-status h3{
  margin:0 0 1rem;
  font-size:1.05rem;
}
.status-row{
  display:grid;
  gap:14px;
  align-items:end;
  margin-top:14px;
}
.status-row:first-of-type{
  margin-top:0;
}
.status-row-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.status-row-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.status-row-4{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.checkbox-card{
  display:flex;
  gap:.65rem;
  align-items:center;
  min-height:48px;
  padding:.7rem .8rem;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  font-weight:700;
  line-height:1.25;
}
.checkbox-card input{
  width:19px;
  height:19px;
  flex:0 0 auto;
  margin:0;
}
@media (max-width:1100px){
  .compact-choice-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .status-row-4{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:760px){
  .compact-choice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .status-row-3,.status-row-2{
    grid-template-columns:1fr;
  }
  .status-row-4{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:480px){
  .compact-choice-grid,.status-row-4{
    grid-template-columns:1fr;
  }
  .criteria-fieldset,.admin-book-status{
    padding:.85rem;
  }
}
.contact-hub{
  padding-bottom:34px;
}
.contact-choice-submit{
  background:#fff0e8;
  border-color:#f5d0bd;
  color:#9a4d28;
}
.contact-choice-contact:hover,.contact-choice-contact:focus-visible{
  box-shadow:0 12px 30px rgba(93,63,196,.13);
}
.contact-choice-loan:hover,.contact-choice-loan:focus-visible{
  box-shadow:0 12px 30px rgba(39,122,78,.12);
}
.contact-choice-submit:hover,.contact-choice-submit:focus-visible{
  background:#ffe6da;
  border-color:#e9a783;
  box-shadow:0 12px 30px rgba(163,79,36,.12);
}
.contact-section{
  scroll-margin-top:130px;
  outline:none;
  padding-block:72px;
}
.contact-section>.container{
  border-radius:30px;
  padding:32px;
}
.contact-section-contact>.container{
  background:#f7f2ff;
  border:1px solid #ded2fa;
}
.contact-section-loan>.container{
  background:#edf9f3;
  border:1px solid #c8ead8;
}
.contact-section-submit{
  background:linear-gradient(180deg,#fff,#fff8f3);
}
.contact-section-submit>.container{
  background:#fff3ec;
  border:1px solid #f4d6c5;
}
.contact-form-card{
  height:100%;
  box-shadow:0 12px 34px rgba(39,31,75,.07);
}
.contact-section:target>.container{
  box-shadow:0 0 0 4px rgba(111,76,232,.13),0 22px 55px rgba(45,32,91,.12);
}
#selection-summary{
  min-height:48px;
  align-content:flex-start;
}
.lexicon-visual img,.lexicon-visual .lexicon-image-fallback{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
}
.lexicon-native-icon{
  font-size:3.8rem;
  line-height:1;
  filter:drop-shadow(0 8px 12px rgba(84,53,170,.16));
}
@media (max-width:900px){
  .contact-section>.container{
    padding:24px;
  }
  .contact-section{
    padding-block:56px;
  }
}
@media (max-width:700px){
  .contact-choice{
    grid-template-columns:1fr;
  }
  .contact-choice-btn{
    min-height:74px;
  }
  .contact-section{
    scroll-margin-top:105px;
    padding-block:42px;
  }
  .contact-section>.container{
    padding:18px;
    border-radius:22px;
  }
  .lexicon-visual{
    border-radius:18px 0 0 18px;
  }
}
@media (max-width:520px){
  .contact-choice-btn{
    justify-content:flex-start;
    text-align:left;
  }
  .contact-section>.container{
    width:min(100% - 18px,1220px);
  }
  .lexicon-native-icon{
    font-size:2.8rem;
  }
}
.book-select-control{
  position:absolute;
  left:10px;
  right:10px;
  bottom:10px;
  z-index:6;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:38px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#3b2a82;
  font-size:.78rem;
  font-weight:850;
  box-shadow:0 6px 18px rgba(22,17,49,.18);
  cursor:pointer;
  backdrop-filter:blur(5px);
}
.book-select-control .check-select{
  position:static;
  width:20px;
  height:20px;
  margin:0;
  accent-color:#6f4ce8;
  flex:none;
}
.book-select-control:has(input:checked){
  background:#ebe5ff;
  color:#4f32c6;
  outline:2px solid #7253dc;
}
.contact-hub{
  padding:38px 0 20px;
  background:#fff;
}
.contact-choice-btn{
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.contact-choice-contact{
  background:#eef8ff;
  border-color:#b9dff5;
  color:#245c7a;
}
.contact-choice-loan{
  background:#f3efff;
  border-color:#d2c6fb;
  color:#5135c7;
}
.contact-choice-contact:hover,.contact-choice-contact:focus-visible{
  background:#e2f3ff;
  border-color:#82c9ec;
}
.contact-choice-loan:hover,.contact-choice-loan:focus-visible{
  background:#eae3ff;
  border-color:#a995f0;
}
.contact-choice-proposal:hover,.contact-choice-proposal:focus-visible{
  background:#ffe9d1;
  border-color:#eca85f;
}
.contact-form-section{
  scroll-margin-top:130px;
  outline:none;
  padding:72px 0;
}
.contact-form-section .container{
  align-items:start;
}
.contact-section-contact{
  background:linear-gradient(135deg,#f2faff 0%,#ffffff 68%);
}
.contact-section-loan{
  background:linear-gradient(135deg,#f4f0ff 0%,#ffffff 68%);
}
.contact-section-proposal{
  background:linear-gradient(135deg,#fff5e9 0%,#ffffff 68%);
}
.contact-section-contact .contact-form-card{
  border-color:#b9dff5;
  box-shadow:0 18px 45px rgba(67,155,201,.10);
}
.contact-section-loan .contact-form-card{
  border-color:#cfc2f8;
  box-shadow:0 18px 45px rgba(105,75,222,.10);
}
.contact-section-contact h2{
  color:#245c7a;
}
.contact-section-loan h2{
  color:#5135c7;
}
.contact-section-proposal h2{
  color:#8a4c19;
}
.selection-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 8px 7px 12px;
  border-radius:999px;
  background:#ebe5ff;
  color:#4f32c6;
  font-weight:750;
}
.remove-selected-book{
  width:25px;
  height:25px;
  border:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  color:#5a3bcf;
  font-size:1.05rem;
  line-height:1;
  cursor:pointer;
}
.remove-selected-book:hover,.remove-selected-book:focus-visible{
  background:#5f42d8;
  color:#fff;
}
.lexicon-card{
  position:relative;
  border-radius:22px;
  isolation:isolate;
}
.lexicon-visual{
  align-self:stretch;
  border-radius:0!important;
  overflow:hidden;
}
.lexicon-visual img,.lexicon-visual>.lexicon-image-fallback{
  width:100%;
  height:100%;
  display:block;
  border-radius:0!important;
  object-fit:cover;
}
.lexicon-image-fallback{
  display:grid!important;
  place-items:center;
  color:#6749d7;
}
.lexicon-image-fallback svg{
  width:62px;
  height:62px;
  fill:currentColor;
}
.lexicon-card-body{
  background:#fff;
  border-radius:0!important;
}
@media (max-width:700px){
  .contact-form-section{
    padding:52px 0;
    scroll-margin-top:105px;
  }
  .contact-choice-btn{
    justify-content:center;
    text-align:center;
  }
}
@media (max-width:520px){
  .book-select-control{
    left:8px;
    right:8px;
    bottom:8px;
    font-size:.75rem;
  }
  .contact-form-section{
    padding:42px 0;
  }
}
.lexicon-card{
  overflow:hidden!important;
}
.lexicon-visual img,.lexicon-visual>.lexicon-image-fallback,.lexicon-image-fallback img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.lexicon-image-fallback{
  overflow:hidden;
}
.lexicon-image-fallback img{
  object-position:center;
}
.admin-image-fallback{
  overflow:hidden;
  background:transparent!important;
}
.admin-image-fallback img,.term-image-preview>img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.contact-choice-icon,.contact-section-icon{
  display:grid;
  place-items:center;
  flex:none;
}
.contact-choice-icon{
  width:42px;
  height:42px;
  border-radius:14px;
  background:rgba(255,255,255,.7);
}
.contact-choice-icon svg{
  width:23px;
  height:23px;
  fill:currentColor;
}
.contact-section-intro{
  min-width:0;
}
.contact-section-intro-wide{
  margin-bottom:24px;
}
.contact-section-heading{
  display:flex;
  align-items:center;
  margin:0 0 18px;
  border-radius:20px;
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 28px rgba(37,28,74,.06);
}
.contact-section-heading h2{
  margin:0!important;
}
.contact-section-icon{
  background:#fff;
  box-shadow:0 5px 15px rgba(45,34,91,.08);
}
.contact-section-icon svg{
  fill:currentColor;
}
.contact-section-contact .contact-section-heading{
  color:#245c7a;
  border:1px solid #c5e5f6;
}
.contact-section-loan .contact-section-heading{
  color:#5135c7;
  border:1px solid #d8cdf9;
}
.contact-section-proposal .contact-section-heading{
  border:1px solid #f3d4b5;
}
.contact-section-proposal>.container{
  background:#fff3ec;
  border:1px solid #f4d6c5;
}
.contact-section-proposal .contact-form-card{
  border-color:#f1c99f;
  box-shadow:0 18px 45px rgba(220,133,48,.10);
}
.contact-form-section .form-card{
  border-radius:22px;
}
.lexicon-card{
  border:0!important;
  box-shadow:0 10px 28px rgba(42,34,78,.10);
  background:#fff;
}
.lexicon-visual{
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
}
.lexicon-visual img,.lexicon-visual>.lexicon-image-fallback,.lexicon-image-fallback img{
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
.lexicon-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 42px rgba(42,34,78,.15);
}
@media (max-width:700px){
  .contact-section-heading{
    min-height:66px;
    padding:12px 14px;
    border-radius:17px;
  }
  .contact-section-icon{
    width:43px;
    height:43px;
  }
  .contact-section-heading h2{
    font-size:1.55rem;
  }
}
.lexicon-image-fallback,.lexicon-default-flag{
  width:100%!important;
  height:100%!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.lexicon-default-flag{
  object-fit:cover;
}
.lexicon-visual{
  line-height:0;
}
.lexicon-card-body{
  line-height:1.6;
}
.contact-section-heading{
  min-height:62px;
  padding:11px 15px;
  gap:12px;
  margin-bottom:15px;
}
.contact-section-heading h2{
  font-size:clamp(1.35rem,2.2vw,1.8rem)!important;
  line-height:1.15!important;
  letter-spacing:-.015em!important;
}
.contact-section-icon{
  width:42px;
  height:42px;
  border-radius:13px;
}
.contact-section-icon svg{
  width:22px;
  height:22px;
}
.contact-choice-proposal{
  background:#fff3e7!important;
  border-color:#f1c99f!important;
  color:#8a4c19!important;
}
.contact-section-proposal>.container,.contact-section-proposal .contact-form-card{
  background:#fff3e7!important;
  border-color:#f1c99f!important;
}
.contact-section-proposal .contact-section-heading{
  background:#ffe8d2!important;
  border-color:#efbd87!important;
  color:#8a4c19!important;
}
.btn-proposal{
  background:#d8782d;
  color:#fff;
  border:1px solid #c76720;
}
.btn-proposal:hover,.btn-proposal:focus-visible{
  background:#bd611d;
  color:#fff;
}
.language-display,.language-tag{
  display:inline-flex;
  align-items:center;
  gap:.38rem;
}
.language-flag{
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  font-size:1.12em;
  line-height:1;
  display:inline-block;
  min-width:1.3em;
  text-align:center;
}
.book-price{
  font-weight:850;
  margin:.25rem 0 .75rem;
  color:#3e2a86;
}
@media (max-width:700px){
  .contact-section-heading{
    min-height:56px;
    padding:10px 12px;
  }
  .contact-section-heading h2{
    font-size:1.3rem!important;
  }
  .contact-section-icon{
    width:38px;
    height:38px;
  }
}
.lexicon-visual{
  position:relative;
}
.lexicon-term-image,.lexicon-modal-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  margin:0;
  border:0;
  padding:0;
}
.admin-resource-visual>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
[hidden]{
  display:none!important;
}
#term-dialog .related-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.5rem;
  max-height:210px;
  overflow:auto;
  padding:.35rem;
  align-items:stretch;
}
#term-dialog .related-options .choice-check{
  min-height:38px;
  padding:.4rem .55rem;
  gap:.45rem;
  border-radius:10px;
  justify-content:flex-start;
  align-items:center;
  font-size:.86rem;
  line-height:1.2;
  text-align:left;
}
#term-dialog .related-options .choice-check input{
  width:16px;
  height:16px;
  margin:0;
  flex:0 0 16px;
}
#term-dialog .related-options .choice-check span{
  display:flex;
  align-items:center;
  min-height:20px;
  overflow-wrap:anywhere;
}
#term-dialog .field-help{
  margin:.15rem 0 .45rem;
  text-align:center;
  color:var(--muted);
  font-size:.84rem;
}
@media (max-width:620px){
  #term-dialog .related-options{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:420px){
  #term-dialog .related-options{
    grid-template-columns:1fr;
  }
}
.media-filter-panel{
  display:grid;
  grid-template-columns:minmax(260px,2fr) repeat(3,minmax(150px,1fr)) auto;
  gap:.75rem;
  margin:1.5rem 0 2rem;
  padding:1rem;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
}
.media-filter-panel select{
  width:100%;
  padding:.82rem;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.media-catalog-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.media-card{
  display:grid;
  grid-template-columns:42% 1fr;
  min-height:340px;
}
.media-poster-link{
  display:block;
  min-height:100%;
  background:var(--soft);
}
.media-poster,.media-card .resource-placeholder{
  width:100%;
  height:100%;
  min-height:340px;
  aspect-ratio:auto;
  object-fit:cover;
  border-radius:0;
}
.media-card-body{
  display:flex;
  flex-direction:column;
  padding:1.15rem!important;
}
.media-card-body h2{
  font-size:1.35rem;
  margin:.65rem 0 .3rem;
}
.media-card-body h2 a{
  text-decoration:none;
}
.media-card-top{
  display:flex;
  gap:.45rem;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
}
.age-badge{
  display:inline-flex;
  padding:.28rem .55rem;
  border-radius:999px;
  background:#f2edff;
  color:#5638c9;
  font-weight:800;
  font-size:.76rem;
}
.media-summary{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:5;
  overflow:hidden;
}
.platform-list{
  display:flex;
  gap:.35rem;
  flex-wrap:wrap;
  margin:.6rem 0 .9rem;
}
.platform-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:#171719;
  color:#fff;
  padding:.3rem .6rem;
  font-size:.72rem;
  font-weight:800;
}
.media-card-body .btn{
  margin-top:auto;
}
.resource-detail-grid{
  display:grid;
  gap:2.2rem;
  align-items:start;
}
.resource-detail-poster{
  background:var(--soft);
  box-shadow:var(--shadow);
}
.resource-detail-poster img{
  width:100%;
  aspect-ratio:2/3;
  object-fit:cover;
}
.full-btn{
  width:100%;
  margin-top:1rem;
}
.resource-main h1{
  font-size:clamp(2.4rem,5vw,4.7rem);
  line-height:1;
  letter-spacing:-.04em;
}
.resource-main .lead{
  font-size:1.08rem;
}
.duck-note{
  margin-top:1.4rem;
  padding:1.2rem;
  border-radius:18px;
  background:#fff4c9;
  border:1px solid #f2db81;
}
.media-dialog{
  width:min(1260px,calc(100% - 2rem));
}
.media-form-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.media-admin-card>img,.admin-media-placeholder{
  width:90px;
  height:125px;
  object-fit:cover;
  border-radius:10px;
  background:var(--soft);
  display:grid;
  place-items:center;
  font-size:2.3rem;
}
.compact-choice-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.compact-choice-grid .choice-check{
  min-height:42px;
  padding:.45rem .55rem;
  font-size:.88rem;
}
@media (max-width:1100px){
  .media-filter-panel{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .media-catalog-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .compact-choice-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:760px){
  .media-filter-panel,.media-catalog-grid,.resource-detail-grid{
    grid-template-columns:1fr;
  }
  .media-card{
    grid-template-columns:130px 1fr;
    min-height:260px;
  }
  .media-poster,.media-card .resource-placeholder{
    min-height:260px;
  }
  .media-form-grid{
    grid-template-columns:1fr;
  }
  .media-form-grid .span-2,.media-form-grid .span-3{
    grid-column:auto;
  }
  .compact-choice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:520px){
  .media-card{
    grid-template-columns:1fr;
  }
  .media-poster,.media-card .resource-placeholder{
    height:360px;
    min-height:0;
  }
  .compact-choice-grid{
    grid-template-columns:1fr;
  }
}
.resource-back-row{
  display:flex;
  justify-content:flex-start;
  margin:0 0 1.25rem;
}
.resource-back{
  gap:.45rem;
}
.resource-information-grid{
  display:grid;
}
.resource-info-row{
  gap:1rem;
}
.resource-info-label{
  line-height:1.35;
}
.resource-info-value{
  display:block;
  min-width:0;
  font-size:.98rem;
}
.streaming-section{
  padding-top:.4rem;
}
.platform-link-list{
  display:flex;
  flex-wrap:wrap;
}
.platform-link{
  gap:.55rem;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:var(--ink);
  text-decoration:none;
  font-size:.9rem;
  font-weight:800;
  box-shadow:0 5px 14px rgba(30,25,20,.05);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.platform-link:hover,.platform-link:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(30,25,20,.11);
  border-color:#b9aaf1;
}
.platform-link svg{
  flex:0 0 26px;
  fill:currentColor;
  display:block;
}
.platform-link span{
  line-height:1;
}
.platform-external{
  font-size:.82rem;
  color:var(--muted);
}
.platform-netflix{
  color:#e50914;
}
.platform-disney{
  color:#113ccf;
}
.platform-prime-video{
  color:#00a8e1;
}
.platform-apple-tv{
  color:#111;
}
.platform-arte-tv{
  color:#fa4b00;
}
.platform-france-tv{
  color:#3366ff;
}
.platform-canal{
  color:#111;
}
.platform-tf1{
  color:#2451a4;
}
.platform-m6{
  color:#111;
}
.platform-youtube{
  color:#ff0000;
}
.platform-spotify{
  color:#1db954;
}
.platform-deezer{
  color:#6a31ff;
}
.platform-apple-music{
  color:#fa2d48;
}
@media (max-width:900px){
  .resource-information-grid{
    grid-template-columns:1fr;
  }
  .resource-info-row{
    grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);
  }
}
@media (max-width:560px){
  .resource-back-row{
    margin-bottom:1rem;
  }
  .resource-back{
    width:100%;
  }
  .resource-info-row{
    grid-template-columns:1fr;
    gap:.35rem;
  }
  .platform-link{
    width:100%;
    justify-content:flex-start;
  }
  .platform-external{
    margin-left:auto;
  }
}
#media-country{
  background:#fff;
}
#media-country option{
  border-radius:.45rem;
}
.field-help{
  display:block;
  margin-top:.35rem;
  color:var(--muted);
  font-size:.8rem;
  line-height:1.35;
}
.resource-info-value{
  line-height:1.55;
}
@media (max-width:720px){
  #media-country{
    min-height:10rem;
  }
  .media-form-grid .span-2{
    grid-column:1/-1;
  }
}
#books.book-grid{
  width:100%;
  visibility:visible!important;
  opacity:1!important;
}
#books .book-card{
  visibility:visible!important;
  opacity:1!important;
  min-width:0;
  width:100%;
}
#books .book-cover img,#books .cover-fallback{
  width:100%;
  height:100%;
  object-fit:cover;
}
.filters-row select{
  min-width:0;
  max-width:100%;
}
@media (max-width:1024px){
  #books.book-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .filters-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:680px){
  .catalog-toolbar,.filters-row,#books.book-grid{
    grid-template-columns:1fr!important;
  }
  .catalog-toolbar .btn{
    width:100%;
  }
  #books .book-card{
    display:grid!important;
    grid-template-columns:120px minmax(0,1fr);
    min-height:220px;
  }
  #books .book-cover{
    height:100%;
    min-height:220px;
    aspect-ratio:auto;
  }
  #books .book-body{
    min-width:0;
    padding:13px;
  }
  #books .book-body h3,#books .meta{
    overflow-wrap:anywhere;
  }
}
@media (max-width:420px){
  .container{
    width:calc(100% - 20px)!important;
  }
  #books .book-card{
    grid-template-columns:108px minmax(0,1fr);
    min-height:200px;
  }
  #books .book-cover{
    min-height:200px;
  }
  #books .book-body{
    padding:10px;
  }
  #books .tag{
    font-size:.68rem;
    padding:3px 6px;
  }
}
.native-flag{
  display:inline-block!important;
  width:24px!important;
  height:18px!important;
  min-width:24px;
  object-fit:cover;
  border-radius:2px;
  vertical-align:middle;
  box-shadow:0 0 0 1px rgba(0,0,0,.12);
}
.native-flag-fallback{
  font-size:1.05rem;
  line-height:1;
}
.language-display,.language-tag,.flag-label{
  display:inline-flex!important;
  align-items:center;
  gap:.45rem;
}
.flag-separator{
  display:inline-block;
  margin:0 .45rem;
  color:var(--muted);
}
.resource-info-value .flag-label{
  margin:.08rem .1rem .08rem 0;
}
.media-card .meta .native-flag{
  width:21px!important;
  height:15px!important;
  min-width:21px;
}
.media-card .meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.35rem;
}
#media-country{
  min-height:46px!important;
  height:46px!important;
  padding:.72rem .85rem!important;
  width:100%;
  appearance:auto;
}
#media-country option{
  padding:0!important;
  margin:0!important;
}
.media-filter-panel select{
  height:46px;
  min-height:46px;
}
.lexicon-card{
  height:184px!important;
  min-height:184px!important;
  grid-template-columns:126px minmax(0,1fr)!important;
}
.lexicon-visual{
  width:126px!important;
  height:184px!important;
  min-height:184px!important;
  background:#d9d9dd!important;
}
.lexicon-image-fallback{
  width:100%;
  height:100%;
  background:#d9d9dd!important;
}
.lexicon-card-body{
  padding:1rem 1.1rem!important;
}
.lexicon-card-body h2{
  font-size:1.18rem!important;
  margin-bottom:.4rem!important;
}
.lexicon-card-body p{
  -webkit-line-clamp:4!important;
  font-size:.92rem;
  line-height:1.45;
}
.lexicon-more{
  padding:.3rem 0!important;
}
.lexicon-modal-layout>.lexicon-image-fallback{
  background:#d9d9dd!important;
}
@media (max-width:900px){
  .lexicon-card{
    height:176px!important;
    min-height:176px!important;
  }
  .lexicon-visual{
    height:176px!important;
    min-height:176px!important;
  }
}
@media (max-width:520px){
  .lexicon-card{
    grid-template-columns:92px minmax(0,1fr)!important;
    height:170px!important;
    min-height:170px!important;
  }
  .lexicon-visual{
    width:92px!important;
    height:170px!important;
    min-height:170px!important;
  }
  .lexicon-card-body{
    padding:.85rem!important;
  }
  .lexicon-card-body h2{
    font-size:1.05rem!important;
  }
  .lexicon-card-body p{
    -webkit-line-clamp:4!important;
    font-size:.84rem;
  }
}
.loading-books{
  min-height:180px;
  display:grid;
  place-items:center;
}
.detail-cover{
  margin-bottom:0!important;
}
.author-card-under-cover{
  gap:12px!important;
}
.detail-main>.tags{
  margin:.55rem 0!important;
}
.back-cover h2,.bibliographic-info h2{
  margin-bottom:8px!important;
}
.detail-table{
  gap:7px!important;
  margin:10px 0!important;
}
.detail-row{
  padding:9px 11px!important;
}
.related-section h2{
  margin-bottom:12px!important;
}
.resource-subsection{
  padding:.6rem 0!important;
}
@media (max-width:820px){
  .detail{
    gap:20px!important;
  }
  .detail-left{
    gap:12px!important;
  }
  .bibliographic-info{
    margin-top:14px!important;
  }
  .detail-related{
    padding-top:18px!important;
  }
}
@media (max-width:620px){
  .detail-main h1{
    margin-top:0!important;
  }
  .back-cover{
    margin-top:12px!important;
  }
  .back-cover p{
    line-height:1.55!important;
  }
  .author-card-under-cover{
    padding:10px!important;
  }
  .detail-row{
    padding:8px 9px!important;
  }
}
.book-card .book-price{
  display:none!important;
}
.bibliographic-info .detail-table{
  display:grid;
}
.bibliographic-info .detail-row{
  display:grid;
  grid-template-columns:minmax(118px,42%) minmax(0,1fr);
  align-items:center;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.bibliographic-info .detail-row strong{
  font-size:.8rem;
  line-height:1.25;
  color:var(--muted);
}
.bibliographic-info .detail-row span{
  min-width:0;
  font-weight:750;
  overflow-wrap:anywhere;
}
.detail-empty{
  color:#97939d;
  font-style:italic;
  font-weight:500!important;
}
@media (max-width:760px){
  .bibliographic-info .detail-table{
    grid-template-columns:1fr;
  }
}
@media (max-width:420px){
  .bibliographic-info .detail-row{
    grid-template-columns:112px minmax(0,1fr);
    min-height:44px;
    padding:8px 9px!important;
  }
}
.book-body{
  min-height:238px;
}
.book-heading{
  min-height:76px;
}
.book-heading h3{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.book-heading .meta{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.book-fixed-tags{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:start;
  gap:6px;
  min-height:68px;
  margin:11px 0 14px;
}
.book-fixed-tags .tag{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:29px;
  margin:0;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.book-fixed-tags .theme-tag{
  background:#f0ecff;
  color:#5239c5;
}
.status-tag.status-available,.status-pill.status-available{
  background:#dff4e5!important;
  color:#176d39!important;
}
.status-tag.status-loaned,.status-pill.status-loaned{
  background:#fff0d8!important;
  color:#9b5b00!important;
}
.status-tag.status-unavailable,.status-pill.status-unavailable{
  background:#fde2e5!important;
  color:#a72737!important;
}
.status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:5px 11px;
  border-radius:999px;
  font-weight:850;
}
.bibliographic-info .detail-spacer{
  border:0!important;
}
#books.book-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
#books .book-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
}
#books .book-cover{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:3/4!important;
}
#books .book-body{
  width:100%!important;
}
@media (max-width:1080px){
  #books.book-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media (max-width:820px){
  #books.book-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #books .book-card{
    display:flex!important;
    flex-direction:column!important;
  }
  #books .book-cover{
    aspect-ratio:3/4!important;
    height:auto!important;
  }
}
@media (max-width:560px){
  #books.book-grid{
    grid-template-columns:1fr!important;
  }
  #books .book-card{
    display:grid!important;
    grid-template-columns:128px minmax(0,1fr)!important;
    min-height:228px!important;
  }
  #books .book-cover{
    height:100%!important;
    min-height:228px!important;
    aspect-ratio:auto!important;
  }
  #books .book-body{
    min-height:228px!important;
    padding:12px!important;
  }
  .book-heading{
    min-height:68px;
  }
  .book-fixed-tags{
    min-height:66px;
  }
  .bibliographic-info .detail-table{
    grid-template-columns:1fr!important;
  }
  .bibliographic-info .detail-spacer{
    display:none!important;
  }
}
@media (max-width:390px){
  #books .book-card{
    grid-template-columns:112px minmax(0,1fr)!important;
  }
}
.catalogue-error{
  grid-column:1/-1;
  max-width:820px;
  margin:0 auto;
}
.catalogue-error span{
  display:inline-block;
  margin:.45rem 0 1rem;
  color:var(--muted);
  overflow-wrap:anywhere;
}
.bibliographic-info .detail-table{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:row;
}
.bibliographic-info .detail-row>span:empty{
  min-height:1em;
}
.bibliographic-info .detail-spacer{
  visibility:hidden!important;
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
}
@media (max-width:760px){
  .bibliographic-info .detail-table{
    grid-template-columns:1fr!important;
  }
  .bibliographic-info .detail-spacer{
    display:none!important;
  }
}
.detail{
  align-items:start!important;
  gap:20px!important;
}
.detail-left{
  display:flex;
  flex-direction:column;
  gap:10px!important;
}
.detail-cover{
  margin:0!important;
}
.authors-under-cover{
  margin-top:0!important;
  padding-top:0!important;
  gap:8px!important;
}
.authors-under-cover>h2{
  margin:0 0 6px!important;
}
.author-card-under-cover{
  margin:0!important;
  padding:10px!important;
}
.detail-main{
  padding-top:0!important;
}
.detail-main h1{
  margin:0 0 8px!important;
}
.detail-main>.meta,.detail-main>.tags{
  margin:6px 0!important;
}
.back-cover{
  margin-top:12px!important;
  padding-top:0!important;
}
.back-cover h2,.bibliographic-info h2{
  margin:0 0 8px!important;
}
.back-cover p{
  margin:0!important;
  line-height:1.5!important;
}
.bibliographic-info{
  margin-top:14px!important;
}
.bibliographic-info .detail-table{
  gap:6px!important;
  margin:0!important;
}
.bibliographic-info .detail-row{
  min-height:44px!important;
  padding:8px 10px!important;
}
.petit-canard-word{
  margin:14px 0!important;
  padding:14px!important;
}
.detail-related{
  margin-top:0!important;
  padding-top:16px!important;
  gap:18px!important;
}
.related-section h2{
  margin:0 0 10px!important;
}
.detail-left,.detail-main{
  align-self:start!important;
}
.authors-under-cover,.bibliographic-info{
  scroll-margin-top:110px;
}
.media-filter-panel select,#media-age,#media-platform,#media-country,#media-type{
  min-width:0!important;
  width:100%!important;
  height:50px!important;
  min-height:50px!important;
  padding:0 2.4rem 0 .9rem!important;
  line-height:1.2!important;
  white-space:nowrap;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:.96rem!important;
}
.media-filter-panel{
  align-items:end!important;
}
.media-filter-panel .field{
  min-width:0!important;
}
.lexicon-admin-fallback{
  display:block;
  background:#d9d9dd!important;
  border:0!important;
  box-shadow:none!important;
}
.lexicon-admin-thumb,.lexicon-admin-preview{
  object-fit:cover;
  background:#d9d9dd;
}
@media (max-width:1024px){
  .detail{
    gap:16px!important;
  }
  .media-filter-panel{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:760px){
  .detail{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .detail-left,.detail-main{
    width:100%!important;
  }
  .authors-under-cover{
    margin-bottom:4px!important;
  }
  .bibliographic-info{
    margin-top:12px!important;
  }
  .media-filter-panel{
    grid-template-columns:1fr!important;
  }
  .media-filter-panel select,#media-age,#media-platform,#media-country,#media-type{
    height:48px!important;
    min-height:48px!important;
    font-size:.95rem!important;
  }
}
@media (max-width:480px){
  .author-card-under-cover{
    grid-template-columns:64px minmax(0,1fr)!important;
    gap:9px!important;
  }
  .author-card-under-cover img{
    width:64px!important;
    height:64px!important;
  }
  .bibliographic-info .detail-row{
    min-height:42px!important;
    padding:7px 8px!important;
  }
  .petit-canard-word{
    margin:12px 0!important;
    padding:12px!important;
  }
}
.badge-soon{
  position:absolute;
  top:.7rem;
  right:.7rem;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:.35rem .7rem;
  border-radius:999px;
  background:#ffdca8;
  color:#9b5800;
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  box-shadow:0 5px 14px rgba(230,138,0,.2);
}
.badge-soon-inline{
  background:#ffdca8!important;
  color:#9b5800!important;
  border-color:#f0bd65!important;
}
.authors-under-cover,.bibliographic-info{
  margin-top:14px!important;
}
.authors-under-cover>h2,.bibliographic-info>h2{
  padding:0!important;
  line-height:1.2;
}
.detail-left,.detail-main{
  padding-top:0!important;
}
@media (max-width:760px){
  .authors-under-cover,.bibliographic-info{
    margin-top:12px!important;
  }
  .authors-under-cover>h2,.bibliographic-info>h2{
    min-height:auto;
  }
}
.book-fixed-tags .age-tag{
  background:#dfefff!important;
  color:#1f5f9d!important;
  border:1px solid #b9d7f5!important;
  font-weight:850;
}
.authors-under-cover>h2,.bibliographic-info>h2{
  min-height:36px!important;
  display:flex!important;
  align-items:center!important;
  margin:0 0 8px!important;
}
.representations-section{
  margin-top:14px!important;
  padding-top:0!important;
}
.representations-section h2{
  margin:0 0 8px!important;
}
.detail-main .representations-section{
  width:100%;
}
@media (max-width:760px){
  .authors-under-cover>h2,.bibliographic-info>h2{
    min-height:auto!important;
  }
}
.book-secondary-grid{
  display:grid;
  grid-template-columns:minmax(260px,34%) minmax(0,1fr);
  gap:20px;
  align-items:start;
  margin-top:14px;
}
.book-author-column,.book-information-column{
  min-width:0;
  align-self:start;
}
.book-author-column .authors-under-cover,.book-information-column .bibliographic-info{
  margin:0!important;
  padding:0!important;
}
.book-author-column .authors-under-cover>h2,.book-information-column .bibliographic-info>h2{
  display:flex!important;
  align-items:center!important;
  height:40px!important;
  min-height:40px!important;
  margin:0 0 8px!important;
  padding:0!important;
  line-height:1.15!important;
}
.book-information-column .representations-section{
  margin:14px 0 0!important;
  padding:0!important;
  width:100%;
}
.book-information-column .representations-section h2{
  margin:0 0 8px!important;
}
.detail-cover-column,.detail-summary-column{
  align-self:start;
}
.detail-cover-column .authors-under-cover{
  display:none!important;
}
.detail-summary-column .bibliographic-info,.detail-summary-column .representations-section{
  display:none!important;
}
@media (max-width:820px){
  .book-secondary-grid{
    grid-template-columns:1fr;
    gap:14px;
    margin-top:12px;
  }
  .book-author-column .authors-under-cover>h2,.book-information-column .bibliographic-info>h2{
    height:auto!important;
    min-height:0!important;
  }
}
.book-three-column-layout{
  display:grid;
  grid-template-columns:minmax(230px,28%) minmax(360px,44%) minmax(230px,28%);
  grid-template-areas:"cover summary author"
"representations information related";
  gap:18px;
  align-items:start;
}
.book-cover-panel{
  grid-area:cover;
}
.book-summary-panel{
  grid-area:summary;
}
.book-author-panel{
  grid-area:author;
}
.book-representations-panel{
  grid-area:representations;
}
.book-information-panel{
  grid-area:information;
}
.book-related-panel{
  grid-area:related;
}
.book-layout-cell{
  min-width:0;
}
.book-author-panel,.book-representations-panel,.book-information-panel,.book-related-panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.book-author-panel>h2,.book-representations-panel>h2,.book-information-panel>h2{
  display:flex;
  align-items:center;
  min-height:56px;
  margin:0!important;
  padding:12px 16px!important;
  border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,#f6f1ff,#fff5f8);
  font-size:1.18rem!important;
  line-height:1.2!important;
}
.book-panel-content{
  padding:14px;
}
.book-summary-panel h1{
  margin:0 0 8px!important;
}
.book-summary-panel .back-cover{
  margin-top:14px!important;
}
.book-summary-panel .back-cover h2{
  margin:0 0 8px!important;
}
.book-summary-panel .back-cover p{
  margin:0!important;
  line-height:1.55!important;
}
.book-author-panel .author-card-under-cover{
  margin:0 0 10px!important;
}
.book-author-panel .author-card-under-cover:last-child{
  margin-bottom:0!important;
}
.book-representations-panel h3{
  margin:0 0 7px!important;
  font-size:1rem!important;
}
.book-representations-panel h3:not(:first-child){
  margin-top:14px!important;
}
.book-representations-panel .tags{
  margin:0!important;
}
.book-information-panel .detail-table{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  margin:0!important;
}
.book-information-panel .detail-row{
  min-height:44px!important;
  padding:8px 10px!important;
}
.book-information-panel .detail-spacer{
  visibility:hidden!important;
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
}
.book-information-panel .petit-canard-word{
  margin:14px 0 0!important;
}
.book-loan-action{
  margin-top:12px;
}
.book-loan-action .btn{
  width:100%;
}
.book-related-panel{
  padding:14px;
}
.compact-related-section+ .compact-related-section{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.compact-related-section h2{
  margin:0 0 10px!important;
  font-size:1.08rem!important;
}
.compact-related-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.compact-related-card{
  display:block;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.compact-related-cover{
  width:100%;
  aspect-ratio:3/4;
  overflow:hidden;
  border-radius:10px;
  background:#eee;
}
.compact-related-cover img,.compact-related-cover .cover-placeholder{
  width:100%;
  height:100%;
  object-fit:cover;
}
.compact-related-card span{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  margin-top:5px;
  font-size:.78rem;
  font-weight:800;
  line-height:1.25;
}
@media (max-width:1100px){
  .book-three-column-layout{
    grid-template-columns:minmax(220px,34%) minmax(0,1fr);
    grid-template-areas:"cover summary"
"author author"
"representations information"
"related related";
  }
  .compact-related-list{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:820px){
  .book-three-column-layout{
    grid-template-columns:1fr;
    grid-template-areas:"cover"
"summary"
"author"
"representations"
"information"
"related";
    gap:14px;
  }
  .book-cover-panel{
    max-width:360px;
    width:100%;
    margin:0 auto;
  }
  .book-information-panel .detail-table{
    grid-template-columns:1fr!important;
  }
  .book-information-panel .detail-spacer{
    display:none!important;
  }
  .compact-related-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:480px){
  .book-panel-content,.book-related-panel{
    padding:11px;
  }
  .book-author-panel>h2,.book-representations-panel>h2,.book-information-panel>h2{
    min-height:50px;
    padding:10px 13px!important;
    font-size:1.05rem!important;
  }
}
.book-flat-layout{
  display:grid;
  grid-template-columns:minmax(220px,26%) minmax(380px,48%) minmax(220px,26%);
  grid-template-areas:"cover summary representations"
"empty center related";
  gap:22px 20px;
  align-items:start;
}
.book-flat-cover{
  grid-area:cover;
  min-width:0;
}
.book-flat-summary{
  grid-area:summary;
  min-width:0;
}
.book-flat-representations{
  grid-area:representations;
  min-width:0;
}
.book-flat-empty{
  grid-area:empty;
}
.book-flat-center-stack{
  grid-area:center;
  min-width:0;
}
.book-flat-related{
  grid-area:related;
  min-width:0;
}
.book-flat-summary h1{
  margin:0 0 8px!important;
}
.book-flat-summary .back-cover{
  margin-top:14px!important;
}
.book-flat-summary .back-cover h2,.book-flat-representations>h2,.book-flat-information>h2,.book-flat-author>h2,.book-flat-note>h2,.flat-related-section>h2{
  margin:0 0 10px!important;
  padding:0 0 8px!important;
  border-bottom:2px solid var(--line);
  background:none!important;
  font-size:1.16rem!important;
  line-height:1.2!important;
}
.book-flat-representations,.book-flat-information,.book-flat-author,.book-flat-note,.book-flat-related{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
}
.book-flat-section-body{
  padding:0!important;
}
.book-flat-representations h3{
  margin:0 0 7px!important;
  font-size:1rem!important;
}
.book-flat-representations h3:not(:first-child){
  margin-top:15px!important;
}
.book-flat-representations .tags{
  margin:0!important;
}
.book-flat-center-stack{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.book-flat-information .detail-table{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  margin:0!important;
}
.book-flat-information .detail-row{
  min-height:42px!important;
  padding:8px 10px!important;
  background:#f8f8fa!important;
  border:0!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.book-flat-information .detail-spacer{
  display:none!important;
}
.book-flat-author .author-card-under-cover{
  margin:0 0 10px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.book-flat-author .author-card-under-cover:last-child{
  margin-bottom:0!important;
}
.book-flat-note{
  padding-top:0!important;
}
.book-flat-related{
  display:flex;
  flex-direction:column;
  gap:22px;
}
@media (max-width:1100px){
  .book-flat-layout{
    grid-template-columns:minmax(220px,34%) minmax(0,1fr);
    grid-template-areas:"cover summary"
"representations representations"
"center related";
  }
  .book-flat-empty{
    display:none;
  }
}
@media (max-width:820px){
  .book-flat-layout{
    grid-template-columns:1fr;
    grid-template-areas:"cover"
"summary"
"representations"
"center"
"related";
    gap:16px;
  }
  .book-flat-cover{
    max-width:360px;
    width:100%;
    margin:0 auto;
  }
  .flat-related-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:480px){
  .book-flat-summary .back-cover h2,.book-flat-representations>h2,.book-flat-information>h2,.book-flat-author>h2,.book-flat-note>h2,.flat-related-section>h2{
    font-size:1.05rem!important;
  }
  .book-flat-center-stack{
    gap:16px;
  }
}
.book-balanced-layout{
  display:grid;
  grid-template-columns:minmax(220px,25%) minmax(420px,47%) minmax(260px,28%);
  grid-template-areas:"cover summary author"
"leftbottom information rightstack";
  gap:22px 20px;
  align-items:start;
}
.book-balanced-cover{
  grid-area:cover;
  min-width:0;
}
.book-balanced-summary{
  grid-area:summary;
  min-width:0;
}
.book-balanced-author{
  grid-area:author;
  min-width:0;
}
.book-balanced-left-bottom{
  grid-area:leftbottom;
  min-width:0;
}
.book-balanced-information{
  grid-area:information;
  min-width:0;
}
.book-balanced-right-stack{
  grid-area:rightstack;
  min-width:0;
}
.book-balanced-summary h1{
  margin:0 0 8px!important;
}
.book-balanced-summary .back-cover{
  margin-top:14px!important;
}
.book-balanced-summary .back-cover h2,.book-balanced-author>h2,.book-balanced-information>h2,.book-balanced-representations>h2,.book-flat-note>h2,.flat-related-section>h2{
  margin:0 0 10px!important;
  padding:0 0 8px!important;
  border-bottom:2px solid var(--line);
  background:none!important;
  font-size:1.16rem!important;
  line-height:1.2!important;
}
.book-balanced-author,.book-balanced-information,.book-balanced-representations,.book-balanced-related,.book-balanced-left-bottom{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.book-balanced-author-content{
  max-height:520px;
  overflow:auto;
  padding-right:4px;
}
.book-balanced-author .author-card-under-cover{
  margin:0 0 14px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.book-balanced-author .author-card-under-cover:last-child{
  margin-bottom:0!important;
}
.book-balanced-author .author-card-under-cover p{
  line-height:1.55!important;
}
.book-balanced-left-bottom{
  display:flex;
  flex-direction:column;
}
.book-flat-note p{
  margin:0!important;
  padding:12px 14px;
  background:#fff7d9;
  border-radius:8px;
  line-height:1.55;
}
.book-flat-loan-action .btn{
  width:100%;
}
.book-balanced-information .detail-table{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  margin:0!important;
}
.book-balanced-information .detail-row{
  min-height:42px!important;
  padding:8px 10px!important;
  background:#f8f8fa!important;
  border:0!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.book-balanced-information .detail-spacer{
  display:none!important;
}
.book-balanced-right-stack{
  display:flex;
  flex-direction:column;
  gap:22px;
}
.book-balanced-representations h3{
  margin:0 0 7px!important;
  font-size:1rem!important;
}
.book-balanced-representations h3:not(:first-child){
  margin-top:15px!important;
}
.book-balanced-representations .tags{
  margin:0!important;
}
.book-balanced-related{
  display:flex;
  flex-direction:column;
}
@media (max-width:1180px){
  .book-balanced-layout{
    grid-template-columns:minmax(220px,32%) minmax(0,1fr);
    grid-template-areas:"cover summary"
"author author"
"leftbottom information"
"rightstack rightstack";
  }
  .book-balanced-author-content{
    max-height:none;
    overflow:visible;
  }
  .book-balanced-right-stack{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:20px;
  }
}
@media (max-width:820px){
  .book-balanced-layout{
    grid-template-columns:1fr;
    grid-template-areas:"cover"
"summary"
"author"
"leftbottom"
"information"
"rightstack";
    gap:16px;
  }
  .book-balanced-cover{
    max-width:360px;
    width:100%;
    margin:0 auto;
  }
  .book-balanced-right-stack{
    display:flex;
    flex-direction:column;
  }
  .flat-related-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:480px){
  .book-balanced-summary .back-cover h2,.book-balanced-author>h2,.book-balanced-information>h2,.book-balanced-representations>h2,.book-flat-note>h2,.flat-related-section>h2{
    font-size:1.05rem!important;
  }
}
.book-balanced-left-bottom{
  gap:12px!important;
}
.book-flat-loan-action{
  order:1;
}
.book-flat-note{
  order:2;
}
.book-balanced-related{
  gap:18px!important;
}
.flat-related-section{
  max-height:300px;
  overflow:hidden;
}
@media (max-width:820px){
  .flat-related-list{
    grid-template-columns:repeat(4,minmax(0,82px))!important;
  }
  .flat-related-cover,.flat-related-card span{
    max-width:82px;
  }
}
@media (max-width:520px){
  .flat-related-list{
    grid-template-columns:repeat(2,minmax(0,78px))!important;
  }
  .flat-related-cover,.flat-related-card span{
    max-width:78px;
  }
}
.book-balanced-author .author-card-under-cover .author-info,.book-balanced-author .author-card-under-cover .author-text{
  flex:1!important;
}
.book-balanced-author .author-card-under-cover p{
  max-width:none!important;
  width:100%!important;
  text-align:left!important;
}
@media (max-width:820px){
  .book-balanced-author .author-card-under-cover img,.book-balanced-author .author-card-under-cover .author-photo{
    width:140px!important;
  }
}
.book-balanced-author .author-card-under-cover{
  display:flex!important;
  flex-direction:column!important;
}
.book-balanced-author .author-card-under-cover img,.book-balanced-author .author-card-under-cover .author-photo{
  max-width:100%!important;
  border-radius:12px!important;
}
.book-balanced-author .author-card-under-cover .author-info,.book-balanced-author .author-card-under-cover .author-text{
  max-width:none!important;
}
.author-bio-text{
  width:100%!important;
  max-width:none!important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:8;
  overflow:hidden;
  margin-bottom:8px!important;
}
.author-bio-text.is-expanded{
  display:block;
  overflow:visible;
}
.author-bio-toggle{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  color:var(--purple);
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.author-bio-toggle:hover,.author-bio-toggle:focus-visible{
  text-decoration:underline;
}
.author-bio-toggle[hidden]{
  display:none!important;
}
@media (max-width:820px){
  .book-balanced-author .author-card-under-cover img,.book-balanced-author .author-card-under-cover .author-photo{
    width:150px!important;
  }
  .author-bio-text{
    -webkit-line-clamp:7;
  }
}
@media (max-width:480px){
  .book-balanced-author .author-card-under-cover img,.book-balanced-author .author-card-under-cover .author-photo{
    width:130px!important;
  }
  .author-bio-text{
    -webkit-line-clamp:6;
  }
}
.book-balanced-author .author-card-under-cover{
  align-items:center!important;
}
.book-balanced-author .author-card-under-cover img,.book-balanced-author .author-card-under-cover .author-photo{
  width:min(220px,100%)!important;
  aspect-ratio:5/4!important;
  object-fit:cover!important;
  display:block;
  margin:0 auto 14px auto!important;
}
.book-balanced-author .author-card-under-cover .author-info,.book-balanced-author .author-card-under-cover .author-text{
  width:100%!important;
}
.book-balanced-author .author-card-under-cover h3,.book-balanced-author .author-card-under-cover h4,.book-balanced-author .author-card-under-cover strong{
  text-align:center;
  display:block;
  margin-bottom:10px;
}
.book-final-layout{
  display:grid;
  grid-template-columns:minmax(220px,25%) minmax(420px,47%) minmax(260px,28%);
  grid-template-areas:"cover summary author"
"left information author";
  gap:22px 20px;
  align-items:start;
}
.book-final-cover{
  grid-area:cover;
  min-width:0;
}
.book-final-summary{
  grid-area:summary;
  min-width:0;
}
.book-final-author{
  grid-area:author;
  min-width:0;
}
.book-final-left-stack{
  grid-area:left;
  min-width:0;
}
.book-final-information{
  grid-area:information;
  min-width:0;
}
.book-final-summary h1{
  margin:0 0 8px!important;
}
.book-final-summary .back-cover{
  margin-top:14px!important;
}
.book-final-summary .back-cover h2,.book-final-author>h2,.book-final-note>h2,.book-final-representations>h2,.book-final-information>h2,.flat-related-section>h2{
  margin:0 0 10px!important;
  padding:0 0 8px!important;
  border-bottom:2px solid var(--line);
  background:none!important;
  font-size:1.16rem!important;
  line-height:1.2!important;
}
.book-final-left-stack{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.book-final-loan-action .btn{
  width:100%;
}
.book-final-note p{
  margin:0!important;
  padding:12px 14px;
  background:#fff7d9;
  border-radius:8px;
  line-height:1.55;
}
.book-final-representations h3{
  margin:0 0 7px!important;
  font-size:1rem!important;
}
.book-final-representations h3:not(:first-child){
  margin-top:15px!important;
}
.book-final-representations .tags{
  margin:0!important;
}
.book-final-information .detail-table{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  margin:0!important;
}
.book-final-information .detail-row{
  min-height:42px!important;
  padding:8px 10px!important;
  background:#f8f8fa!important;
  border:0!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.book-final-information .detail-spacer{
  display:none!important;
}
.book-final-author .author-card-under-cover{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  margin:0 0 18px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.book-final-author .author-card-under-cover img,.book-final-author .author-card-under-cover .author-photo{
  display:block!important;
}
.book-final-author .author-card-under-cover .author-info,.book-final-author .author-card-under-cover .author-text{
  width:100%!important;
  max-width:none!important;
}
.book-final-author .author-card-under-cover h3,.book-final-author .author-card-under-cover h4,.book-final-author .author-card-under-cover strong{
  display:block;
  width:100%;
  margin:0 0 10px!important;
  padding:0 0 8px;
  color:var(--purple)!important;
  text-align:center;
  border-bottom:1px solid var(--line);
}
.book-final-author .author-card-under-cover p{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  text-align:left!important;
  line-height:1.55!important;
}
.book-final-author-content{
  max-height:560px;
  overflow:auto;
  padding-right:4px;
}
.flat-related-section + .flat-related-section{
  margin-top:18px;
  padding-top:16px!important;
  border-top:1px solid var(--line);
}
.flat-related-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,92px))!important;
  justify-content:start;
  gap:8px!important;
}
.flat-related-cover{
  width:100%;
  max-width:92px;
  aspect-ratio:3/4;
  overflow:hidden;
  border-radius:7px!important;
  background:#eee;
}
.flat-related-cover img,.flat-related-cover .cover-placeholder{
  width:100%;
  height:100%;
  object-fit:cover;
}
.flat-related-card{
  display:block;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.flat-related-card span{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  max-width:92px;
  margin-top:5px;
  font-size:.72rem!important;
  font-weight:800;
  line-height:1.2!important;
}
.related-count{
  margin:8px 0 0;
  font-size:.8rem;
  color:var(--muted);
  font-weight:700;
}
@media (max-width:1180px){
  .book-final-layout{
    grid-template-columns:minmax(220px,32%) minmax(0,1fr);
    grid-template-areas:"cover summary"
"author author"
"left information";
  }
  .book-final-author-content{
    max-height:none;
    overflow:visible;
  }
  .book-final-related{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
  }
  .flat-related-section + .flat-related-section{
    margin-top:0;
    padding-top:0!important;
    border-top:0;
  }
}
@media (max-width:820px){
  .book-final-layout{
    grid-template-columns:1fr;
    grid-template-areas:"cover"
"summary"
"author"
"left"
"information";
    gap:16px;
  }
  .book-final-cover{
    max-width:360px;
    width:100%;
    margin:0 auto;
  }
  .book-final-related{
    display:block;
  }
  .flat-related-section + .flat-related-section{
    margin-top:18px;
    padding-top:16px!important;
    border-top:1px solid var(--line);
  }
}
.book-final-author .author-card-under-cover img,.book-final-author .author-card-under-cover .author-photo{
  width:180px!important;
  height:180px!important;
  aspect-ratio:1/1!important;
  border-radius:50%!important;
  object-fit:cover!important;
  margin:0 auto 14px!important;
}
.book-final-layout{
  grid-template-rows:auto auto;
}
.book-final-left-stack,.book-final-information,.book-final-author{
  align-self:start!important;
}
.book-final-left-stack{
  margin-top:0!important;
}
.book-final-information{
  margin-top:0!important;
}
.book-final-author>h2{
  margin-top:0!important;
}
@media (max-width:1180px){
  .book-final-author{
    padding-top:28px!important;
  }
}
@media (max-width:820px){
  .book-final-author{
    padding-top:0!important;
  }
}
.book-final-author{
  padding-top:92px!important;
}
.book-final-author>h2{
  margin-bottom:18px!important;
}
.book-final-related{
  margin-top:32px!important;
}
.book-final-information>h2,.flat-related-section:first-child>h2{
  min-height:32px;
  display:flex;
  align-items:flex-end;
}
@media (max-width:1180px){
  .book-final-author{
    padding-top:36px!important;
  }
  .book-final-related{
    margin-top:22px!important;
  }
}
@media (max-width:820px){
  .book-final-author{
    padding-top:0!important;
  }
  .book-final-related{
    margin-top:18px!important;
  }
}
#book-detail.detail{
  display:block!important;
}
.book-structural-grid{
  display:grid;
  grid-template-columns:minmax(220px,25%) minmax(420px,47%) minmax(260px,28%);
  grid-template-rows:auto auto;
  grid-template-areas:"cover summary author"
"left information related";
  gap:22px 20px;
  align-items:start;
}
.book-structural-cover{
  grid-area:cover;
  min-width:0;
}
.book-structural-summary{
  grid-area:summary;
  min-width:0;
}
.book-structural-author{
  grid-area:author;
  min-width:0;
}
.book-structural-left{
  grid-area:left;
  min-width:0;
}
.book-structural-information{
  grid-area:information;
  min-width:0;
}
.book-structural-related{
  grid-area:related;
  min-width:0;
}
.book-structural-summary h1{
  margin:0 0 8px!important;
}
.book-structural-summary .back-cover{
  margin-top:14px!important;
}
.book-structural-author{
  display:grid;
  grid-template-rows:72px auto auto;
  align-self:start;
}
.book-author-offset{
  min-height:72px;
}
.book-structural-author>h2,.book-structural-information>h2,.book-structural-note>h2,.book-structural-representations>h2,.book-structural-related .flat-related-section>h2{
  margin:0 0 10px!important;
  padding:0 0 8px!important;
  border-bottom:2px solid var(--line);
  background:none!important;
  font-size:1.16rem!important;
  line-height:1.2!important;
}
.book-structural-author>h2{
  min-height:44px;
  display:flex;
  align-items:center;
}
.book-structural-author-content{
  max-height:560px;
  overflow:auto;
  padding-right:4px;
}
.book-structural-author .author-card-under-cover{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  margin:0 0 18px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.book-structural-author .author-card-under-cover img,.book-structural-author .author-card-under-cover .author-photo{
  width:180px!important;
  height:180px!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  border-radius:50%!important;
  margin:0 auto 14px!important;
}
.book-structural-author .author-card-under-cover .author-info,.book-structural-author .author-card-under-cover .author-text{
  width:100%!important;
}
.book-structural-author .author-card-under-cover h3,.book-structural-author .author-card-under-cover h4,.book-structural-author .author-card-under-cover strong{
  display:block;
  width:100%;
  margin:0 0 10px!important;
  padding:0 0 8px;
  color:var(--purple)!important;
  text-align:center;
  border-bottom:1px solid var(--line);
}
.book-structural-author .author-card-under-cover p{
  width:100%!important;
  margin:0!important;
  line-height:1.55!important;
  text-align:left!important;
}
.book-structural-left,.book-structural-information,.book-structural-related{
  align-self:start!important;
  margin:0!important;
  padding:0!important;
}
.book-structural-left{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.book-structural-loan{
  min-height:44px;
  display:flex;
  align-items:flex-start;
}
.book-structural-loan .btn{
  width:100%;
}
.book-structural-information>h2,.book-structural-related .flat-related-section:first-child>h2{
  min-height:44px;
  display:flex;
  align-items:center;
}
.book-structural-note p{
  margin:0!important;
  padding:12px 14px;
  background:#fff7d9;
  border-radius:8px;
  line-height:1.55;
}
.book-structural-representations h3{
  margin:0 0 7px!important;
  font-size:1rem!important;
}
.book-structural-representations h3:not(:first-child){
  margin-top:15px!important;
}
.book-structural-representations .tags{
  margin:0!important;
}
.book-structural-information .detail-table{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  margin:0!important;
}
.book-structural-information .detail-row{
  min-height:42px!important;
  padding:8px 10px!important;
  background:#f8f8fa!important;
  border:0!important;
  border-radius:8px!important;
  box-shadow:none!important;
}
.book-structural-information .detail-spacer{
  display:none!important;
}
.book-structural-related{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.book-structural-related .flat-related-section + .flat-related-section{
  margin-top:0;
  padding-top:16px!important;
  border-top:1px solid var(--line);
}
.book-structural-related .flat-related-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,92px))!important;
  gap:8px!important;
}
.book-structural-related .flat-related-cover{
  width:100%;
  max-width:92px;
  aspect-ratio:3/4;
  overflow:hidden;
  border-radius:7px!important;
  background:#eee;
}
.book-structural-related .flat-related-cover img,.book-structural-related .flat-related-cover .cover-placeholder{
  width:100%;
  height:100%;
  object-fit:cover;
}
.book-structural-related .flat-related-card{
  display:block;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.book-structural-related .flat-related-card span{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  max-width:92px;
  margin-top:5px;
  font-size:.72rem!important;
  font-weight:800;
  line-height:1.2!important;
}
@media (max-width:1180px){
  .book-structural-grid{
    grid-template-columns:minmax(220px,32%) minmax(0,1fr);
    grid-template-areas:"cover summary"
"author author"
"left information"
"related related";
  }
  .book-structural-author{
    grid-template-rows:28px auto auto;
  }
  .book-author-offset{
    min-height:28px;
  }
  .book-structural-author-content{
    max-height:none;
    overflow:visible;
  }
  .book-structural-related{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
  }
  .book-structural-related .flat-related-section + .flat-related-section{
    padding-top:0!important;
    border-top:0;
  }
}
@media (max-width:820px){
  .book-structural-grid{
    grid-template-columns:1fr;
    grid-template-areas:"cover"
"summary"
"author"
"left"
"information"
"related";
    gap:16px;
  }
  .book-structural-cover{
    max-width:360px;
    width:100%;
    margin:0 auto;
  }
  .book-structural-author{
    grid-template-rows:auto auto;
  }
  .book-author-offset{
    display:none;
  }
  .book-structural-related{
    display:flex;
    flex-direction:column;
  }
  .book-structural-information>h2,.book-structural-related .flat-related-section:first-child>h2,.book-structural-author>h2{
    min-height:auto;
  }
}
.media-filter-panel #media-country:not([multiple]){
  width:100%!important;
  height:50px!important;
  min-height:50px!important;
  max-height:50px!important;
  padding:0 2.4rem 0 .9rem!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#fff!important;
  line-height:1.2!important;
  font-size:.96rem!important;
  appearance:auto!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.media-dialog #media-country[multiple],#media-form #media-country[multiple]{
  display:block!important;
  width:100%!important;
  height:15rem!important;
  min-height:15rem!important;
  max-height:none!important;
  padding:.5rem!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#fff!important;
  line-height:1.35!important;
  font-size:.94rem!important;
  appearance:auto!important;
  overflow-y:auto!important;
  white-space:normal!important;
}
.media-dialog #media-country[multiple] option,#media-form #media-country[multiple] option{
  min-height:34px!important;
  padding:.45rem .6rem!important;
  margin:0 0 .18rem!important;
  border-radius:7px!important;
  line-height:1.3!important;
  white-space:normal!important;
}
.media-dialog #media-country[multiple] option:checked,#media-form #media-country[multiple] option:checked{
  background:#ede7ff linear-gradient(0deg,#ede7ff,#ede7ff)!important;
  color:#432a9d!important;
  font-weight:800!important;
}
#media-country-help{
  margin-top:.45rem!important;
  max-width:48rem;
}
.media-form-grid .field:has(#media-country[multiple]){
  min-width:0!important;
  align-self:stretch!important;
}
@media (max-width:760px){
  .media-filter-panel #media-country:not([multiple]){
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
  }
  .media-dialog #media-country[multiple],#media-form #media-country[multiple]{
    height:13rem!important;
    min-height:13rem!important;
  }
}
.media-card-classification{
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}
.media-card-classification .resource-type-badge,.media-card-classification .age-badge{
  width:max-content;
  max-width:100%;
}
.media-creator{
  margin:.15rem 0 .35rem;
  font-weight:800;
}
.media-country-line{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.35rem;
  margin:0 0 .45rem;
  color:var(--muted);
  font-size:.88rem;
}
.platform-list{
  justify-content:center!important;
  align-items:center!important;
}
.platform-badge{
  justify-content:center;
  text-align:center;
}
.resource-heading-stack{
  flex-direction:column;
  align-items:flex-start;
}
.resource-country-heading{
  margin-top:2px;
}
.resource-poster-tags h2,.resource-information-section>h2,.resource-synopsis>h2{
  margin:0 0 10px;
  padding-bottom:8px;
  border-bottom:2px solid var(--line);
  font-size:1.16rem;
}
.resource-poster-tags .tags{
  margin:0;
}
.resource-information-grid{
  grid-template-columns:1fr!important;
  margin:0!important;
}
.resource-info-row{
  display:grid!important;
  grid-template-columns:minmax(160px,38%) minmax(0,1fr)!important;
  align-items:center;
  border:0!important;
  border-radius:8px!important;
  background:#f8f8fa!important;
  box-shadow:none!important;
}
.resource-info-label{
  font-size:.8rem;
  color:var(--muted);
  font-weight:800;
}
.resource-info-value{
  overflow-wrap:anywhere;
}
.streaming-section h2{
  text-align:center;
}
.platform-link-list{
  justify-content:center!important;
  align-items:stretch!important;
}
.platform-link{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
}
.platform-link svg{
  margin:0 0 7px!important;
}
.platform-link .platform-external{
  position:absolute;
  top:5px;
  right:7px;
}
.platform-link{
  position:relative;
}
.media-music-field{
  transition:opacity .2s ease;
}
@media (max-width:820px){
  .resource-detail-harmonised{
    grid-template-columns:1fr!important;
  }
  .resource-poster-column{
    max-width:420px;
    width:100%;
    margin:0 auto;
  }
  .resource-info-row{
    grid-template-columns:130px minmax(0,1fr)!important;
  }
}
@media (max-width:480px){
  .resource-info-row{
    grid-template-columns:1fr!important;
    gap:3px;
  }
  .platform-link{
    min-width:96px;
    min-height:86px;
  }
}
.media-category-field[hidden]{
  display:none!important;
}
.media-type-help{
  margin:.35rem 0 0;
  color:var(--muted);
  font-size:.82rem;
}
.resource-back-row{
  margin-bottom:10px!important;
}
.resource-detail-harmonised{
  gap:18px!important;
}
.resource-main>h1{
  line-height:1.12!important;
}
.resource-heading-stack{
  gap:5px!important;
  margin-bottom:7px!important;
}
.resource-synopsis{
  margin:0 0 12px!important;
}
.resource-synopsis>h2,.resource-poster-tags h2,.resource-information-section>h2,.streaming-section>h2,.music-playlists-section>h2{
  margin:0 0 7px!important;
  padding-bottom:5px!important;
  font-size:1.08rem!important;
}
.resource-synopsis .lead{
  margin:0!important;
  line-height:1.48!important;
}
.resource-poster-tags .tags{
  gap:5px!important;
}
.resource-poster-tags .tag{
  padding:4px 8px!important;
  font-size:.76rem!important;
}
.resource-information-section{
  margin-top:12px!important;
}
.resource-information-grid{
  gap:5px!important;
}
.resource-info-row{
  min-height:38px!important;
  padding:6px 9px!important;
}
.resource-subsection{
  margin-top:12px!important;
  padding-top:0!important;
}
.resource-detail-poster{
  margin-bottom:9px!important;
}
.resource-poster-column>.full-btn{
  margin-top:8px!important;
}
.music-playlist-list{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
}
.music-playlist-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  color:inherit;
  text-decoration:none;
  font-weight:850;
  background:#fff;
}
.music-playlist-icon{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
}
.music-playlist-icon svg{
  width:24px;
  height:24px;
  fill:currentColor;
}
.youtube-playlist{
  color:#b42318;
}
.deezer-playlist{
  color:#5b2f91;
}
.platform-link-list{
  gap:8px!important;
}
.platform-link{
  min-width:96px!important;
  min-height:78px!important;
  padding:8px!important;
}
.platform-link svg{
  width:26px!important;
  height:26px!important;
  margin-bottom:5px!important;
}
.platform-link span{
  font-size:.78rem;
}
@media (max-width:820px){
  .resource-detail-harmonised{
    gap:14px!important;
  }
  .resource-poster-tags{
    margin-top:9px!important;
  }
}
@media (max-width:480px){
  .resource-main>h1{
    font-size:1.75rem!important;
  }
  .resource-info-row{
    min-height:0!important;
    padding:7px 8px!important;
  }
  .music-playlist-link{
    width:100%;
  }
}
.media-card .media-poster,.media-card .resource-placeholder{
  display:block!important;
}
.media-card .music-singer-name{
  margin:.15rem 0 .4rem!important;
  color:var(--purple);
  font-weight:850;
  line-height:1.3;
}
.resource-poster-column{
  display:flex;
  flex-direction:column;
  gap:0!important;
}
.resource-category-header{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:76px;
  padding:12px 14px;
  border-radius:16px 16px 0 0;
  text-align:center;
}
.resource-category-header strong{
  font-size:1rem;
  line-height:1.2;
}
.resource-category-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
}
.resource-category-icon svg{
  width:34px;
  height:34px;
  fill:currentColor;
}
.resource-category-header.pastel-film{
  background:#fde4e4;
  color:#8d3030;
}
.resource-category-header.pastel-short{
  background:#ffe9cf;
  color:#8b561e;
}
.resource-category-header.pastel-series{
  background:#e6e1ff;
  color:#55419b;
}
.resource-category-header.pastel-report{
  background:#dff1ea;
  color:#2f6f5d;
}
.resource-category-header.pastel-podcast{
  background:#e1edff;
  color:#315f9a;
}
.resource-category-header.pastel-music{
  background:#f7e1f1;
  color:#883f75;
}
.resource-category-header.pastel-default{
  background:#ececf1;
  color:#555;
}
.resource-detail-poster{
  margin:0 0 9px!important;
  border-radius:0 0 16px 16px!important;
  overflow:hidden;
}
.resource-detail-poster img,.resource-detail-poster .resource-placeholder{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:2/3;
  object-fit:cover;
}
.resource-detail-poster .resource-placeholder{
  display:grid;
  place-items:center;
  min-height:0!important;
  padding:18px;
  background:#f0f0f3;
  color:var(--muted);
  text-align:center;
  font-weight:800;
}
.media-card .media-poster-link{
  display:block!important;
  width:100%!important;
  text-decoration:none;
}
.media-card-category-header{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:88px;
  padding:10px 12px;
  text-align:center;
}
.media-card-category-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  font-size:2rem;
  line-height:1;
}
.media-card-age{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:inherit;
  font-size:.76rem;
  font-weight:900;
}
.media-card-category-header.pastel-film{
  background:#fde4e4;
  color:#8d3030;
}
.media-card-category-header.pastel-short{
  background:#ffe9cf;
  color:#8b561e;
}
.media-card-category-header.pastel-series{
  background:#e6e1ff;
  color:#55419b;
}
.media-card-category-header.pastel-report{
  background:#dff1ea;
  color:#2f6f5d;
}
.media-card-category-header.pastel-podcast{
  background:#e1edff;
  color:#315f9a;
}
.media-card-category-header.pastel-music{
  background:#f7e1f1;
  color:#883f75;
}
.media-card-category-header.pastel-default{
  background:#ececf1;
  color:#555;
}
.media-card .media-poster,.media-card .resource-placeholder{
  width:100%!important;
  height:auto!important;
  aspect-ratio:2/3!important;
  object-fit:cover!important;
}
.media-card .resource-placeholder{
  display:grid!important;
  place-items:center!important;
}
.media-card-body h2{
  margin-top:0!important;
}
.media-card-classification{
  display:none!important;
}
.resource-main>h1{
  margin:0 0 7px!important;
}
.resource-heading-stack{
  display:none!important;
}
.resource-country-heading{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.4rem;
  margin:0 0 6px!important;
  color:var(--muted);
}
.resource-director-line{
  margin:0 0 11px!important;
  line-height:1.35;
}
.resource-director-line span{
  font-size:.86rem;
}
.resource-director-line strong{
  color:var(--text);
}
.book-structural-summary .back-cover p,.book-master-summary .back-cover p,.book-final-summary .back-cover p,.book-balanced-summary .back-cover p,.book-flat-summary .back-cover p,.book-summary-cell .back-cover p,.detail-main .back-cover p,.back-cover p,.book-structural-author .author-card-under-cover p,.book-master-author .author-card-under-cover p,.book-final-author .author-card-under-cover p,.book-balanced-author .author-card-under-cover p,.book-flat-author .author-card-under-cover p,.author-card-under-cover p,.author-bio-text,.book-structural-note p,.book-master-note p,.book-final-note p,.book-flat-note p,.petit-canard-word p,.resource-synopsis .lead,.resource-main .lead,.resource-main .resource-description,.resource-main .resource-summary,.resource-main .duck-note p{
  text-align:justify!important;
  text-justify:inter-word;
  hyphens:auto;
  -webkit-hyphens:auto;
  line-height:1.65!important;
  max-width:70ch;
}
@media (max-width:820px){
  .book-structural-summary .back-cover p,.book-master-summary .back-cover p,.book-final-summary .back-cover p,.book-balanced-summary .back-cover p,.book-flat-summary .back-cover p,.book-summary-cell .back-cover p,.detail-main .back-cover p,.back-cover p,.book-structural-author .author-card-under-cover p,.book-master-author .author-card-under-cover p,.book-final-author .author-card-under-cover p,.book-balanced-author .author-card-under-cover p,.book-flat-author .author-card-under-cover p,.author-card-under-cover p,.author-bio-text,.book-structural-note p,.book-master-note p,.book-final-note p,.book-flat-note p,.petit-canard-word p,.resource-synopsis .lead,.resource-main .lead,.resource-main .resource-description,.resource-main .resource-summary,.resource-main .duck-note p{
    max-width:none;
  }
}
.resource-director-line span{
  color:var(--text)!important;
  font-weight:700!important;
}
.media-creator,.music-singer-name{
  color:#7a7a7a!important;
  font-weight:600!important;
  font-size:.92rem!important;
}
.media-genre-filter-wrap{
  border:1px solid var(--line);
  border-radius:14px;
  background:#faf9fc;
}
.media-genre-filter-wrap[hidden]{
  display:none!important;
}
.media-genre-filter-heading{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px 14px;
}
.media-genre-filter-heading span{
  color:var(--muted);
  font-size:.86rem;
}
.media-genre-filters,.media-card-genres,.resource-genre-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.genre-filter-tag,.genre-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid #d9d1f4;
  background:#f4f0ff;
  color:#5638c9;
  font-size:.76rem;
  font-weight:850;
  line-height:1.1;
}
.genre-filter-tag{
  cursor:pointer;
}
.genre-filter-tag:hover,.genre-filter-tag.active{
  border-color:var(--purple);
  background:var(--purple);
  color:#fff;
}
.media-card-genres{
  margin:2px 0 7px;
}
.resource-genre-tags{
  margin:0 0 12px;
}
.media-genre-check-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  max-height:240px;
  overflow:auto;
}
.clickable-card{
  cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,filter .2s ease!important;
}
.clickable-card:hover,.clickable-card:focus-visible{
  transform:translateY(-5px);
  border-color:#a996ec!important;
  box-shadow:0 18px 42px rgba(74,51,157,.18)!important;
  filter:brightness(1.015);
  outline:none;
}
.media-card-body,.book-body{
  flex:1;
}
.media-card .platform-list{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px;
  margin-top:auto!important;
}
.media-card .platform-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:28px;
  line-height:1!important;
  text-align:center!important;
}
.media-card-body>.btn,.book-card .book-body>.btn{
  display:none!important;
}
@media (max-width:820px){
  .media-genre-check-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:520px){
  .media-genre-check-grid{
    grid-template-columns:1fr!important;
  }
}
.resource-detail-harmonised{
  grid-template-columns:minmax(250px,330px) minmax(0,1fr) minmax(210px,250px)!important;
  align-items:start!important;
}
.resource-actions-panel{
  display:flex;
  flex-direction:column;
  gap:12px;
  align-self:start;
}
.resource-actions-panel h2{
  margin:0 0 8px!important;
  padding-bottom:6px;
  border-bottom:2px solid var(--line);
  font-size:1.08rem;
}
.resource-actions-panel .platform-link-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
}
.resource-actions-panel .platform-link{
  width:100%!important;
  min-width:0!important;
}
.resource-poster-column>.full-btn{
  display:flex!important;
  flex-direction:column!important;
  gap:2px;
  line-height:1.15!important;
}
.resource-poster-tags{
  margin-top:7px!important;
}
.resource-poster-tags+.resource-poster-tags{
  margin-top:5px!important;
}
.resource-poster-tags h2{
  margin-bottom:5px!important;
}
.report-error-btn{
  width:100%;
  margin-top:12px;
}
.report-error-dialog{
  width:min(620px,calc(100vw - 30px));
  border:0;
  border-radius:18px;
  padding:0;
  box-shadow:0 28px 80px rgba(0,0,0,.25);
}
.report-error-dialog::backdrop{
  background:rgba(20,16,32,.52);
}
.report-error-dialog form{
  position:relative;
  padding:24px;
}
.dialog-close{
  position:absolute;
  right:12px;
  top:8px;
  border:0;
  background:transparent;
  font-size:1.8rem;
  cursor:pointer;
}
.dialog-actions{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  margin-top:14px;
}
.book-card .book-body{
  padding-bottom:10px!important;
  min-height:0!important;
}
.book-card .book-fixed-tags{
  margin-bottom:4px!important;
}
.book-card h2{
  margin-bottom:5px!important;
}
.book-card .book-cover,.book-card .book-cover img{
  max-height:330px;
}
.media-card{
  overflow:hidden!important;
}
.media-card .media-poster-link{
  margin:0!important;
  padding:0!important;
}
.media-card-category-header{
  margin:0!important;
  border-radius:0!important;
}
.media-card .media-poster,.media-card .resource-placeholder{
  margin:0!important;
  border-radius:0!important;
}
.admin-report-card{
  padding:15px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.admin-report-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.admin-report-head h3{
  margin:.25rem 0 .4rem;
}
.report-status{
  padding:5px 9px;
  border-radius:999px;
  background:#eee;
  font-size:.76rem;
  font-weight:850;
}
.admin-report-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
@media (max-width:1150px){
  .resource-detail-harmonised{
    grid-template-columns:minmax(240px,320px) minmax(0,1fr)!important;
  }
  .resource-actions-panel{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(180px,250px);
  }
}
@media (max-width:820px){
  .resource-detail-harmonised{
    grid-template-columns:1fr!important;
  }
  .resource-actions-panel{
    grid-column:auto;
    display:flex;
  }
}
.media-genre-admin-field{
  align-self:stretch!important;
  min-width:0!important;
}
.media-genre-admin-field>label{
  display:block;
  margin-bottom:8px;
  font-weight:850;
  text-align:left;
}
.media-genre-choice-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  max-height:250px;
  overflow:auto;
  padding:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#faf9fc;
}
.genre-choice{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  min-height:38px;
  padding:7px 9px;
  border:1px solid #ded9ed;
  border-radius:9px;
  background:#fff;
  cursor:pointer;
  line-height:1.2;
}
.genre-choice:hover{
  border-color:#a995df;
  background:#f6f2ff;
}
.genre-choice input{
  flex:0 0 auto;
  margin:0;
}
.genre-choice span{
  min-width:0;
  overflow-wrap:anywhere;
  font-size:.84rem;
}
.genre-choice:has(input:checked){
  border-color:var(--purple);
  background:#eee8ff;
  color:#4930a3;
  font-weight:800;
}
.media-genre-filter-wrap{
  overflow:hidden;
}
.media-genre-filters{
  max-height:180px;
  overflow:auto;
  padding:2px;
}
@media (max-width:1100px){
  .media-genre-choice-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:760px){
  .media-genre-choice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-height:220px;
  }
}
@media (max-width:480px){
  .media-genre-choice-grid{
    grid-template-columns:1fr;
  }
}
#media-grid .media-card{
  display:grid!important;
  grid-template-columns:42% minmax(0,1fr)!important;
  min-height:340px!important;
  height:100%!important;
  overflow:hidden!important;
}
#media-grid .media-poster-link{
  display:block!important;
  min-height:100%!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
#media-grid .media-poster-link .media-card-category-header{
  margin:0!important;
  border-radius:0!important;
}
#media-grid .media-poster,#media-grid .resource-placeholder{
  display:block!important;
  width:100%!important;
  height:calc(100% - 88px)!important;
  min-height:252px!important;
  margin:0!important;
  border-radius:0!important;
  object-fit:cover!important;
}
#media-grid .media-card-body{
  display:grid!important;
  grid-template-rows:1.55rem
1.35rem
1.45rem
6.1rem
2rem
2.4rem;
  align-content:start!important;
  gap:6px!important;
  min-width:0!important;
  min-height:340px!important;
  padding:1.15rem!important;
}
#media-grid .media-card h2{
  display:block!important;
  min-width:0!important;
  height:1.55rem!important;
  min-height:1.55rem!important;
  margin:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  font-size:1.18rem!important;
  line-height:1.55rem!important;
}
#media-grid .media-creator{
  display:block!important;
  min-width:0!important;
  height:1.35rem!important;
  min-height:1.35rem!important;
  margin:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  color:#777!important;
  font-size:.9rem!important;
  font-weight:600!important;
  line-height:1.35rem!important;
}
#media-grid .media-country-line{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
  height:1.45rem!important;
  min-height:1.45rem!important;
  margin:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  line-height:1.45rem!important;
}
#media-grid .media-summary{
  display:-webkit-box!important;
  height:6.1rem!important;
  min-height:6.1rem!important;
  margin:0!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:4!important;
  line-height:1.525rem!important;
}
#media-grid .media-card-genres{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
  height:2rem!important;
  min-height:2rem!important;
  margin:0!important;
  gap:5px!important;
  overflow:hidden!important;
}
#media-grid .media-card-genres .genre-tag{
  flex:0 1 auto!important;
  max-width:32%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
#media-grid .platform-list{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
  height:2.4rem!important;
  min-height:2.4rem!important;
  margin:0!important;
  overflow:hidden!important;
}
#media-grid .platform-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:28px!important;
  text-align:center!important;
}
.admin-panel .check-grid,.admin-panel .media-genre-choice-grid,.admin-panel .media-genre-check-grid,.admin-panel .checkbox-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(132px,150px))!important;
  justify-content:center!important;
  gap:6px!important;
  max-height:240px!important;
  overflow:auto!important;
  padding:9px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#faf9fc!important;
}
.admin-panel .check-grid label,.admin-panel .media-genre-choice-grid label,.admin-panel .media-genre-check-grid label,.admin-panel .checkbox-grid label,.admin-panel .genre-choice{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  width:100%!important;
  max-width:150px!important;
  min-width:0!important;
  min-height:34px!important;
  margin:0 auto!important;
  padding:5px 7px!important;
  border:1px solid #ded9ed!important;
  border-radius:8px!important;
  background:#fff!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-align:center!important;
  line-height:1.1!important;
}
.admin-panel .check-grid input[type="checkbox"],.admin-panel .media-genre-choice-grid input[type="checkbox"],.admin-panel .media-genre-check-grid input[type="checkbox"],.admin-panel .checkbox-grid input[type="checkbox"],.admin-panel .genre-choice input[type="checkbox"]{
  flex:0 0 auto!important;
  width:15px!important;
  height:15px!important;
  margin:0!important;
}
.admin-panel .check-grid label span,.admin-panel .media-genre-choice-grid label span,.admin-panel .media-genre-check-grid label span,.admin-panel .checkbox-grid label span,.admin-panel .genre-choice span{
  display:block!important;
  min-width:0!important;
  max-width:112px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  font-size:.78rem!important;
  text-align:center!important;
}
.admin-panel .check-grid label:has(input:checked),.admin-panel .media-genre-choice-grid label:has(input:checked),.admin-panel .media-genre-check-grid label:has(input:checked),.admin-panel .checkbox-grid label:has(input:checked),.admin-panel .genre-choice:has(input:checked){
  border-color:var(--purple)!important;
  background:#eee8ff!important;
  color:#4930a3!important;
  font-weight:800!important;
}
@media (max-width:760px){
  #media-grid .media-card{
    grid-template-columns:130px minmax(0,1fr)!important;
    min-height:300px!important;
  }
  #media-grid .media-poster,#media-grid .resource-placeholder{
    height:calc(100% - 82px)!important;
    min-height:218px!important;
  }
  #media-grid .media-card-body{
    min-height:300px!important;
    padding:.9rem!important;
  }
}
@media (max-width:520px){
  #media-grid .media-card{
    grid-template-columns:1fr!important;
  }
  #media-grid .media-poster-link{
    min-height:0!important;
  }
  #media-grid .media-poster,#media-grid .resource-placeholder{
    width:100%!important;
    height:360px!important;
    min-height:0!important;
  }
  #media-grid .media-card-body{
    min-height:320px!important;
  }
  .admin-panel .check-grid,.admin-panel .media-genre-choice-grid,.admin-panel .media-genre-check-grid,.admin-panel .checkbox-grid{
    grid-template-columns:repeat(2,minmax(125px,145px))!important;
  }
}
@media (max-width:360px){
  .admin-panel .check-grid,.admin-panel .media-genre-choice-grid,.admin-panel .media-genre-check-grid,.admin-panel .checkbox-grid{
    grid-template-columns:1fr!important;
  }
}
.resource-type[data-media-type="Art vivant"] .native-icon{
  font-size:1.7rem;
}
.media-card-category-header.pastel-live,.resource-category-header.pastel-live{
  background:#f5e5d6;
  color:#7a4f2e;
}
.lyrics-text{
  white-space:pre-wrap!important;
  text-align:left!important;
}
.linked-resources-section{
  margin-top:14px;
}
.linked-mini-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(84px,1fr));
  gap:10px;
}
.linked-mini-card{
  color:inherit;
  text-decoration:none;
  min-width:0;
}
.linked-mini-card img,.linked-mini-card .cover-placeholder{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  border-radius:8px;
}
.linked-mini-card span{
  display:block;
  margin-top:5px;
  font-size:.78rem;
  font-weight:800;
  line-height:1.2;
}
.linked-media-list{
  display:grid;
  gap:7px;
}
.linked-media-card{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px;
  border-radius:9px;
  background:#f7f5fb;
  color:inherit;
  text-decoration:none;
}
.linked-media-icon{
  font-size:1.25rem;
}
.personality-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:18px;
}
.personality-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:.2s;
}
.personality-card:hover,.personality-card:focus-visible{
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(70,48,130,.14);
  outline:none;
}
.personality-card>img,.personality-photo-placeholder{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  background:#eee;
  display:grid;
  place-items:center;
  font-size:3rem;
}
.personality-card-body{
  padding:14px;
}
.personality-card h2{
  margin:7px 0 6px;
}
.personality-card p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  overflow:hidden;
}
.personality-domains,.personality-identities,.personality-domain-filters{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.personality-domain{
  display:inline-flex;
  padding:4px 8px;
  border-radius:999px;
  background:#eee;
  font-size:.74rem;
  font-weight:850;
}
.domain-sport{
  background:#dff2e7;
  color:#286548;
}
.domain-cinema{
  background:#f6dfdf;
  color:#813737;
}
.domain-tv{
  background:#e2e9ff;
  color:#375a9a;
}
.domain-music{
  background:#f3e0f0;
  color:#854373;
}
.domain-humour{
  background:#fff1cc;
  color:#806017;
}
.domain-books{
  background:#e8e0fa;
  color:#5b3f95;
}
.domain-news{
  background:#dfeef3;
  color:#376579;
}
.domain-activism{
  background:#f5e2e7;
  color:#8a3d53;
}
.domain-live{
  background:#f5e5d6;
  color:#7a4f2e;
}
.domain-creator{
  background:#e2f1ef;
  color:#2e6b65;
}
.ally-badge{
  display:inline-flex;
  padding:4px 8px;
  border-radius:999px;
  background:#fff0c7;
  color:#7d5900;
  font-size:.75rem;
  font-weight:850;
}
.identity-image-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 8px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  font-size:.76rem;
  font-weight:800;
}
.identity-image-tag img,.identity-tag-placeholder{
  width:22px;
  height:22px;
  border-radius:50%;
  object-fit:cover;
  background:#ddd;
  flex:0 0 22px;
}
.personality-toolbar{
  flex-wrap:wrap;
  margin-bottom:14px;
}
.personality-toolbar .search{
  flex:1 1 300px;
}
.personality-detail-photo img,.personality-detail-photo .personality-photo-placeholder{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:16px;
}
.personality-detail-main h1{
  margin-top:0;
}
.personality-origin{
  color:var(--muted);
  margin-bottom:10px;
}
.personality-detail-main section>h2{
  border-bottom:2px solid var(--line);
}
.editorial-text{
  text-align:justify;
  hyphens:auto;
  line-height:1.65;
  white-space:pre-line;
}
.personality-quotes{
  display:grid;
}
.personality-quotes blockquote{
  margin:0;
  border-left:4px solid var(--purple);
  background:#f7f4ff;
  border-radius:0 10px 10px 0;
}
.personality-admin-card img{
  width:80px;
  height:80px;
  object-fit:cover;
  border-radius:50%;
}
.personality-dialog select[multiple],#book-related-media,#media-related-books,#personality-related-books,#personality-related-media{
  width:100%;
  min-height:150px;
}
@media (max-width:820px){
  .personality-detail-grid{
    grid-template-columns:1fr;
  }
  .personality-detail-photo{
    max-width:420px;
    margin:auto;
  }
}
.media-category-group-title{
  color:var(--muted);
  font-size:.92rem;
  font-weight:850;
}
.media-category-group-title span{
  font-size:1.1rem;
}
.media-category-group-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:16px;
}
#media-grid>.media-category-group{
  grid-column:1/-1;
}
.personality-photo-preview{
  display:grid;
  place-items:center;
  width:150px;
  height:115px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f3f3f5;
}
.personality-photo-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.personality-photo-preview img[hidden]{
  display:none!important;
}
.personality-real-name{
  margin:.15rem 0 .35rem!important;
  color:var(--muted);
  font-size:.88rem;
  font-weight:650;
}
.personality-country{
  margin-bottom:.45rem;
  color:var(--muted);
  font-size:.86rem;
}
#personality-country{
  width:100%;
  min-height:44px;
}
@media (max-width:700px){
  .media-category-group-grid{
    grid-template-columns:1fr;
  }
}
.resource-types{
  overflow-y:hidden!important;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
.resource-type .native-icon{
  flex:0 0 auto!important;
}
@media (max-width:980px){
  .resource-type{
    padding:7px 8px!important;
  }
  .resource-type .native-icon{
    font-size:1.12rem!important;
  }
  .resource-type span:last-child{
    font-size:.74rem!important;
  }
}
@media (max-width:720px){
  .resource-types{
    gap:5px!important;
  }
  .resource-type{
    flex:0 0 auto!important;
    min-width:auto!important;
    padding:7px 9px!important;
  }
}
@media (min-width:701px){
  .page-band .container p{
    white-space:nowrap;
    font-size:.98rem;
  }
}
@media (max-width:1100px){
  .page-band .container p{
    font-size:.9rem;
  }
  .resource-type{
    min-width:86px!important;
    max-width:86px!important;
  }
}
.resource-types{
  flex-wrap:nowrap!important;
  justify-content:space-between!important;
  overflow-x:auto!important;
}
.resource-type{
  flex:0 0 88px!important;
  white-space:normal!important;
}
.resource-type span:last-child{
  display:block!important;
}
.media-category-group-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.media-category-group-label{
  display:flex;
  align-items:center;
  color:var(--muted);
}
.media-category-view-all{
  border:0;
  background:transparent;
  color:var(--purple);
  font-weight:850;
  cursor:pointer;
}
.media-category-view-all:hover{
  text-decoration:underline;
}
.media-carousel-shell{
  position:relative;
  display:grid;
}
.media-carousel-track{
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.media-carousel-track::-webkit-scrollbar{
  display:none;
}
.media-carousel-arrow{
  border:1px solid var(--line);
  background:#fff;
  color:var(--purple);
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
}
.media-carousel-arrow:hover{
  background:#f6f2ff;
}
@media (max-width:980px){
  .resource-type{
    flex-basis:82px!important;
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
  }
}
@media (max-width:720px){
  .resource-types{
    justify-content:flex-start!important;
  }
  .resource-type{
    flex:0 0 78px!important;
    width:78px!important;
    min-width:78px!important;
    max-width:78px!important;
  }
  .media-carousel-shell{
    grid-template-columns:24px minmax(0,1fr) 24px;
    gap:4px;
  }
  .media-carousel-arrow{
    width:24px;
    height:40px;
  }
  .media-carousel-track .media-card{
    flex-basis:min(320px,86vw)!important;
  }
}
.resource-types{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:3px!important;
  width:100%!important;
  overflow:visible!important;
  padding:0!important;
  margin:0 0 8px!important;
}
.resource-type{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:56px!important;
  padding:5px 2px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  border-radius:9px!important;
  text-align:center!important;
}
.resource-type .native-icon{
  font-size:1.08rem!important;
  line-height:1!important;
}
.resource-type span:last-child{
  width:100%!important;
  font-size:.64rem!important;
  line-height:1.02!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-align:center!important;
}
.media-category-group{
  padding:0!important;
}
.media-category-group-label{
  gap:4px!important;
  font-size:.8rem!important;
  line-height:1!important;
}
.media-category-group-label span{
  font-size:.9rem!important;
}
.media-category-view-all{
  padding:1px 3px!important;
  font-size:.7rem!important;
  line-height:1!important;
}
.media-carousel-shell{
  grid-template-columns:24px minmax(0,1fr) 24px!important;
  gap:4px!important;
  align-items:center!important;
}
.media-carousel-track{
  gap:8px!important;
}
.media-carousel-track .media-card{
  min-height:300px!important;
}
.media-carousel-track .media-card-body{
  padding:.8rem!important;
  gap:4px!important;
}
.media-carousel-track .media-card h2{
  margin:0 0 2px!important;
  font-size:1.02rem!important;
  line-height:1.2!important;
}
.media-carousel-track .media-creator{
  margin:0 0 2px!important;
  font-size:.84rem!important;
}
.media-carousel-track .media-country-line{
  margin:0 0 2px!important;
  font-size:.8rem!important;
}
.media-carousel-track .media-summary{
  margin:0!important;
  line-height:1.35!important;
}
.media-carousel-track .media-card-genres{
  margin:3px 0 0!important;
}
.media-carousel-track .platform-list{
  min-height:30px!important;
  margin-top:4px!important;
}
.media-carousel-arrow{
  width:24px!important;
  height:36px!important;
  border-radius:8px!important;
  font-size:1.2rem!important;
}
#media-grid{
  gap:0!important;
}
@media (max-width:900px){
  .resource-types{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:2px!important;
  }
  .resource-type{
    min-height:52px!important;
    padding:4px 1px!important;
  }
  .resource-type .native-icon{
    font-size:1rem!important;
  }
  .resource-type span:last-child{
    font-size:.58rem!important;
  }
}
@media (max-width:620px){
  .resource-type{
    min-height:48px!important;
  }
  .resource-type .native-icon{
    font-size:.92rem!important;
  }
  .resource-type span:last-child{
    font-size:.52rem!important;
  }
  .media-carousel-shell{
    grid-template-columns:20px minmax(0,1fr) 20px!important;
    gap:2px!important;
  }
  .media-carousel-arrow{
    width:20px!important;
    height:32px!important;
    font-size:1.05rem!important;
  }
  .media-carousel-track .media-card{
    flex-basis:min(300px,84vw)!important;
  }
}
body .resource-types{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:4px!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 auto 8px!important;
  padding:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
body .resource-types>.resource-type{
  display:flex!important;
  flex:0 0 72px!important;
  width:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  min-height:54px!important;
  box-sizing:border-box!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  padding:5px 2px!important;
  margin:0!important;
  border-radius:9px!important;
  white-space:nowrap!important;
}
body .resource-types>.resource-type .native-icon{
  display:block!important;
  flex:0 0 auto!important;
  margin:0!important;
  font-size:1.05rem!important;
  line-height:1!important;
}
body .resource-types>.resource-type span:last-child{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  text-align:center!important;
  font-size:.58rem!important;
  line-height:1!important;
}
@media (max-width:760px){
  body .resource-types{
    justify-content:flex-start!important;
  }
  body .resource-types>.resource-type{
    flex-basis:68px!important;
    width:68px!important;
    min-width:68px!important;
    max-width:68px!important;
  }
  body .resource-types>.resource-type span:last-child{
    font-size:.54rem!important;
  }
}
body .resource-type-strip{
  flex-direction:row!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:thin!important;
  -webkit-overflow-scrolling:touch;
}
body .resource-type-strip>.resource-type{
  margin:0!important;
  white-space:nowrap!important;
}
body .resource-type-strip>.resource-type .native-icon{
  display:block!important;
  flex:0 0 auto!important;
}
@media (min-width:701px){
  body .page-band .container>p{
    white-space:nowrap!important;
    font-size:.96rem!important;
  }
}
@media (max-width:980px){
  body .resource-type-strip{
    justify-content:flex-start!important;
  }
  body .resource-type-strip>.resource-type{
    flex-basis:82px!important;
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
    min-height:58px!important;
  }
  body .resource-type-strip>.resource-type span:last-child{
    font-size:.62rem!important;
  }
  body .page-band .container>p{
    font-size:.84rem!important;
  }
}
@media (max-width:620px){
  body .resource-type-strip{
    justify-content:flex-start!important;
    gap:3px!important;
  }
  body .resource-type-strip>.resource-type{
    flex-basis:76px!important;
    width:76px!important;
    min-width:76px!important;
    max-width:76px!important;
    min-height:54px!important;
    padding:5px 3px!important;
  }
  body .resource-type-strip>.resource-type .native-icon{
    font-size:1.05rem!important;
  }
  body .resource-type-strip>.resource-type span:last-child{
    font-size:.58rem!important;
  }
}
body .resource-type-strip{
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  white-space:normal!important;
}
body .resource-type-strip>.resource-type{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  border-radius:10px!important;
  text-align:center!important;
}
body .resource-type-strip>.resource-type span:last-child{
  display:block!important;
  width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  text-align:center!important;
  font-size:.68rem!important;
}
.media-category-group-title{
  min-height:28px!important;
}
.media-carousel-shell{
  margin-bottom:2px!important;
}
.media-carousel-track .media-card{
  margin:1px 0 3px!important;
}
@media (max-width:980px){
  body .resource-type-strip{
    grid-template-columns:repeat(8,minmax(74px,1fr))!important;
    gap:6px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding-bottom:4px!important;
  }
  body .resource-type-strip>.resource-type{
    min-height:60px!important;
    padding:6px 4px!important;
  }
  body .resource-type-strip>.resource-type span:last-child{
    font-size:.64rem!important;
  }
}
@media (max-width:620px){
  body .resource-type-strip{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    overflow-x:auto!important;
  }
  body .resource-type-strip>.resource-type{
    flex:0 0 88px!important;
    width:88px!important;
    min-width:88px!important;
    max-width:88px!important;
  }
}
.optional-label{
  color:var(--muted);
  font-size:.78rem;
  font-weight:600;
}
.personality-card .personality-domains,.personality-card .personality-identities,.personality-card .personality-badge-row{
  justify-content:center!important;
  text-align:center!important;
}
.personality-card h2,.personality-card .personality-real-name,.personality-card .personality-country{
  text-align:center!important;
}
.personality-country{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
}
.country-flag{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}
.personality-country-detail{
  justify-content:flex-start!important;
  margin-bottom:8px!important;
}
.personality-identities-centered{
  justify-content:center!important;
  margin:12px auto 0!important;
}
.personality-badge-row{
  display:flex;
  justify-content:center;
  margin-top:8px;
}
.personality-identity-filter-block{
  margin-top:10px;
}
.personality-identity-filter-block>strong{
  display:block;
  margin-bottom:7px;
  font-size:.86rem;
}
.personality-identity-filters{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.media-genre-filter-wrap{
  margin-top:10px!important;
}
body .resource-type-strip>.resource-type span:last-child{
  margin-top:1px!important;
}
.personality-toolbar{
  display:grid!important;
  grid-template-columns:minmax(240px,1fr)!important;
  gap:10px!important;
  align-items:start!important;
}
.personality-filter-block{
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#faf9fc;
}
.personality-filter-block>strong{
  display:block;
  margin-bottom:7px;
  font-size:.82rem;
  color:var(--muted);
}
.personality-filter-row .genre-filter-tag{
  min-height:28px;
  padding:5px 9px;
  font-size:.74rem;
}
.personality-primary-identity{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  margin:0 auto 7px;
}
.personality-primary-identity img,.personality-primary-icon{
  width:54px;
  height:54px;
  border-radius:50%;
  object-fit:cover;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  background:#fff;
}
.personality-primary-icon{
  font-size:1.8rem;
}
.ally-primary-icon{
  background:#fff5d9;
}
.personality-primary-identity-detail{
  min-height:74px;
  margin:10px auto 8px;
}
.personality-primary-identity-detail img,.personality-primary-identity-detail .personality-primary-icon{
  width:70px;
  height:70px;
}
.status-choice-card{
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  white-space:nowrap;
}
.status-choice-card:has(input:checked){
  border-color:var(--purple);
  background:#eee8ff;
  color:#4930a3;
  font-weight:800;
}
.status-choice-card input{
  margin:0;
}
#personality-identity-field[hidden]{
  display:none!important;
}
@media (max-width:620px){
  .personality-status-choice{
    grid-template-columns:1fr;
  }
}
body .resource-type-strip>.resource-type{
  min-height:54px!important;
  padding:4px 5px!important;
  gap:0!important;
  justify-content:center!important;
}
body .resource-type-strip>.resource-type .native-icon{
  margin:0!important;
  padding:0!important;
  transform:none!important;
  font-size:1.08rem!important;
  line-height:.95!important;
}
body .resource-type-strip>.resource-type span:last-child{
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  transform:translateY(-1px);
}
.media-toolbar,.media-filters,.media-filter-row{
  gap:7px!important;
}
.media-toolbar{
  margin-bottom:8px!important;
}
.media-filters{
  margin-bottom:8px!important;
}
.media-genre-filter-wrap{
  margin:6px 0 10px!important;
  padding:10px 12px!important;
}
.media-genre-filter-heading{
  margin-bottom:6px!important;
}
.media-genre-filters{
  gap:5px!important;
}
.genre-filter-tag{
  min-height:26px!important;
  padding:4px 8px!important;
  font-size:.72rem!important;
}
.media-category-group{
  margin:0 0 14px!important;
  overflow:visible!important;
}
.media-category-group-title{
  margin:0 0 10px!important;
  padding:0!important;
  position:relative;
  z-index:1;
}
.media-carousel-shell{
  padding-top:6px!important;
}
.media-carousel-track .media-card{
  position:relative;
  z-index:1;
}
.media-carousel-track .media-card:hover,.media-carousel-track .media-card:focus-visible{
  z-index:3;
}
@media (max-width:720px){
  body .resource-type-strip>.resource-type{
    min-height:50px!important;
    padding:3px 4px!important;
  }
  body .resource-type-strip>.resource-type .native-icon{
    font-size:1rem!important;
  }
  .media-genre-filter-wrap{
    margin:5px 0 8px!important;
    padding:8px 10px!important;
  }
  .media-category-group-title{
    margin-bottom:9px!important;
  }
  .media-carousel-shell{
    padding-top:5px!important;
  }
}
.personality-status-choice{
  display:grid!important;
  gap:10px!important;
  justify-content:start!important;
}
.status-choice-card{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:9px!important;
  min-height:52px!important;
  padding:8px 10px!important;
}
.status-choice-card img{
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  flex:0 0 34px!important;
}
.status-choice-card span{
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
@media (max-width:620px){
  .personality-status-choice{
    grid-template-columns:1fr!important;
  }
}
#media-grid{
  display:grid!important;
  grid-auto-flow:row;
  row-gap:20px!important;
}
.media-category-group{
  margin-bottom:22px!important;
}
.media-category-group-grid,.media-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr))!important;
  gap:18px 18px!important;
  align-items:start!important;
}
.media-card{
  position:relative;
  margin:0!important;
}
.media-card:hover,.media-card:focus-visible{
  z-index:5;
}
.personality-identities{
  margin-top:.75rem!important;
}
.personality-filter-block{
  margin:0!important;
}
.personality-filter-block + .personality-filter-block{
  margin-top:8px!important;
}
.personality-filter-row{
  align-items:center!important;
}
.personality-identities{
  justify-content:center!important;
  gap:6px!important;
}
#clear-personality-status{
  margin-top:8px;
  padding:5px 9px!important;
  font-size:.76rem!important;
}
.linked-people-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.linked-person-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
  width:86px;
  color:inherit;
  text-decoration:none;
  text-align:center;
}
.linked-person-card img,.linked-person-placeholder{
  width:58px;
  height:58px;
  border-radius:50%;
  object-fit:cover;
  display:grid;
  place-items:center;
  background:#f1eef7;
  border:1px solid var(--line);
  font-size:1.5rem;
}
.linked-person-card span:last-child{
  width:100%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:.76rem;
  font-weight:800;
}
.linked-person-card:hover span:last-child{
  color:var(--purple);
}
.linked-media-card-visual{
  min-height:54px;
}
.linked-media-card-visual img{
  width:42px;
  height:54px;
  flex:0 0 42px;
  object-fit:cover;
  border-radius:6px;
}
.linked-media-card-visual .linked-media-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  flex:0 0 42px;
  border-radius:8px;
  background:#f2eff8;
}
.personality-detail-backrow{
  margin:0 0 12px;
}
.personality-back-btn{
  padding:7px 11px!important;
  font-size:.82rem!important;
}
.personality-detail-photo{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  min-width:0;
}
.personality-detail-photo>img,.personality-detail-photo>.personality-photo-placeholder{
  width:190px!important;
  height:190px!important;
  aspect-ratio:1/1!important;
  border-radius:50%!important;
  object-fit:cover!important;
  margin:0 auto 4px!important;
}
.personality-side-name{
  margin:2px 0 0!important;
  text-align:center!important;
  font-size:1.65rem!important;
  line-height:1.12!important;
}
.personality-side-real-name{
  margin:0!important;
  text-align:center!important;
}
.personality-detail-photo .personality-country-detail{
  justify-content:center!important;
  margin:0!important;
}
.personality-detail-photo .personality-domains,.personality-detail-photo .personality-identities{
  justify-content:center!important;
}
.personality-detail-main{
  min-width:0;
}
.personality-detail-main .personality-origin{
  color:var(--muted);
}
.personality-detail-main .editorial-text{
  max-width:74ch;
}
.personality-quotes-section{
  margin-top:16px!important;
}
.personality-quotes{
  gap:7px!important;
}
.personality-quotes blockquote{
  padding:10px 13px!important;
}
.personality-related-grid{
  display:grid!important;
  padding-top:4px;
}
.personality-related-column{
  min-width:0;
}
.personality-related-column>h2{
  margin:0 0 9px!important;
  padding-bottom:6px!important;
  border-bottom:2px solid var(--line);
  font-size:1.02rem!important;
}
.personality-related-column .linked-mini-grid{
  grid-template-columns:repeat(auto-fill,minmax(72px,1fr))!important;
  gap:8px!important;
}
.personality-related-column .linked-mini-card span{
  font-size:.72rem!important;
}
.personality-related-column .linked-media-list{
  gap:7px!important;
}
.personality-related-column .linked-media-card{
  padding:7px!important;
  min-height:48px!important;
}
.personality-related-column .linked-media-card-visual img{
  width:38px!important;
  height:48px!important;
  flex-basis:38px!important;
}
.personality-info-list{
  display:grid;
  gap:8px;
}
.personality-info-list>div{
  display:grid;
  gap:2px;
  padding-bottom:7px;
  border-bottom:1px solid var(--line);
}
.personality-info-list strong{
  font-size:.76rem;
  color:var(--muted);
}
.personality-info-list span{
  font-size:.88rem;
}
.personality-primary-identity,.personality-primary-identity-detail{
  display:none!important;
}
@media (max-width:900px){
  .personality-detail-grid{
    grid-template-columns:1fr!important;
  }
  .personality-detail-photo{
    max-width:520px;
    margin:auto;
  }
  .personality-related-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .personality-info-column{
    grid-column:1/-1;
  }
}
@media (max-width:620px){
  .personality-detail-photo>img,.personality-detail-photo>.personality-photo-placeholder{
    width:150px!important;
    height:150px!important;
  }
  .personality-side-name{
    font-size:1.4rem!important;
  }
  .personality-related-grid{
    grid-template-columns:1fr!important;
  }
  .personality-info-column{
    grid-column:auto;
  }
}
.personality-status-choice{
  grid-template-columns:repeat(2,minmax(190px,250px))!important;
}
.status-choice-card input[type="radio"]{
  flex:0 0 auto!important;
}
.status-choice-card:has(input:checked){
  box-shadow:inset 0 0 0 1px var(--purple);
}
.country-flag{
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:1.12rem!important;
  min-width:1.4em!important;
}
.relation-search{
  width:100%!important;
  margin-bottom:7px!important;
}
.relation-picker{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  max-height:220px;
  overflow:auto;
  padding:8px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#faf9fc;
}
.relation-option{
  border:1px solid #ded9ed;
  border-radius:8px;
  background:#fff;
  padding:7px 8px;
  text-align:left;
  font-size:.8rem;
  cursor:pointer;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.relation-option:hover,.relation-option.selected{
  border-color:var(--purple);
  background:#eee8ff;
  color:#4930a3;
}
.relation-selected{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}
.relation-selected-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  max-width:100%;
  padding:5px 7px 5px 9px;
  border-radius:999px;
  background:#f1edf9;
  color:#4f3a86;
  font-size:.76rem;
  font-weight:750;
}
.relation-selected-chip button{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#5c4d76;
  cursor:pointer;
  font-size:1rem;
  line-height:1;
}
.relation-selected-chip button:hover{
  background:#e3dcef;
}
@media (max-width:680px){
  .relation-picker{
    grid-template-columns:1fr;
  }
}
.publication-toggle{
  margin-top:6px!important;
}
.lexicon-category-filters{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0 0 14px;
}
.lexicon-category-label{
  display:inline-flex;
  margin-bottom:5px;
  padding:3px 7px;
  border-radius:999px;
  background:#f0edf7;
  color:var(--muted);
  font-size:.68rem;
  font-weight:800;
}
#term-category{
  width:100%;
  min-height:42px;
}
.personality-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}
.personality-card-body{
  flex:1 1 auto!important;
}
.personality-card-body h2{
  text-align:center!important;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.personality-card-body .personality-real-name,.personality-card-body .personality-country{
  margin:0!important;
}
.personality-card-identities,.personality-card-domains{
  margin:0!important;
  justify-content:center!important;
}
.personality-card-separator{
  width:58%;
  height:1px;
  margin:auto;
  background:var(--line);
}
.country-flag-img{
  width:24px!important;
  height:16px!important;
  object-fit:cover!important;
  border-radius:2px!important;
  box-shadow:0 0 0 1px rgba(0,0,0,.08);
}
.personality-social-links a{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  color:var(--purple);
  text-decoration:none;
  font-size:.78rem;
  font-weight:900;
}
.admin-filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 12px;
  align-items:center;
}
.admin-filter-bar input,.admin-filter-bar select{
  min-height:38px;
}
.admin-filter-bar input{
  flex:1 1 240px;
}
.admin-filter-bar select{
  flex:0 1 220px;
}
.mini-book-carousel{
  display:grid;
  align-items:center;
}
.mini-carousel-track{
  display:flex!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none;
}
.mini-carousel-track::-webkit-scrollbar{
  display:none;
}
.mini-carousel-arrow{
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--purple);
  cursor:pointer;
}
.social-admin-grid{
  display:grid;
}
@media (max-width:720px){
  .social-admin-grid{
    grid-template-columns:1fr;
  }
}
#media-grid .media-summary,.media-carousel-track .media-summary{
  margin-bottom:4px!important;
}
#media-grid .media-card-genres,.media-carousel-track .media-card-genres{
  margin-top:2px!important;
}
#media-grid .media-card-genres .genre-tag,.media-carousel-track .media-card-genres .genre-tag{
  text-overflow:clip!important;
}
#media-grid .platform-list,.media-carousel-track .platform-list{
  margin-top:4px!important;
}
.domain-drag{
  background:#f5def3;
  color:#7b3d76;
}
.personality-card-body{
  grid-template-rows:2.8rem
1.2rem
1.5rem
82px
48px!important;
}
.personality-card-separator{
  display:none!important;
}
.personality-card-identities .identity-image-tag{
  padding:3px 6px!important;
  font-size:.68rem!important;
}
.personality-card-identities .identity-image-tag img,.personality-card-identities .identity-tag-placeholder{
  width:18px!important;
  height:18px!important;
  flex-basis:18px!important;
}
.personality-card-domains{
  align-content:flex-start!important;
}
.mini-book-carousel{
  grid-template-columns:28px minmax(0,1fr) 28px!important;
  gap:6px!important;
}
.mini-carousel-track{
  gap:10px!important;
  padding:3px 1px 6px!important;
}
.mini-carousel-track .flat-related-card{
  flex:0 0 calc((100% - 10px)/2)!important;
  width:calc((100% - 10px)/2)!important;
  min-width:0!important;
}
.mini-carousel-track .flat-related-cover{
  width:100%!important;
}
.mini-carousel-track .flat-related-cover img,.mini-carousel-track .flat-related-cover .cover-placeholder{
  width:100%!important;
  aspect-ratio:3/4!important;
  object-fit:cover!important;
  border-radius:8px!important;
}
.mini-carousel-track .flat-related-card>span{
  display:block!important;
  margin-top:5px!important;
  font-size:.76rem!important;
  line-height:1.15!important;
  text-align:center!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}
.mini-carousel-arrow{
  width:28px!important;
  height:42px!important;
  font-size:1.2rem!important;
}
.same-selection-section .linked-people-list{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:10px!important;
}
.same-selection-section .linked-person-card{
  width:92px!important;
}
.same-selection-section .linked-person-card img,.same-selection-section .linked-person-placeholder{
  width:64px!important;
  height:64px!important;
}
.resource-linked-people-top{
  margin:0 0 12px!important;
}
.resource-linked-people-top h2{
  margin:0 0 8px!important;
  font-size:1rem!important;
}
.linked-people-list-top{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  gap:8px!important;
}
.linked-people-list-top .linked-person-card{
  width:70px!important;
}
.linked-people-list-top .linked-person-card img,.linked-people-list-top .linked-person-placeholder{
  width:50px!important;
  height:50px!important;
}
.linked-people-list-top .linked-person-card span:last-child{
  font-size:.68rem!important;
  line-height:1.1!important;
}
.media-card .media-summary,.media-carousel-track .media-summary,#media-grid .media-summary{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:4!important;
  overflow:hidden!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  text-overflow:ellipsis!important;
}
.personality-card-body{
  display:flex!important;
  flex-direction:column!important;
  min-height:230px!important;
  gap:6px!important;
}
.personality-card-body h2{
  min-height:2.5rem!important;
  margin:0!important;
}
.personality-card-body .personality-real-name{
  min-height:1rem!important;
  margin:0!important;
}
.personality-card-body .personality-country{
  min-height:1.3rem!important;
  margin:0!important;
}
.personality-card-identities{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:flex-start!important;
  align-content:flex-start!important;
  gap:5px!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  margin:2px 0 0!important;
}
.personality-card-identities .identity-image-tag{
  flex:0 0 auto!important;
  width:auto!important;
  max-width:100%!important;
  white-space:nowrap!important;
}
.personality-card-domains{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:5px!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  margin:3px 0 0!important;
}
.personality-card-domains .personality-domain{
  flex:0 0 auto!important;
  width:auto!important;
  white-space:nowrap!important;
}
.linked-people-section{
  margin-top:12px!important;
}
.linked-people-section .linked-people-list{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}
.personality-social-links .social-icon-link{
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid var(--line)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--purple)!important;
  text-decoration:none!important;
  transition:transform .16s ease,background .16s ease,border-color .16s ease!important;
}
.personality-social-links .social-icon-link:hover,.personality-social-links .social-icon-link:focus-visible{
  background:#f0ebff!important;
  border-color:var(--purple)!important;
  transform:translateY(-1px);
}
.personality-social-links svg{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.personality-social-links svg .social-fill{
  fill:currentColor!important;
  stroke:none!important;
}
.book-linked-selection>h2{
  margin-bottom:8px!important;
}
.book-linked-visual-card img,.book-linked-person-placeholder,.book-linked-media-placeholder{
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  object-fit:cover;
  border-radius:9px;
  background:#f1eef7;
  border:1px solid var(--line);
}
.book-linked-media img,.book-linked-media-placeholder{
  aspect-ratio:4/5;
}
.book-linked-media-placeholder{
  font-size:1.55rem;
}
.book-linked-person-placeholder{
  font-size:1.55rem;
}
@media (max-width:900px){
  .book-linked-selection-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (max-width:620px){
  .book-linked-selection-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
.personality-detail-main .personality-origin{
  margin:0 0 5px!important;
  line-height:1.2!important;
}
.personality-detail-main section{
  margin-top:9px!important;
}
.personality-detail-main section>h2{
  margin:0 0 5px!important;
  padding-bottom:4px!important;
}
.personality-detail-main .editorial-text{
  margin:0!important;
  line-height:1.5!important;
}
.personality-detail-main .personality-section + .personality-section{
  margin-top:8px!important;
}
.personality-detail-grid{
  display:grid!important;
  grid-template-columns:minmax(220px,280px) minmax(0,1fr) minmax(220px,280px)!important;
  gap:20px!important;
  align-items:start!important;
}
.personality-detail-related{
  min-width:0;
  align-self:start;
}
.personality-detail-related .personality-top-related,.personality-detail-related section{
  margin:0!important;
}
.personality-detail-related h2{
  margin:0 0 8px!important;
  font-size:1rem!important;
  padding-bottom:6px!important;
  border-bottom:1px solid var(--line);
}
.personality-detail-related .linked-media-list{
  display:grid!important;
  gap:8px!important;
}
.personality-detail-related .linked-media-card{
  min-height:54px!important;
  padding:7px!important;
}
.personality-detail-related .linked-media-card-visual img{
  width:42px!important;
  height:54px!important;
  flex-basis:42px!important;
}
.personality-detail-photo{
  gap:6px!important;
}
.personality-detail-photo>img,.personality-detail-photo>.personality-photo-placeholder{
  margin-bottom:2px!important;
}
.personality-detail-photo .personality-domains,.personality-detail-photo .personality-identities{
  margin:1px 0!important;
}
.personality-related-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:16px!important;
}
.personality-info-column{
  grid-column:auto!important;
}
@media (max-width:1050px){
  .personality-detail-grid{
    grid-template-columns:minmax(200px,260px) minmax(0,1fr)!important;
  }
  .personality-detail-related{
    grid-column:1/-1;
  }
  .personality-detail-related .linked-media-list{
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
  }
}
@media (max-width:760px){
  .personality-detail-grid{
    grid-template-columns:1fr!important;
  }
  .personality-detail-related{
    grid-column:auto;
  }
  .personality-related-grid{
    grid-template-columns:1fr!important;
  }
}
.personality-detail-photo .personality-side-name{
  order:2!important;
  margin:4px 0 1px!important;
  text-align:center!important;
  font-size:1.65rem!important;
  line-height:1.12!important;
}
.personality-detail-photo>img,.personality-detail-photo>.personality-photo-placeholder{
  order:1!important;
}
.book-linked-selection>h2{
  margin:0 0 9px!important;
}
.book-linked-visual-card{
  justify-content:flex-start!important;
  text-align:center!important;
  color:inherit!important;
}
.book-linked-person-placeholder,.book-linked-media-placeholder{
  display:grid!important;
  place-items:center!important;
  background:#f1eef7!important;
  border:1px solid var(--line)!important;
  font-size:1.5rem!important;
}
.book-linked-visual-card>span:last-child{
  margin-top:5px!important;
  width:100%!important;
  font-size:.74rem!important;
  font-weight:800!important;
  line-height:1.15!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
@media (max-width:900px){
  .book-linked-selection-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
@media (max-width:620px){
  .book-linked-selection-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
.personality-detail-grid-v78{
  display:grid!important;
  grid-template-columns:minmax(220px,280px) minmax(0,1fr) minmax(220px,280px)!important;
  gap:20px!important;
  align-items:start!important;
}
.personality-left-panel .personality-identities{
  margin-top:8px!important;
  margin-bottom:4px!important;
}
.personality-left-panel .personality-domains{
  margin-top:4px!important;
  margin-bottom:6px!important;
  justify-content:center!important;
}
.personality-left-panel .personality-social-links{
  margin-top:9px!important;
}
.personality-location-line{
  margin:0 0 8px!important;
  padding-bottom:7px;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-size:.9rem;
  font-weight:700;
}
.personality-center-panel section{
  margin-top:10px!important;
}
.personality-center-panel section:first-of-type{
  margin-top:0!important;
}
.personality-center-panel section>h2{
  margin:0 0 5px!important;
  padding-bottom:4px!important;
}
.personality-center-panel .editorial-text{
  margin:0!important;
}
.personality-right-panel{
  display:grid;
  gap:14px;
}
.personality-right-section{
  margin:0!important;
}
.personality-right-section>h2,.resource-related-right>h2{
  margin:0 0 8px!important;
  padding-bottom:5px!important;
  border-bottom:1px solid var(--line);
  font-size:1rem!important;
}
.right-related-books{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.right-related-book{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  min-width:0;
  text-decoration:none;
  color:inherit;
  text-align:center;
}
.right-related-book img,.right-related-placeholder{
  width:72px!important;
  height:96px!important;
  object-fit:cover!important;
  border-radius:7px!important;
  display:grid!important;
  place-items:center!important;
  background:#f1eef7!important;
}
.right-related-book>span:last-child{
  width:100%;
  font-size:.7rem;
  font-weight:800;
  line-height:1.15;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.resource-actions-panel .resource-related-right{
  margin:0 0 12px!important;
}
.resource-actions-panel .right-related-books{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media (max-width:1050px){
  .personality-detail-grid-v78{
    grid-template-columns:minmax(210px,260px) minmax(0,1fr)!important;
  }
  .personality-right-panel{
    grid-column:1/-1;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:720px){
  .personality-detail-grid-v78{
    grid-template-columns:1fr!important;
  }
  .personality-right-panel{
    grid-column:auto;
    grid-template-columns:1fr;
  }
}
.personality-left-panel>img,.personality-left-panel>.personality-photo-placeholder{
  margin-bottom:4px!important;
}
.personality-left-panel .personality-country-detail{
  margin-top:0!important;
}
.personality-center-panel{
  padding-top:0!important;
}
.personality-right-panel .linked-media-list{
  display:grid!important;
  gap:10px!important;
}
.personality-right-panel .linked-media-card-visual{
  display:grid!important;
  align-items:center!important;
  padding:8px!important;
}
.personality-right-panel .linked-media-card-visual img{
  max-width:none!important;
  flex:none!important;
}
.personality-right-panel .linked-media-card-visual>span:last-child{
  font-size:.86rem!important;
  line-height:1.2!important;
  font-weight:800!important;
}
.book-structural-related .book-linked-selection{
  margin-top:14px!important;
  padding-top:2px!important;
}
.book-structural-related .book-linked-group + .book-linked-group{
  margin-top:14px!important;
}
.book-structural-related .book-linked-group>h2{
  margin:0 0 8px!important;
}
.book-structural-related .book-linked-selection-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.personality-left-panel{
  gap:8px!important;
}
.personality-left-panel>img,.personality-left-panel>.personality-photo-placeholder{
  width:190px!important;
  height:190px!important;
  margin:0 auto!important;
}
.personality-left-panel .personality-side-name{
  order:2!important;
  margin:3px 0 5px!important;
  font-size:1.72rem!important;
  line-height:1.08!important;
  text-align:center!important;
}
.personality-left-panel .personality-country-detail{
  order:3!important;
}
.personality-left-panel .personality-identities{
  order:4!important;
}
.personality-left-panel .personality-domains{
  order:5!important;
}
.personality-left-panel .personality-social-links{
  order:6!important;
}
.personality-location-line{
  display:none!important;
}
.personality-right-panel .linked-media-card-visual{
  grid-template-columns:96px minmax(0,1fr)!important;
  min-height:126px!important;
  gap:11px!important;
}
.personality-right-panel .linked-media-card-visual img{
  width:96px!important;
  height:120px!important;
  object-fit:cover!important;
  border-radius:9px!important;
}
.personality-right-panel .linked-media-card-visual .linked-media-icon{
  width:96px!important;
  height:96px!important;
  font-size:2rem!important;
}
.book-linked-selection{
  gap:14px!important;
}
.book-linked-group{
  min-width:0!important;
}
.book-linked-group>h2{
  margin:0 0 8px!important;
  font-size:.96rem!important;
}
#book-related-media-selected,#book-related-personalities-selected{
  margin-top:9px!important;
}
#book-related-media-picker,#book-related-personalities-picker{
  max-height:250px!important;
  overflow:auto!important;
}
.book-linked-main-title{
  font-size:1.05rem!important;
}
.book-linked-group h3{
  margin:0 0 7px!important;
  font-size:.82rem!important;
  color:var(--muted)!important;
}
.book-linked-visual-card{
  flex-direction:column!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
  padding:5px!important;
  border-radius:9px!important;
  text-decoration:none!important;
}
.book-linked-visual-card:hover{
  background:#f6f3fb!important;
}
.book-linked-person img,.book-linked-person-placeholder{
  border-radius:50%!important;
  object-fit:cover!important;
}
.book-linked-media img,.book-linked-media-placeholder{
  object-fit:cover!important;
  border-radius:8px!important;
}
.personality-social-links .social-icon-link{
  width:56px!important;
  height:56px!important;
}
.personality-social-links svg{
  width:32px!important;
  height:32px!important;
}
.book-linked-main-title{
  display:block!important;
  margin:0 0 11px!important;
}
.book-linked-group{
  display:block!important;
  margin-top:10px!important;
}
.book-linked-visual-card{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}
.book-linked-selection{
  min-height:72px!important;
  padding-top:12px!important;
  border-top:1px solid var(--line)!important;
}
.book-linked-empty{
  margin:0!important;
  padding:8px 10px!important;
  border:1px dashed var(--line)!important;
  border-radius:8px!important;
  color:var(--muted)!important;
  background:#faf9fc!important;
  font-size:.75rem!important;
}
.book-linked-selection{
  margin-top:14px!important;
}
.book-linked-person img,.book-linked-person-placeholder{
  width:84px!important;
  height:84px!important;
}
.book-linked-media img,.book-linked-media-placeholder{
  width:84px!important;
  height:108px!important;
}
.book-linked-empty{
  line-height:1.4!important;
  word-break:break-word!important;
}
.book-linked-selection{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.book-linked-selection-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.resource-linked-books,.resource-linked-personalities{
  gap:14px!important;
}
.resource-linked-books .mini-card,.resource-linked-personalities .mini-card,.resource-linked-books .linked-card,.resource-linked-personalities .linked-card{
  min-width:120px!important;
  max-width:140px!important;
}
.resource-linked-books img,.resource-linked-personalities img{
  width:84px!important;
  height:112px!important;
  object-fit:cover;
}
.resource-linked-books .linked-title,.resource-linked-personalities .linked-title{
  font-size:.92rem!important;
  line-height:1.2;
  text-align:center;
}
.resource-actions-panel .resource-related-right,.resource-actions-panel .resource-linked-people-top{
  margin-bottom:14px!important;
}
.resource-actions-panel .resource-related-right>h2,.resource-actions-panel .resource-linked-people-top>h2{
  margin:0 0 9px!important;
  padding-bottom:6px!important;
  border-bottom:1px solid var(--line)!important;
  font-size:1rem!important;
}
.resource-linked-carousel{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding:4px 2px 8px!important;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
}
.resource-linked-card{
  flex:0 0 132px!important;
  min-width:132px!important;
  max-width:132px!important;
  min-height:156px!important;
  padding:8px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#fff!important;
  text-decoration:none!important;
  color:inherit!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  text-align:center!important;
  scroll-snap-align:start;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease!important;
}
.resource-linked-card:hover,.resource-linked-card:focus-visible{
  transform:translateY(-2px)!important;
  border-color:var(--purple)!important;
  background:#faf8ff!important;
  box-shadow:0 7px 18px rgba(0,0,0,.08)!important;
}
.resource-linked-card.right-related-book img,.resource-linked-card .right-related-placeholder{
  width:88px!important;
  height:118px!important;
  max-width:none!important;
  object-fit:cover!important;
  border-radius:8px!important;
  background:#f1eef7!important;
}
.resource-linked-card.linked-person-card img,.resource-linked-card .linked-person-placeholder{
  width:92px!important;
  height:92px!important;
  max-width:none!important;
  object-fit:cover!important;
  border-radius:50%!important;
  background:#f1eef7!important;
  display:grid!important;
  place-items:center!important;
}
.resource-linked-card>span:last-child{
  width:100%!important;
  margin-top:1px!important;
  font-size:.78rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
.resource-detail-grid{
  grid-template-columns:minmax(190px,250px) minmax(0,1fr) minmax(250px,310px)!important;
}
@media (max-width:1050px){
  .resource-detail-grid{
    grid-template-columns:minmax(190px,240px) minmax(0,1fr)!important;
  }
  .resource-actions-panel{
    grid-column:1/-1!important;
  }
  .resource-linked-carousel{
    overflow-x:auto!important;
  }
}
@media (max-width:680px){
  .resource-detail-grid{
    grid-template-columns:1fr!important;
  }
  .resource-linked-card{
    flex-basis:120px!important;
    min-width:120px!important;
    max-width:120px!important;
  }
}
.book-linked-selection-grid{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding:4px 2px 8px!important;
  scroll-snap-type:x proximity;
}
.book-linked-selection .resource-linked-card{
  flex:0 0 132px!important;
  min-width:132px!important;
  max-width:132px!important;
  min-height:156px!important;
  padding:8px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#fff!important;
  gap:7px!important;
  text-align:center!important;
  scroll-snap-align:start;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease!important;
}
.book-linked-selection .resource-linked-card:hover,.book-linked-selection .resource-linked-card:focus-visible{
  transform:translateY(-2px)!important;
  border-color:var(--purple)!important;
  background:#faf8ff!important;
  box-shadow:0 7px 18px rgba(0,0,0,.08)!important;
}
.book-related-person-card img,.book-related-person-card .book-linked-person-placeholder{
  width:92px!important;
  height:92px!important;
  border-radius:50%!important;
  object-fit:cover!important;
}
.book-related-media-card img,.book-related-media-card .book-linked-media-placeholder{
  width:88px!important;
  height:118px!important;
  border-radius:8px!important;
  object-fit:cover!important;
}
.book-linked-selection .resource-linked-card>span:last-child{
  width:100%!important;
  font-size:.78rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
#media-grid .media-summary,.media-carousel-track .media-summary{
  -webkit-line-clamp:3!important;
}
.media-carousel-track{
  align-items:stretch!important;
}
.media-carousel-track .media-card{
  align-self:stretch!important;
}
.book-linked-selection-grid,.personality-related-list,.personality-linked-list,.personality-linked-books,.personality-linked-media{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding:4px 2px 8px!important;
}
.personality-detail-grid .resource-linked-card,.book-linked-selection .resource-linked-card{
  flex:0 0 132px!important;
  min-width:132px!important;
  max-width:132px!important;
  padding:8px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#fff!important;
  text-decoration:none!important;
  color:inherit!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:7px!important;
  text-align:center!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease!important;
}
.personality-detail-grid .resource-linked-card:hover,.personality-detail-grid .resource-linked-card:focus-visible,.book-linked-selection .resource-linked-card:hover,.book-linked-selection .resource-linked-card:focus-visible{
  transform:translateY(-2px)!important;
  border-color:var(--purple)!important;
  background:#faf8ff!important;
  box-shadow:0 7px 18px rgba(0,0,0,.08)!important;
}
.personality-detail-grid .resource-linked-card img[src*="photo"],.personality-detail-grid .personality-linked-person img,.book-related-person-card img,.book-linked-person img{
  width:92px!important;
  height:92px!important;
  border-radius:50%!important;
  object-fit:cover!important;
}
.personality-detail-grid .resource-linked-card img:not([src*="photo"]),.book-related-media-card img,.book-linked-media img{
  width:88px!important;
  height:118px!important;
  border-radius:8px!important;
  object-fit:cover!important;
}
.personality-detail-grid .resource-linked-card>span:last-child,.book-linked-selection .resource-linked-card>span:last-child{
  width:100%!important;
  font-size:.78rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
#media-grid .media-summary,.media-carousel-track .media-summary{
  white-space:normal!important;
  text-overflow:clip!important;
}
#media-grid .media-card-genres .genre-tag,.media-carousel-track .media-card-genres .genre-tag{
  flex:0 0 auto!important;
  width:auto!important;
  max-width:100%!important;
  padding:4px 8px!important;
  white-space:nowrap!important;
}
.resource-type-strip{
  align-items:stretch!important;
}
.resource-type .native-icon{
  margin-bottom:0!important;
}
.social-admin-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.social-admin-card{
  display:grid!important;
  gap:8px!important;
  padding:9px!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:#faf9fc!important;
}
.social-admin-card-website{
  grid-template-columns:1fr!important;
}
.social-followers-help{
  margin:4px 0 9px!important;
}
.personality-social-links{
  margin-top:10px!important;
}
.social-followers-count{
  max-width:72px!important;
  text-align:center!important;
  font-size:.67rem!important;
  line-height:1.05!important;
  font-weight:800!important;
  color:var(--muted)!important;
  white-space:nowrap!important;
}
@media (max-width:720px){
  .social-admin-grid{
    grid-template-columns:1fr!important;
  }
}
.personality-social-item{
  grid-template-rows:56px 16px!important;
  justify-items:center!important;
}
.personality-social-item .social-icon-link{
  grid-row:1!important;
}
.personality-social-item .social-followers-count{
  grid-row:2!important;
}
.personality-related-carousel{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding:4px 2px 9px!important;
  scroll-snap-type:x proximity;
}
.personality-related-card{
  flex:0 0 132px!important;
  width:132px!important;
  min-width:132px!important;
  max-width:132px!important;
  min-height:160px!important;
  padding:8px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#fff!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  text-align:center!important;
  color:inherit!important;
  text-decoration:none!important;
  scroll-snap-align:start;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease!important;
}
.personality-related-card:hover,.personality-related-card:focus-visible{
  transform:translateY(-2px)!important;
  border-color:var(--purple)!important;
  background:#faf8ff!important;
  box-shadow:0 7px 18px rgba(0,0,0,.08)!important;
}
.personality-related-card.right-related-book img,.personality-related-card .right-related-placeholder{
  width:88px!important;
  height:118px!important;
  border-radius:8px!important;
  object-fit:cover!important;
}
.personality-related-card.linked-media-card img,.personality-related-card .linked-media-icon{
  width:88px!important;
  height:118px!important;
  border-radius:8px!important;
  object-fit:cover!important;
  display:grid!important;
  place-items:center!important;
  background:#f1eef7!important;
}
.personality-related-card>span:last-child{
  width:100%!important;
  font-size:.78rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
.book-author-personality-field .book-author-search-actions{
  display:flex!important;
  justify-content:flex-start!important;
  margin:7px 0!important;
}
#book-author-personalities-picker{
  max-height:220px!important;
}
.author-personality-chip{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
}
.author-personality-chip img{
  width:24px!important;
  height:24px!important;
  border-radius:50%!important;
  object-fit:cover!important;
}
#media-grid .media-card-body,.media-carousel-track .media-card-body{
  grid-template-rows:1.55rem
1.35rem
1.45rem
3.65rem
3.05rem
2.8rem!important;
  row-gap:6px!important;
}
#media-grid .media-card-genres,.media-carousel-track .media-card-genres{
  padding-top:12px!important;
  align-self:end!important;
}
#media-grid .platform-list,.media-carousel-track .platform-list{
  padding-top:10px!important;
  align-self:end!important;
}
.resource-type-strip{
  display:grid!important;
  gap:6px!important;
  width:100%!important;
}
.resource-type-strip>.resource-type{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  min-width:0!important;
}
.media-page,.media-catalogue,#media-grid,.media-category-group,.media-carousel-shell{
  max-width:100%!important;
  min-width:0!important;
}
.media-carousel-shell{
  overflow:hidden!important;
}
.media-carousel-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  scroll-snap-type:x proximity;
  padding:6px 3px 10px!important;
}
.media-carousel-track .media-card{
  flex:0 0 min(310px,82vw)!important;
  width:min(310px,82vw)!important;
  max-width:min(310px,82vw)!important;
  scroll-snap-align:start;
}
#media-grid:not(.media-carousel-track){
  min-width:0!important;
}
@media (max-width:900px){
  .resource-type-strip{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:5px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding-bottom:4px!important;
    scrollbar-width:thin;
  }
  .resource-type-strip>.resource-type{
    flex:0 0 92px!important;
    width:92px!important;
    min-width:92px!important;
    max-width:92px!important;
  }
  .media-filters,.media-filter-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
}
@media (max-width:620px){
  .resource-type-strip>.resource-type{
    flex-basis:82px!important;
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
    min-height:48px!important;
  }
  .resource-type-strip>.resource-type span:last-child{
    font-size:.62rem!important;
  }
  .media-filters,.media-filter-row{
    grid-template-columns:1fr!important;
  }
  .media-carousel-track .media-card{
    flex-basis:min(292px,88vw)!important;
    width:min(292px,88vw)!important;
    max-width:min(292px,88vw)!important;
  }
}
.author-card-personality-link{
  color:inherit!important;
  text-decoration:none!important;
  transition:background .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
.author-card-personality-link:hover,.author-card-personality-link:focus-visible{
  background:#faf8ff!important;
  box-shadow:0 6px 16px rgba(0,0,0,.07)!important;
  transform:translateY(-1px)!important;
  outline:none!important;
}
.personality-social-links{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:12px!important;
}
.personality-social-item{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 0 62px!important;
  width:62px!important;
  min-width:62px!important;
  gap:5px!important;
}
.personality-social-item .social-icon-link{
  flex:0 0 56px!important;
  width:56px!important;
  height:56px!important;
  margin:0!important;
}
.personality-social-item .social-followers-count{
  position:static!important;
  margin:0!important;
  text-align:center!important;
  font-size:.69rem!important;
  line-height:1.05!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.linked-uniform-carousel{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding:5px 2px 10px!important;
  scroll-snap-type:x proximity!important;
  scrollbar-width:thin!important;
}
.linked-uniform-card{
  flex:0 0 132px!important;
  width:132px!important;
  min-width:132px!important;
  max-width:132px!important;
  min-height:166px!important;
  box-sizing:border-box!important;
  padding:8px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:inherit!important;
  text-decoration:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  text-align:center!important;
  scroll-snap-align:start!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease!important;
}
.linked-uniform-card:hover,.linked-uniform-card:focus-visible{
  transform:translateY(-2px)!important;
  border-color:var(--purple)!important;
  background:#faf8ff!important;
  box-shadow:0 7px 18px rgba(0,0,0,.08)!important;
  outline:none!important;
}
.linked-uniform-visual img,.linked-uniform-visual .right-related-placeholder,.linked-uniform-visual .linked-media-icon,.linked-uniform-visual .book-linked-media-placeholder{
  width:88px!important;
  height:118px!important;
  min-width:88px!important;
  min-height:118px!important;
  border-radius:8px!important;
  object-fit:cover!important;
  display:grid!important;
  place-items:center!important;
  background:#f1eef7!important;
}
.linked-uniform-person img,.linked-uniform-person .linked-person-placeholder,.linked-uniform-person .book-linked-person-placeholder{
  width:92px!important;
  height:92px!important;
  min-width:92px!important;
  min-height:92px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  display:grid!important;
  place-items:center!important;
  background:#f1eef7!important;
}
.linked-uniform-card>span:last-child{
  width:100%!important;
  margin-top:1px!important;
  font-size:.78rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  text-align:center!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
#media-grid .media-card,.media-carousel-track .media-card{
  overflow:hidden!important;
}
#media-grid .media-card-body,.media-carousel-track .media-card-body{
  box-sizing:border-box!important;
  gap:0!important;
}
#media-grid .media-summary,.media-carousel-track .media-summary{
  flex:0 0 4.35rem!important;
  height:4.35rem!important;
  min-height:4.35rem!important;
  max-height:4.35rem!important;
  margin:0!important;
  padding:0!important;
  line-height:1.34!important;
  overflow:hidden!important;
  display:block!important;
}
#media-grid .media-summary-empty,.media-carousel-track .media-summary-empty{
  visibility:hidden!important;
}
#media-grid .media-card-bottom,.media-carousel-track .media-card-bottom{
  align-items:end!important;
}
#media-grid .media-card-genres,.media-carousel-track .media-card-genres{
  width:100%!important;
  margin:0!important;
}
#media-grid .platform-list,.media-carousel-track .platform-list{
  box-sizing:border-box!important;
  width:100%!important;
  margin:0!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:center!important;
  gap:5px!important;
  overflow:hidden!important;
}
.resource-type-strip>.resource-type{
  justify-content:center!important;
}
.resource-type-strip>.resource-type .native-icon,.resource-type-strip>.resource-type .resource-type-icon{
  display:block!important;
  margin:0!important;
  padding:0!important;
  line-height:.82!important;
  transform:translateY(2px)!important;
}
.resource-type-strip>.resource-type span:last-child{
  display:block!important;
  margin:-1px 0 0!important;
  padding:0!important;
}
@media (max-width:900px){
  .resource-type-strip{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    width:100%!important;
    max-width:100%!important;
  }
  .media-carousel-shell,.media-category-group,#media-grid{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .media-carousel-track{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
  }
}
@media (max-width:620px){
  #media-grid .media-card,.media-carousel-track .media-card{
    flex:0 0 min(292px,88vw)!important;
    width:min(292px,88vw)!important;
    max-width:min(292px,88vw)!important;
  }
}
.personality-detail-related .linked-uniform-carousel,.resource-actions-panel .linked-uniform-carousel,.book-linked-selection .linked-uniform-carousel{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding:5px 2px 10px!important;
}
.personality-detail-related .linked-uniform-card,.resource-actions-panel .linked-uniform-card,.book-linked-selection .linked-uniform-card{
  flex:0 0 132px!important;
  width:132px!important;
  min-width:132px!important;
  max-width:132px!important;
  min-height:166px!important;
  padding:8px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:inherit!important;
  text-decoration:none!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  text-align:center!important;
}
.personality-detail-related .linked-uniform-visual img,.resource-actions-panel .linked-uniform-visual img,.book-linked-selection .linked-uniform-visual img{
  width:88px!important;
  height:118px!important;
  border-radius:8px!important;
  object-fit:cover!important;
}
.personality-detail-related .linked-uniform-card>span:last-child,.resource-actions-panel .linked-uniform-card>span:last-child,.book-linked-selection .linked-uniform-card>span:last-child{
  width:100%!important;
  font-size:.78rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
#media-grid .media-card-body,.media-carousel-track .media-card-body{
  display:flex!important;
  flex-direction:column!important;
  padding:.78rem!important;
}
#media-grid .media-country-line,.media-carousel-track .media-country-line{
  margin-bottom:0!important;
}
#media-grid .platform-list,.media-carousel-track .platform-list{
  align-items:flex-end!important;
}
.admin-tag-filter-bar{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin:0 0 12px!important;
  padding:8px!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:#faf9fc!important;
}
.admin-tag-filter-bar[hidden]{
  display:none!important;
}
.admin-filter-tag{
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:inherit!important;
  padding:5px 9px!important;
  font-size:.75rem!important;
  line-height:1!important;
  cursor:pointer!important;
}
.admin-filter-tag.active{
  border-color:var(--purple)!important;
  background:#f1eaff!important;
  color:var(--purple)!important;
  font-weight:800!important;
}
.personality-social-item .social-followers-count{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-height:24px!important;
  gap:1px!important;
  margin-top:1px!important;
  color:var(--muted)!important;
}
.personality-social-item .social-followers-count strong{
  display:block!important;
  font-size:.72rem!important;
  line-height:1!important;
  font-weight:900!important;
  color:var(--text)!important;
}
.personality-social-item .social-followers-count small{
  display:block!important;
  margin-top:1px!important;
  font-size:.52rem!important;
  line-height:1!important;
  font-weight:700!important;
  color:var(--muted)!important;
}
.personality-country-city-line{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  width:100%!important;
  white-space:nowrap!important;
}
.personality-country-city-separator{
  color:var(--muted)!important;
}
.personality-city-inline{
  color:var(--muted)!important;
  font-weight:700!important;
}
.author-card-personality-link{
  display:grid!important;
  width:100%!important;
  box-sizing:border-box!important;
  position:relative!important;
  cursor:pointer!important;
}
.author-card-personality-link>*{
  pointer-events:none!important;
}
.personality-card .personality-identities,.personality-card .personality-badge-row{
  margin-bottom:10px!important;
}
.personality-card .personality-domains{
  margin-top:14px!important;
  padding-top:2px!important;
  min-height:32px!important;
  align-content:flex-start!important;
}
.personality-card .personality-tags-stack,.personality-card .personality-tag-groups{
  row-gap:10px!important;
}
#media-grid .media-card-genres,.media-carousel-track .media-card-genres{
  box-sizing:border-box!important;
  height:4.35rem!important;
  min-height:4.35rem!important;
  max-height:4.35rem!important;
  padding:8px 0 4px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-content:center!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  overflow:visible!important;
}
#media-grid .media-card-genres .genre-tag,.media-carousel-track .media-card-genres .genre-tag{
  line-height:1.1!important;
  min-height:24px!important;
  display:inline-flex!important;
  align-items:center!important;
  margin:0!important;
}
#media-grid .platform-list,.media-carousel-track .platform-list{
  height:3.85rem!important;
  min-height:3.85rem!important;
  max-height:3.85rem!important;
  padding:10px 0 3px!important;
}
#media-grid .media-card,.media-carousel-track .media-card{
  height:332px!important;
  min-height:332px!important;
  max-height:332px!important;
}
#media-grid .media-card-body,.media-carousel-track .media-card-body{
  height:332px!important;
  min-height:332px!important;
}
.social-followers-count{
  display:none!important;
}
.personality-social-item{
  min-height:auto!important;
}
#media-grid .media-card-body h2::after,.media-carousel-track .media-card-body h2::after{
  content:"";
}
.linked-carousel-shell{
  position:relative!important;
  display:grid!important;
  grid-template-columns:26px minmax(0,1fr) 26px!important;
  gap:5px!important;
  align-items:center!important;
  min-width:0!important;
}
.linked-carousel-shell .linked-carousel-track{
  min-width:0!important;
  width:100%!important;
  overflow-x:auto!important;
  scrollbar-width:thin!important;
}
.linked-carousel-arrow{
  width:26px!important;
  height:38px!important;
  min-width:26px!important;
  padding:0!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--purple)!important;
  display:grid!important;
  place-items:center!important;
  font-size:1.35rem!important;
  font-weight:900!important;
  cursor:pointer!important;
  box-shadow:0 2px 8px rgba(0,0,0,.05)!important;
}
.linked-carousel-arrow:hover,.linked-carousel-arrow:focus-visible{
  background:#f5f0ff!important;
  border-color:var(--purple)!important;
  outline:none!important;
}
.wikipedia-icon-link svg text{
  fill:currentColor!important;
  stroke:none!important;
}
.book-linked-selection .book-linked-person{
  display:none!important;
}
@media (max-width:620px){
  .linked-carousel-shell{
    grid-template-columns:24px minmax(0,1fr) 24px!important;
    gap:3px!important;
  }
  .linked-carousel-arrow{
    width:24px!important;
    min-width:24px!important;
  }
}
.unified-carousel-shell{
  position:relative!important;
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr) 30px!important;
  gap:7px!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
}
.unified-carousel-track,.linked-uniform-carousel,.resource-linked-carousel,.mini-carousel-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding:6px 2px 10px!important;
  scroll-snap-type:x proximity!important;
  scrollbar-width:thin!important;
  box-sizing:border-box!important;
}
.unified-carousel-arrow,.linked-carousel-arrow,.mini-book-carousel .prev,.mini-book-carousel .next{
  width:30px!important;
  height:42px!important;
  min-width:30px!important;
  padding:0!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--purple)!important;
  display:grid!important;
  place-items:center!important;
  font-size:1.35rem!important;
  font-weight:900!important;
  cursor:pointer!important;
  box-shadow:0 2px 8px rgba(0,0,0,.05)!important;
}
.unified-carousel-arrow:hover,.unified-carousel-arrow:focus-visible,.linked-carousel-arrow:hover,.linked-carousel-arrow:focus-visible,.mini-book-carousel .prev:hover,.mini-book-carousel .next:hover,.mini-book-carousel .prev:focus-visible,.mini-book-carousel .next:focus-visible{
  background:#f5f0ff!important;
  border-color:var(--purple)!important;
  outline:none!important;
}
.linked-uniform-card,.resource-linked-card,.mini-book-card{
  flex:0 0 132px!important;
  width:132px!important;
  min-width:132px!important;
  max-width:132px!important;
  scroll-snap-align:start!important;
}
.linked-uniform-person,.linked-person-card,.book-linked-person{
  min-height:166px!important;
}
.linked-uniform-person>span:last-child,.linked-person-card>span:last-child,.book-linked-person>span:last-child{
  width:100%!important;
  min-height:40px!important;
  max-height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:.78rem!important;
  line-height:1.18!important;
  font-weight:800!important;
  overflow:hidden!important;
}
.linked-uniform-person img,.linked-uniform-person .linked-person-placeholder,.linked-person-card img,.linked-person-card .linked-person-placeholder,.book-linked-person img,.book-linked-person .book-linked-person-placeholder{
  flex:0 0 92px!important;
  width:92px!important;
  height:92px!important;
  min-width:92px!important;
  min-height:92px!important;
  border-radius:50%!important;
  object-fit:cover!important;
}
#media-grid .media-card-body h2,.media-carousel-track .media-card-body h2{
  flex:0 0 3.15rem!important;
  width:100%!important;
  height:3.15rem!important;
  min-height:3.15rem!important;
  max-height:3.15rem!important;
  margin:0 0 6px!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:normal!important;
  line-height:1.32!important;
}
#media-grid .media-creator,.media-carousel-track .media-creator{
  flex:0 0 1.45rem!important;
  width:100%!important;
  height:1.45rem!important;
  min-height:1.45rem!important;
  max-height:1.45rem!important;
  margin:0 0 5px!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
#media-grid .media-country-line,.media-carousel-track .media-country-line{
  flex:0 0 1.45rem!important;
  width:100%!important;
  height:1.45rem!important;
  min-height:1.45rem!important;
  max-height:1.45rem!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
#media-grid .media-card-bottom,.media-carousel-track .media-card-bottom{
  margin-top:auto!important;
  flex:0 0 8.2rem!important;
  height:8.2rem!important;
  min-height:8.2rem!important;
  max-height:8.2rem!important;
  display:grid!important;
  grid-template-rows:4.35rem 3.85rem!important;
}
@media (max-width:620px){
  .unified-carousel-shell{
    grid-template-columns:26px minmax(0,1fr) 26px!important;
    gap:4px!important;
  }
  .unified-carousel-arrow,.linked-carousel-arrow,.mini-book-carousel .prev,.mini-book-carousel .next{
    width:26px!important;
    min-width:26px!important;
    height:38px!important;
  }
}
.personality-age-inline{
  color:var(--text)!important;
  font-weight:800!important;
}
.personality-deceased-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-left:1px!important;
  font-size:.9rem!important;
  line-height:1!important;
}
.personality-deceased-field{
  display:flex!important;
  align-items:end!important;
}
#personality-death-date-field[hidden]{
  display:none!important;
}
@media (max-width:520px){
  .personality-country-city-line{
    flex-wrap:wrap!important;
    white-space:normal!important;
  }
}
@media (max-width:620px){
  #media-grid .media-card,.media-carousel-track .media-card{
    display:grid!important;
    grid-template-columns:112px minmax(0,1fr)!important;
    grid-template-rows:300px!important;
    flex:0 0 min(340px,94vw)!important;
    width:min(340px,94vw)!important;
    max-width:min(340px,94vw)!important;
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
    overflow:hidden!important;
  }
  #media-grid .media-poster-link,.media-carousel-track .media-poster-link{
    grid-column:1!important;
    grid-row:1!important;
    display:flex!important;
    flex-direction:column!important;
    width:112px!important;
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
    overflow:hidden!important;
  }
  #media-grid .media-card-category-header,.media-carousel-track .media-card-category-header{
    flex:0 0 72px!important;
    width:112px!important;
    height:72px!important;
    min-height:72px!important;
    max-height:72px!important;
    box-sizing:border-box!important;
    padding:6px!important;
    gap:2px!important;
    overflow:hidden!important;
  }
  #media-grid .media-card-category-icon,.media-carousel-track .media-card-category-icon{
    width:34px!important;
    height:34px!important;
    font-size:1.65rem!important;
  }
  #media-grid .media-card-age,.media-carousel-track .media-card-age{
    min-height:22px!important;
    padding:2px 6px!important;
    font-size:.65rem!important;
  }
  #media-grid .media-poster,#media-grid .resource-placeholder,.media-carousel-track .media-poster,.media-carousel-track .resource-placeholder{
    flex:1 1 auto!important;
    width:112px!important;
    height:228px!important;
    min-height:228px!important;
    max-height:228px!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
  }
  #media-grid .media-card-body,.media-carousel-track .media-card-body{
    grid-column:2!important;
    grid-row:1!important;
    width:auto!important;
    min-width:0!important;
    height:300px!important;
    min-height:300px!important;
    max-height:300px!important;
    box-sizing:border-box!important;
    padding:10px!important;
    overflow:hidden!important;
    position:relative!important;
    z-index:1!important;
    background:#fff!important;
  }
  #media-grid .media-card-body h2,.media-carousel-track .media-card-body h2{
    flex:0 0 3.05rem!important;
    height:3.05rem!important;
    min-height:3.05rem!important;
    max-height:3.05rem!important;
    font-size:1rem!important;
    line-height:1.28!important;
    margin:0 0 5px!important;
  }
  #media-grid .media-creator,.media-carousel-track .media-creator{
    flex:0 0 1.35rem!important;
    height:1.35rem!important;
    min-height:1.35rem!important;
    max-height:1.35rem!important;
    font-size:.76rem!important;
    margin:0 0 4px!important;
  }
  #media-grid .media-country-line,.media-carousel-track .media-country-line{
    flex:0 0 1.35rem!important;
    height:1.35rem!important;
    min-height:1.35rem!important;
    max-height:1.35rem!important;
    font-size:.72rem!important;
    margin:0!important;
    overflow:hidden!important;
  }
  #media-grid .media-country-line img,.media-carousel-track .media-country-line img{
    flex:0 0 auto!important;
  }
  #media-grid .media-card-bottom,.media-carousel-track .media-card-bottom{
    margin-top:auto!important;
    width:100%!important;
    height:7.2rem!important;
    min-height:7.2rem!important;
    max-height:7.2rem!important;
    overflow:hidden!important;
  }
  #media-grid .media-card-genres,.media-carousel-track .media-card-genres{
    padding-top:6px!important;
    overflow:hidden!important;
  }
  #media-grid .media-card-genres .genre-tag,.media-carousel-track .media-card-genres .genre-tag{
    padding:3px 6px!important;
    font-size:.62rem!important;
  }
  #media-grid .platform-list,.media-carousel-track .platform-list{
    padding-top:7px!important;
    overflow:hidden!important;
  }
  #media-grid .platform-list img,.media-carousel-track .platform-list img{
    max-width:26px!important;
    max-height:26px!important;
  }
}
@media (max-width:380px){
  #media-grid .media-card,.media-carousel-track .media-card{
    grid-template-columns:100px minmax(0,1fr)!important;
    width:min(320px,96vw)!important;
    max-width:min(320px,96vw)!important;
    flex-basis:min(320px,96vw)!important;
  }
  #media-grid .media-poster-link,.media-carousel-track .media-poster-link,#media-grid .media-card-category-header,.media-carousel-track .media-card-category-header,#media-grid .media-poster,#media-grid .resource-placeholder,.media-carousel-track .media-poster,.media-carousel-track .resource-placeholder{
    width:100px!important;
  }
}
.supporters-section{
  padding-top:34px!important;
  padding-bottom:38px!important;
}
.supporters-head{
  margin-bottom:14px!important;
}
.supporters-list{
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:12px;
  align-items:stretch;
}
.supporter-card{
  border-radius:14px;
  color:inherit;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  text-align:center;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.supporter-card:hover,.supporter-card:focus-visible{
  border-color:var(--purple);
  outline:none;
}
.supporter-logo-wrap{
  width:104px;
  height:70px;
  display:grid;
  place-items:center;
}
.supporter-logo-wrap img{
  display:block;
  max-width:104px;
  max-height:70px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.supporter-type{
  color:var(--muted);
}
.partner-admin-card{
  grid-template-columns:110px minmax(0,1fr) auto!important;
  align-items:center!important;
}
.partner-admin-visual{
  width:100px;
  height:70px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.partner-admin-visual img{
  max-width:94px;
  max-height:64px;
  object-fit:contain;
}
.partner-admin-actions{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.partner-image-preview{
  width:160px;
  height:100px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.partner-image-preview img{
  max-width:150px;
  max-height:90px;
  object-fit:contain;
}
.partner-image-preview span{
  font-size:2rem;
}
@media (max-width:620px){
  .supporters-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .supporter-logo-wrap{
    width:90px;
    height:62px;
  }
  .supporter-logo-wrap img{
    max-width:90px;
    max-height:62px;
  }
  .partner-admin-card{
    grid-template-columns:82px minmax(0,1fr)!important;
  }
  .partner-admin-actions{
    grid-column:1/-1;
    flex-direction:row;
    flex-wrap:wrap;
  }
}
@media (max-width:620px){
  #media-grid .media-card,.media-carousel-track .media-card{
    grid-template-columns:96px minmax(0,1fr)!important;
    grid-template-rows:286px!important;
    flex:0 0 min(310px,88vw)!important;
    width:min(310px,88vw)!important;
    max-width:min(310px,88vw)!important;
    height:286px!important;
    min-height:286px!important;
    max-height:286px!important;
  }
  #media-grid .media-poster-link,.media-carousel-track .media-poster-link{
    width:96px!important;
    height:286px!important;
    min-height:286px!important;
    max-height:286px!important;
  }
  #media-grid .media-card-category-header,.media-carousel-track .media-card-category-header{
    width:96px!important;
    height:66px!important;
    min-height:66px!important;
    max-height:66px!important;
    flex:0 0 66px!important;
  }
  #media-grid .media-card-category-icon,.media-carousel-track .media-card-category-icon{
    width:30px!important;
    height:30px!important;
    font-size:1.45rem!important;
  }
  #media-grid .media-poster,#media-grid .resource-placeholder,.media-carousel-track .media-poster,.media-carousel-track .resource-placeholder{
    width:96px!important;
    height:220px!important;
    min-height:220px!important;
    max-height:220px!important;
  }
  #media-grid .media-card-body,.media-carousel-track .media-card-body{
    height:286px!important;
    min-height:286px!important;
    max-height:286px!important;
    padding:8px!important;
  }
  #media-grid .media-card-body h2,.media-carousel-track .media-card-body h2{
    font-size:.92rem!important;
    line-height:1.22!important;
    flex:0 0 2.85rem!important;
    height:2.85rem!important;
    min-height:2.85rem!important;
    max-height:2.85rem!important;
  }
  #media-grid .media-creator,.media-carousel-track .media-creator{
    font-size:.7rem!important;
  }
  #media-grid .media-country-line,.media-carousel-track .media-country-line{
    font-size:.67rem!important;
  }
  #media-grid .media-card-bottom,.media-carousel-track .media-card-bottom{
    height:7.55rem!important;
    min-height:7.55rem!important;
    max-height:7.55rem!important;
    grid-template-rows:3.6rem 3.95rem!important;
  }
  #media-grid .media-card-genres,.media-carousel-track .media-card-genres{
    height:3.6rem!important;
    min-height:3.6rem!important;
    max-height:3.6rem!important;
    padding-top:5px!important;
  }
  #media-grid .platform-list,.media-carousel-track .platform-list{
    height:3.95rem!important;
    min-height:3.95rem!important;
    max-height:3.95rem!important;
    padding:6px 0 2px!important;
    display:flex!important;
    flex-wrap:wrap!important;
    align-content:flex-end!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    gap:4px!important;
    overflow:visible!important;
  }
  #media-grid .platform-list .platform-badge,.media-carousel-track .platform-list .platform-badge{
    min-width:0!important;
    padding:3px 5px!important;
    font-size:.56rem!important;
  }
  #media-grid .platform-list img,.media-carousel-track .platform-list img,#media-grid .platform-logo,.media-carousel-track .platform-logo{
    display:block!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    min-height:24px!important;
    max-width:24px!important;
    max-height:24px!important;
    object-fit:contain!important;
  }
}
@media (max-width:380px){
  #media-grid .media-card,.media-carousel-track .media-card{
    grid-template-columns:90px minmax(0,1fr)!important;
    flex:0 0 min(292px,92vw)!important;
    width:min(292px,92vw)!important;
    max-width:min(292px,92vw)!important;
  }
  #media-grid .media-poster-link,.media-carousel-track .media-poster-link,#media-grid .media-card-category-header,.media-carousel-track .media-card-category-header,#media-grid .media-poster,#media-grid .resource-placeholder,.media-carousel-track .media-poster,.media-carousel-track .resource-placeholder{
    width:90px!important;
  }
}
.supporters-list{
  display:block!important;
}
.supporters-carousel-shell{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 30px;
  gap:8px;
  align-items:center;
  min-width:0;
  width:100%;
}
.supporters-carousel-track{
  display:flex;
  flex-wrap:nowrap;
  gap:14px;
  width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:visible;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  padding:6px 2px 10px;
}
.supporters-carousel-arrow{
  width:30px;
  height:42px;
  min-width:30px;
  padding:0;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  color:var(--purple);
  display:grid;
  place-items:center;
  font-size:1.35rem;
  font-weight:900;
  cursor:pointer;
}
.supporter-card{
  border:none!important;
  background:transparent!important;
  box-shadow:none!important;
  scroll-snap-align:start;
}
.supporter-card:hover,.supporter-card:focus-visible{
  transform:translateY(-2px);
  box-shadow:none!important;
}
.supporter-logo-bubble{
  border:1px solid var(--line)!important;
  background:#fff!important;
  overflow:hidden!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:0 5px 15px rgba(0,0,0,.06);
}
.supporter-logo-bubble img{
  background:#fff!important;
}
.supporter-placeholder{
  font-size:1.8rem!important;
}
.supporter-card strong{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
@media (max-width:620px){
  .supporters-carousel-shell{
    grid-template-columns:24px minmax(0,1fr) 24px;
    gap:4px;
  }
  .supporters-carousel-arrow{
    width:24px;
    min-width:24px;
    height:38px;
  }
  .supporters-carousel-track{
    gap:9px;
  }
  .supporter-card{
    flex-basis:104px!important;
    width:104px!important;
    min-width:104px!important;
    max-width:104px!important;
  }
  .supporter-logo-bubble{
    width:78px!important;
    height:78px!important;
  }
  .supporter-logo-bubble img{
    width:70px!important;
    height:70px!important;
    max-width:70px!important;
    max-height:70px!important;
  }
  .supporter-card strong{
    font-size:.74rem!important;
    min-height:28px!important;
  }
  .supporter-type{
    font-size:.6rem!important;
  }
}
@media (max-width:360px){
  .supporters-carousel-shell{
    grid-template-columns:22px minmax(0,1fr) 22px;
  }
  .supporters-carousel-arrow{
    width:22px;
    min-width:22px;
  }
  .supporter-card{
    flex-basis:96px!important;
    width:96px!important;
    min-width:96px!important;
    max-width:96px!important;
  }
  .supporter-logo-bubble{
    width:72px!important;
    height:72px!important;
  }
  .supporter-logo-bubble img{
    width:64px!important;
    height:64px!important;
    max-width:64px!important;
    max-height:64px!important;
  }
}
@media (max-width:620px){
  #media-grid .media-card,.media-carousel-track .media-card{
    grid-template-columns:108px minmax(0,1fr)!important;
    flex:0 0 min(320px,90vw)!important;
    width:min(320px,90vw)!important;
    max-width:min(320px,90vw)!important;
  }
  #media-grid .media-poster-link,.media-carousel-track .media-poster-link,#media-grid .media-card-category-header,.media-carousel-track .media-card-category-header,#media-grid .media-poster,#media-grid .resource-placeholder,.media-carousel-track .media-poster,.media-carousel-track .resource-placeholder{
    width:108px!important;
  }
  #media-grid .media-card-category-header,.media-carousel-track .media-card-category-header{
    height:68px!important;
    min-height:68px!important;
    max-height:68px!important;
    flex-basis:68px!important;
  }
  #media-grid .media-poster,#media-grid .resource-placeholder,.media-carousel-track .media-poster,.media-carousel-track .resource-placeholder{
    height:218px!important;
    min-height:218px!important;
    max-height:218px!important;
  }
  #media-grid .media-card-body,.media-carousel-track .media-card-body{
    padding:8px 9px!important;
  }
}
@media (max-width:380px){
  #media-grid .media-card,.media-carousel-track .media-card{
    grid-template-columns:102px minmax(0,1fr)!important;
    flex:0 0 min(300px,94vw)!important;
    width:min(300px,94vw)!important;
    max-width:min(300px,94vw)!important;
  }
  #media-grid .media-poster-link,.media-carousel-track .media-poster-link,#media-grid .media-card-category-header,.media-carousel-track .media-card-category-header,#media-grid .media-poster,#media-grid .resource-placeholder,.media-carousel-track .media-poster,.media-carousel-track .resource-placeholder{
    width:102px!important;
  }
}
.supporter-card{
  flex:0 0 220px!important;
  width:220px!important;
  min-width:220px!important;
  max-width:220px!important;
  padding:10px 8px!important;
}
.supporter-logo-bubble{
  width:184px!important;
  height:184px!important;
  min-width:184px!important;
  min-height:184px!important;
  border-radius:50%!important;
}
.supporter-logo-bubble img{
  width:168px!important;
  height:168px!important;
  max-width:168px!important;
  max-height:168px!important;
  border-radius:50%!important;
  object-fit:contain!important;
}
.supporter-card strong{
  font-size:.92rem!important;
  min-height:38px!important;
  line-height:1.2!important;
}
.supporter-type{
  font-size:.72rem!important;
}
@media (max-width:900px){
  .supporter-card{
    flex-basis:190px!important;
    width:190px!important;
    min-width:190px!important;
    max-width:190px!important;
  }
  .supporter-logo-bubble{
    width:160px!important;
    height:160px!important;
    min-width:160px!important;
    min-height:160px!important;
  }
  .supporter-logo-bubble img{
    width:146px!important;
    height:146px!important;
    max-width:146px!important;
    max-height:146px!important;
  }
}
@media (max-width:620px){
  .supporters-carousel-track{
    gap:12px!important;
  }
  .supporter-card{
    flex-basis:158px!important;
    width:158px!important;
    min-width:158px!important;
    max-width:158px!important;
  }
  .supporter-logo-bubble{
    width:140px!important;
    height:140px!important;
    min-width:140px!important;
    min-height:140px!important;
  }
  .supporter-logo-bubble img{
    width:128px!important;
    height:128px!important;
    max-width:128px!important;
    max-height:128px!important;
  }
  .supporter-card strong{
    font-size:.82rem!important;
    min-height:34px!important;
  }
  .supporter-type{
    font-size:.66rem!important;
  }
}
@media (max-width:360px){
  .supporter-card{
    flex-basis:146px!important;
    width:146px!important;
    min-width:146px!important;
    max-width:146px!important;
  }
  .supporter-logo-bubble{
    width:128px!important;
    height:128px!important;
    min-width:128px!important;
    min-height:128px!important;
  }
  .supporter-logo-bubble img{
    width:116px!important;
    height:116px!important;
    max-width:116px!important;
    max-height:116px!important;
  }
}
.book-series-field{
  min-width:0!important;
}
.book-series-create-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:7px!important;
  margin-top:7px!important;
}
#book-series-picker{
  max-height:180px!important;
  margin-top:7px!important;
}
.lexicon-admin-visual{
  background:#ececef!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.lexicon-image-placeholder{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:72px!important;
  background:#dfe0e4!important;
  border-radius:inherit!important;
}
.lexicon-admin-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
@media (max-width:620px){
  .book-series-create-row{
    grid-template-columns:1fr!important;
  }
}
.personality-admin-actions{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  align-self:center!important;
}
.btn-danger{
  border-color:#c84b4b!important;
  color:#a72f2f!important;
  background:#fff!important;
}
.btn-danger:hover,.btn-danger:focus-visible{
  background:#fff1f1!important;
  border-color:#a72f2f!important;
  color:#8d1f1f!important;
}
@media (max-width:620px){
  .personality-admin-actions{
    grid-column:1/-1!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
  }
}
#book-series-picker .relation-option{
  width:100%!important;
  text-align:left!important;
}
#book-series-picker .relation-option.selected{
  border-color:var(--purple)!important;
  background:#f0eaff!important;
  color:var(--purple)!important;
  font-weight:800!important;
}
.book-series-chip{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin-top:6px!important;
}
.book-detail-subtitle{
  margin:4px 0 10px!important;
  font-size:1.05rem!important;
  line-height:1.35!important;
  font-weight:600!important;
  color:var(--muted)!important;
}
@media (max-width:620px){
  .book-detail-subtitle{
    margin-top:3px!important;
    margin-bottom:8px!important;
    font-size:.96rem!important;
  }
}
.home-book-card-link{
  color:inherit!important;
  text-decoration:none!important;
  cursor:pointer!important;
  display:flex!important;
  flex-direction:column!important;
}
.home-book-card-link:hover,.home-book-card-link:focus-visible{
  transform:translateY(-3px)!important;
  box-shadow:0 10px 22px rgba(76,111,105,.13)!important;
  outline:none!important;
}
.home-book-card-link .home-card-cta{
  pointer-events:none!important;
}
#spotlight{
  cursor:pointer!important;
}
.spotlight-link{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  gap:24px!important;
  align-items:center!important;
  width:100%!important;
  color:inherit!important;
  text-decoration:none!important;
}
.spotlight-link:hover{
  outline:none!important;
}
.spotlight-link:focus-visible{
  outline:3px solid var(--purple,#6f3fc5)!important;
  outline-offset:3px!important;
  border-radius:8px;
}
.spotlight-link:hover h2,.spotlight-link:focus-visible h2{
  color:var(--purple)!important;
}
.supporters-pond-section{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  margin-top:34px!important;
  padding:48px 0 54px!important;
  background:radial-gradient(ellipse at 14% 78%,rgba(119,176,122,.34) 0 4%,transparent 4.5%),radial-gradient(ellipse at 82% 20%,rgba(119,176,122,.28) 0 5%,transparent 5.5%),radial-gradient(ellipse at 72% 85%,rgba(246,190,202,.42) 0 2.5%,transparent 3%),radial-gradient(circle at 40% 48%,rgba(255,255,255,.40) 0 1.8%,transparent 2.2%),linear-gradient(180deg,#d8f2ee 0%,#bce4df 46%,#acdcd8 100%)!important;
  border-top:1px solid rgba(95,155,148,.22)!important;
  border-bottom:1px solid rgba(95,155,148,.22)!important;
}
.supporters-pond-section::before,.supporters-pond-section::after{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  border-radius:50% 45% 55% 48%!important;
  background:radial-gradient(ellipse at 40% 45%,rgba(91,157,94,.88) 0 34%,rgba(69,135,75,.94) 35% 43%,transparent 44%)!important;
  opacity:.42!important;
  transform:rotate(-12deg)!important;
}
.supporters-pond-section::before{
  width:180px!important;
  height:72px!important;
  left:3%!important;
  bottom:18px!important;
}
.supporters-pond-section::after{
  width:145px!important;
  height:58px!important;
  right:5%!important;
  top:24px!important;
  transform:rotate(17deg)!important;
}
.supporters-pond-section .container{
  position:relative!important;
  z-index:1!important;
}
.supporters-pond-section .supporters-head{
  background:rgba(255,255,255,.58)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:18px!important;
  padding:14px 18px!important;
  backdrop-filter:blur(4px)!important;
}
.supporters-pond-section .supporter-card{
  background:transparent!important;
}
.carousel-control,.mini-carousel-arrow,.linked-carousel-arrow,.unified-carousel-arrow,.supporters-carousel-arrow,.mini-book-carousel .prev,.mini-book-carousel .next{
  background-color:rgba(255,255,255,.94)!important;
  background-image:url("../images/carousel-crown.png")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:84%!important;
  color:transparent!important;
  font-size:0!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
  border:1px solid rgba(111,175,165,.55)!important;
  border-radius:50%!important;
  box-shadow:0 4px 12px rgba(72,126,119,.16)!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  padding:0!important;
}
.carousel-control:hover,.carousel-control:focus-visible,.mini-carousel-arrow:hover,.mini-carousel-arrow:focus-visible,.linked-carousel-arrow:hover,.linked-carousel-arrow:focus-visible,.unified-carousel-arrow:hover,.unified-carousel-arrow:focus-visible,.supporters-carousel-arrow:hover,.supporters-carousel-arrow:focus-visible,.mini-book-carousel .prev:hover,.mini-book-carousel .prev:focus-visible,.mini-book-carousel .next:hover,.mini-book-carousel .next:focus-visible{
  background-color:#f9fffd!important;
  border-color:#69a99f!important;
  transform:scale(1.05)!important;
  outline:none!important;
}
.carousel-control.prev,.mini-carousel-arrow.prev,.linked-carousel-prev,.unified-carousel-prev,.supporters-prev,.mini-book-carousel .prev{
  filter:saturate(.92) hue-rotate(-4deg)!important;
}
.carousel-control.next,.mini-carousel-arrow.next,.linked-carousel-next,.unified-carousel-next,.supporters-next,.mini-book-carousel .next{
  filter:saturate(1.05) hue-rotate(5deg)!important;
}
@media (max-width:620px){
  .spotlight-link{
    grid-template-columns:86px minmax(0,1fr)!important;
    gap:14px!important;
  }
  .supporters-pond-section{
    margin-top:24px!important;
    padding:34px 0 40px!important;
  }
  .carousel-control,.mini-carousel-arrow,.linked-carousel-arrow,.unified-carousel-arrow,.supporters-carousel-arrow,.mini-book-carousel .prev,.mini-book-carousel .next{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    background-size:82%!important;
  }
}
@media (max-width:380px){
  .carousel-control,.mini-carousel-arrow,.linked-carousel-arrow,.unified-carousel-arrow,.supporters-carousel-arrow,.mini-book-carousel .prev,.mini-book-carousel .next{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
  }
}
.home-sky-band .hero-grid{
  grid-template-columns:minmax(0,820px)!important;
  justify-content:start!important;
}
.home-sky-band .hero-art{
  display:none!important;
}
.home-sky-band::before,.home-sky-band::after{
  background:rgba(255,255,255,.16)!important;
}
.home-sky-content{
  background:radial-gradient(circle at 15% 15%,rgba(255,255,255,.34) 0 2.5%,transparent 3%),linear-gradient(180deg,#eef8fb 0%,#e3f4f0 100%)!important;
}
.home-pond-content{
  position:relative!important;
  overflow:hidden!important;
  background:radial-gradient(ellipse at 15% 82%,rgba(92,153,90,.15) 0 5%,transparent 5.5%),radial-gradient(ellipse at 83% 73%,rgba(108,165,94,.13) 0 6%,transparent 6.5%),radial-gradient(circle at 62% 22%,rgba(255,255,255,.25) 0 1.5%,transparent 2%),linear-gradient(180deg,#dcefeb 0%,#c9e5d9 48%,#b8dabc 100%)!important;
}
.pond-duck-decoration{
  position:absolute!important;
  right:clamp(18px,5vw,72px)!important;
  bottom:10px!important;
  width:clamp(92px,11vw,150px)!important;
  opacity:.9!important;
  pointer-events:none!important;
  z-index:0!important;
}
.pond-duck-decoration img{
  width:100%!important;
  height:auto!important;
  display:block!important;
}
.home-pond-content>.container,.association-pond-content>.container{
  position:relative!important;
  z-index:1!important;
}
.supporters-undersea-section{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  margin-top:0!important;
  padding:50px 0 58px!important;
  background:radial-gradient(circle at 12% 22%,rgba(255,255,255,.28) 0 1%,transparent 1.5%),radial-gradient(circle at 27% 42%,rgba(255,255,255,.20) 0 .8%,transparent 1.2%),radial-gradient(circle at 72% 28%,rgba(255,255,255,.22) 0 1.2%,transparent 1.7%),radial-gradient(ellipse at 12% 94%,rgba(42,116,93,.30) 0 6%,transparent 6.5%),radial-gradient(ellipse at 88% 91%,rgba(33,107,91,.28) 0 7%,transparent 7.5%),linear-gradient(180deg,#a9d8c9 0%,#83c4bb 48%,#64aeb0 100%)!important;
  border-top:1px solid rgba(67,139,128,.25)!important;
  border-bottom:1px solid rgba(43,111,112,.22)!important;
}
.supporters-undersea-section::before{
  content:""!important;
  position:absolute!important;
  left:-2%!important;
  right:-2%!important;
  top:-18px!important;
  height:42px!important;
  background:radial-gradient(ellipse at 10% 50%,rgba(255,255,255,.28) 0 24%,transparent 25%) 0 0/180px 40px repeat-x!important;
  opacity:.8!important;
  pointer-events:none!important;
}
.supporters-undersea-section::after{
  content:""!important;
  position:absolute!important;
  inset:auto 0 0 0!important;
  height:74px!important;
  background:radial-gradient(ellipse at 8% 100%,rgba(42,105,79,.34) 0 22%,transparent 23%),radial-gradient(ellipse at 30% 100%,rgba(52,119,88,.28) 0 18%,transparent 19%),radial-gradient(ellipse at 75% 100%,rgba(38,102,84,.28) 0 20%,transparent 21%),radial-gradient(ellipse at 94% 100%,rgba(54,121,91,.32) 0 17%,transparent 18%)!important;
  pointer-events:none!important;
}
.supporters-undersea-section .container{
  position:relative!important;
  z-index:1!important;
}
.supporters-undersea-section .supporters-head{
  background:linear-gradient(120deg,rgba(229,246,246,.90),rgba(205,235,224,.90),rgba(189,224,213,.90))!important;
  border:1px solid rgba(255,255,255,.70)!important;
  border-radius:18px!important;
  padding:14px 18px!important;
  backdrop-filter:blur(4px)!important;
}
.association-sky-band{
  background:linear-gradient(180deg,#d9eff8 0%,#c9e7f2 54%,#bee3df 100%)!important;
}
.association-sky-content{
  background:linear-gradient(180deg,#edf8fb 0%,#e2f3ef 100%)!important;
}
.association-pond-content{
  position:relative!important;
  overflow:hidden!important;
  background:radial-gradient(ellipse at 12% 82%,rgba(92,153,90,.15) 0 5%,transparent 5.5%),radial-gradient(ellipse at 85% 72%,rgba(108,165,94,.14) 0 6%,transparent 6.5%),linear-gradient(180deg,#dcefeb 0%,#c7e4d7 48%,#b6d8ba 100%)!important;
}
.association-pond-duck{
  right:clamp(15px,4vw,60px)!important;
  bottom:2px!important;
}
#spotlight{
  display:block!important;
}
#spotlight .spotlight-link{
  display:grid!important;
  gap:28px!important;
  align-items:center!important;
  width:100%!important;
}
#spotlight .spotlight-link>.book-cover{
  aspect-ratio:3/4!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
#spotlight .spotlight-link>.book-cover img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.page-band:not(.association-sky-band){
  background:linear-gradient(120deg,rgba(218,239,248,.90),rgba(201,232,226,.88),rgba(188,222,204,.86))!important;
}
@media (max-width:820px){
  .home-sky-band .hero-grid{
    grid-template-columns:1fr!important;
  }
}
@media (max-width:620px){
  #spotlight .spotlight-link{
    grid-template-columns:92px minmax(0,1fr)!important;
    gap:14px!important;
  }
  #spotlight .spotlight-link>.book-cover{
    width:92px!important;
    min-width:92px!important;
  }
  .pond-duck-decoration{
    width:86px!important;
    right:10px!important;
    bottom:4px!important;
    opacity:.78!important;
  }
  .supporters-undersea-section{
    padding:38px 0 44px!important;
  }
}
.page-band,.hero.home-sky-band{
  background:linear-gradient(
115deg,#f6b4b4 0%,#f6b4b4 16.66%,#f7d2a8 16.66%,#f7d2a8 33.33%,#f5edaa 33.33%,#f5edaa 50%,#bfe5bf 50%,#bfe5bf 66.66%,#b9d9f3 66.66%,#b9d9f3 83.33%,#d7c4ef 83.33%,#d7c4ef 100%
)!important;
  border-bottom:1px solid rgba(0,0,0,.045)!important;
}
.hero.home-sky-band .hero-grid{
  justify-content:start!important;
}
.hero.home-sky-band .hero-art{
  display:none!important;
}
.home-environment>section,.association-environment>section,.home-environment .home-sky-content,.home-environment .home-pond-content,.association-environment .association-sky-content,.association-environment .association-pond-content,.home-environment .supporters-undersea-section,.association-environment .supporters-undersea-section{
  background:transparent!important;
}
.home-environment .soft,.association-environment .soft{
  background:rgba(255,255,255,.15)!important;
}
.home-environment>*,.association-environment>*{
  position:relative!important;
  z-index:1!important;
}
.site-side-duck{
  position:absolute!important;
  pointer-events:none!important;
}
.site-side-duck img{
  display:block!important;
  width:100%!important;
  height:auto!important;
}
.supporters-undersea-section .supporters-head,.supporters-pond-section .supporters-head{
  background:linear-gradient(
115deg,rgba(246,180,180,.88) 0%,rgba(247,210,168,.88) 20%,rgba(245,237,170,.88) 40%,rgba(191,229,191,.88) 60%,rgba(185,217,243,.88) 80%,rgba(215,196,239,.88) 100%
)!important;
  border:1px solid rgba(255,255,255,.70)!important;
}
#spotlight .spotlight-link{
  grid-template-columns:260px minmax(0,1fr)!important;
}
#spotlight .spotlight-link>.book-cover{
  width:260px!important;
  min-width:260px!important;
  display:grid!important;
}
@media (max-width:820px){
  .site-side-duck{
    top:34%!important;
    right:-18px!important;
    width:92px!important;
    opacity:.72!important;
  }
}
@media (max-width:620px){
  .page-band,.hero.home-sky-band{
    background:linear-gradient(
115deg,#f6b4b4 0% 16.66%,#f7d2a8 16.66% 33.33%,#f5edaa 33.33% 50%,#bfe5bf 50% 66.66%,#b9d9f3 66.66% 83.33%,#d7c4ef 83.33% 100%
)!important;
  }
  .site-side-duck{
    top:39%!important;
    right:-28px!important;
    width:78px!important;
    opacity:.58!important;
  }
  #spotlight .spotlight-link{
    grid-template-columns:92px minmax(0,1fr)!important;
  }
  #spotlight .spotlight-link>.book-cover{
    width:92px!important;
    min-width:92px!important;
  }
  .home-environment::after,.association-environment::after{
    height:120px!important;
  }
}
.hero.home-sky-band::before{
  content:"";
  position:absolute;
  left:50%;
  top:8px;
  transform:translateX(-50%);
  width:min(1400px,150vw);
  height:340px;
  background:radial-gradient(ellipse at center,transparent 58%,rgba(0,0,0,0) 58%),linear-gradient(180deg,transparent,transparent);
  pointer-events:none;
}
.hero.home-sky-band .hero-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  max-width:980px!important;
}
.hero .hero-info-card,.hero .hero-aside,.hero .intro-card{
  grid-column:1!important;
  margin:24px auto 0!important;
  max-width:760px!important;
  width:100%!important;
}
.section-card,#new-books,#spotlight,.supporters-section .container>div,.resources-section .container>div,section>.container>.section-head+*{
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
}
.soft,.card,.section-panel,.supporters-head{
  border-radius:26px!important;
}
.supporters-head{
  background:#f8faf8!important;
}
.home-environment>section:not(.hero),.association-environment>section,.home-environment .soft,.association-environment .soft,.home-environment .home-sky-content,.home-environment .home-pond-content,.association-environment .association-sky-content,.association-environment .association-pond-content,.home-environment .supporters-undersea-section,.association-environment .supporters-undersea-section{
  background:transparent!important;
}
.home-sky-band{
  position:relative!important;
  overflow:hidden!important;
  padding:72px 0 62px!important;
  background:radial-gradient(
ellipse 120% 115% at 50% 108%,transparent 0 43%,rgba(246,180,180,.80) 43.4% 47.2%,rgba(247,210,168,.80) 47.6% 51.4%,rgba(245,237,170,.80) 51.8% 55.6%,rgba(191,229,191,.80) 56% 59.8%,rgba(185,217,243,.82) 60.2% 64%,rgba(215,196,239,.82) 64.4% 68.2%,transparent 68.6%
),linear-gradient(180deg,#e7f5fa 0%,#e0f1f3 100%)!important;
  border-bottom:0!important;
}
.page-band{
  background:linear-gradient(
115deg,#f6b4b4 0% 16.66%,#f7d2a8 16.66% 33.33%,#f5edaa 33.33% 50%,#bfe5bf 50% 66.66%,#b9d9f3 66.66% 83.33%,#d7c4ef 83.33% 100%
)!important;
}
.home-benefits-scene{
  position:relative!important;
  z-index:2!important;
  padding:30px 0 46px!important;
  background:transparent!important;
}
.home-benefits-scene .benefits{
  margin-top:0!important;
}
.home-benefits-scene .benefits-panel{
  background:rgba(255,255,255,.91)!important;
  border:1px solid rgba(255,255,255,.82)!important;
  box-shadow:0 10px 30px rgba(58,108,105,.09)!important;
}
.site-side-duck{
  top:43%!important;
  right:-30px!important;
  width:105px!important;
  opacity:.72!important;
  z-index:1!important;
}
.home-environment .home-sky-content>.container,.home-environment .home-pond-content>.container,.home-environment .supporters-undersea-section>.container,.home-environment .home-benefits-scene>.container{
  max-width:1200px!important;
}
.home-environment .carousel-wrap,.home-environment #spotlight,.home-environment .supporters-list{
  border-radius:28px!important;
}
.home-environment .section-head,.association-environment .section-head{
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:18px!important;
  padding:14px 18px!important;
  backdrop-filter:blur(3px)!important;
}
.home-environment .supporters-head,.association-environment .supporters-head{
  border-radius:18px!important;
}
.home-environment .book-card,.home-environment #spotlight,.home-environment .supporter-card,.home-environment .benefits-panel,.association-environment .card,.association-environment .benefits-panel,.association-environment .supporter-card{
  background:#fff!important;
}
@media (max-width:820px){
  .home-sky-band{
    padding:58px 0 48px!important;
    background:radial-gradient(
ellipse 145% 110% at 50% 110%,transparent 0 41%,rgba(246,180,180,.80) 41.4% 45.2%,rgba(247,210,168,.80) 45.6% 49.4%,rgba(245,237,170,.80) 49.8% 53.6%,rgba(191,229,191,.80) 54% 57.8%,rgba(185,217,243,.82) 58.2% 62%,rgba(215,196,239,.82) 62.4% 66.2%,transparent 66.6%
),linear-gradient(180deg,#e7f5fa 0%,#e0f1f3 100%)!important;
  }
  .site-side-duck{
    right:-35px!important;
    width:88px!important;
    opacity:.55!important;
  }
}
@media (max-width:620px){
  .home-benefits-scene{
    padding:22px 0 34px!important;
  }
  .home-environment .section-head,.association-environment .section-head{
    padding:12px 14px!important;
  }
  .site-side-duck{
    right:-38px!important;
    width:76px!important;
    opacity:.46!important;
  }
  .home-environment::after,.association-environment::after{
    height:190px!important;
  }
}
.home-environment>section,.association-environment>section,.home-environment .soft,.association-environment .soft,.home-environment .home-sky-content,.home-environment .home-pond-content,.association-environment .association-sky-content,.association-environment .association-pond-content,.home-environment .supporters-undersea-section,.association-environment .supporters-undersea-section{
  background:transparent!important;
}
.home-environment,.association-environment{
  isolation:isolate!important;
}
.home-environment>section,.association-environment>section,.home-environment .soft,.association-environment .soft,.home-environment .home-sky-content,.home-environment .home-pond-content,.association-environment .association-sky-content,.association-environment .association-pond-content,.home-environment .supporters-undersea-section,.association-environment .supporters-undersea-section,.home-environment .supporters-pond-section,.association-environment .supporters-pond-section{
  background:transparent!important;
  border-top:0!important;
  border-bottom:0!important;
}
.home-environment .hero,.home-environment .home-sky-band,.association-environment .page-band,.association-environment .association-sky-band{
  background:transparent!important;
  border-bottom:0!important;
}
.home-environment .section-head,.association-environment .section-head,.home-environment .benefits-panel,.association-environment .benefits-panel,.home-environment #spotlight,.association-environment .card,.home-environment .supporters-list,.association-environment .supporters-list{
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 10px 28px rgba(74,73,96,.08)!important;
  backdrop-filter:blur(3px)!important;
}
.home-environment .book-card,.home-environment .supporter-card,.association-environment .supporter-card{
  background:#fff!important;
}
.home-environment::before,.association-environment::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  pointer-events:none!important;
  background:radial-gradient(ellipse at 7% 25%,rgba(255,255,255,.16) 0 5%,transparent 5.4%),radial-gradient(ellipse at 94% 31%,rgba(255,255,255,.14) 0 6%,transparent 6.4%),radial-gradient(ellipse at 8% 55%,transparent 0 34px,rgba(255,255,255,.15) 35px 36px,transparent 37px 50px,rgba(255,255,255,.10) 51px 52px,transparent 53px),radial-gradient(ellipse at 92% 59%,transparent 0 38px,rgba(255,255,255,.13) 39px 40px,transparent 41px 56px,rgba(255,255,255,.09) 57px 58px,transparent 59px),radial-gradient(ellipse at 5% 63%,rgba(96,151,99,.13) 0 25px,transparent 26px),radial-gradient(ellipse at 95% 68%,rgba(96,151,99,.12) 0 29px,transparent 30px),radial-gradient(circle at 4% 78%,rgba(255,255,255,.20) 0 4px,transparent 5px),radial-gradient(circle at 7% 82%,rgba(255,255,255,.15) 0 2px,transparent 3px),radial-gradient(circle at 96% 76%,rgba(255,255,255,.18) 0 5px,transparent 6px),radial-gradient(circle at 93% 84%,rgba(255,255,255,.13) 0 3px,transparent 4px),radial-gradient(ellipse at 4% 99%,rgba(85,93,104,.16) 0 46px,transparent 48px),radial-gradient(ellipse at 15% 100%,rgba(90,98,108,.13) 0 34px,transparent 36px),radial-gradient(ellipse at 86% 100%,rgba(81,91,104,.14) 0 38px,transparent 40px),radial-gradient(ellipse at 97% 98%,rgba(76,87,102,.17) 0 48px,transparent 50px);
}
.home-environment::after,.association-environment::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:260px!important;
  z-index:-1!important;
  pointer-events:none!important;
  opacity:.22!important;
  background:linear-gradient(79deg,transparent 0 4%,rgba(63,112,76,.38) 4.1% 4.45%,transparent 4.6% 100%),linear-gradient(83deg,transparent 0 7%,rgba(68,117,80,.30) 7.1% 7.45%,transparent 7.6% 100%),linear-gradient(98deg,transparent 0 92%,rgba(61,111,79,.30) 92.1% 92.45%,transparent 92.6% 100%),linear-gradient(103deg,transparent 0 95%,rgba(58,107,77,.34) 95.1% 95.45%,transparent 95.6% 100%);
}
@media (max-width:620px){
  .home-environment::after,.association-environment::after{
    height:160px!important;
    opacity:.18!important;
  }
  .home-environment .section-head,.association-environment .section-head{
    backdrop-filter:none!important;
  }
}
.home-environment,.association-environment{
  position:relative!important;
  overflow:hidden!important;
  background:linear-gradient(
180deg,#f7d2d2 0%,#f7dfc9 18%,#f8efc8 36%,#d8eed4 54%,#d9ebf8 76%,#e6dcf7 100%
)!important;
}
.home-environment::before,.home-environment::after,.association-environment::before,.association-environment::after{
  content:none!important;
  display:none!important;
}
.home-environment .hero::before,.home-environment .hero::after,.home-environment .home-sky-band::before,.home-environment .home-sky-band::after{
  content:none!important;
  display:none!important;
}
.home-environment>section,.association-environment>section,.home-environment .soft,.association-environment .soft,.home-environment .home-sky-content,.home-environment .home-pond-content,.association-environment .association-sky-content,.association-environment .association-pond-content,.home-environment .supporters-undersea-section,.association-environment .supporters-undersea-section,.home-environment .supporters-pond-section,.association-environment .supporters-pond-section,.home-environment .home-benefits-scene{
  background:transparent!important;
  border-top:0!important;
  border-bottom:0!important;
}
.home-environment .hero,.home-environment .home-sky-band{
  background:transparent!important;
  border-bottom:0!important;
}
.association-environment .page-band,.association-environment .association-sky-band{
  background:transparent!important;
  border-bottom:0!important;
}
.home-environment .supporters-undersea-section::before,.home-environment .supporters-undersea-section::after,.association-environment .supporters-undersea-section::before,.association-environment .supporters-undersea-section::after,.home-environment .supporters-pond-section::before,.home-environment .supporters-pond-section::after,.association-environment .supporters-pond-section::before,.association-environment .supporters-pond-section::after{
  content:none!important;
  display:none!important;
}
.home-environment .supporters-list,.association-environment .supporters-list{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.home-environment .supporter-card,.association-environment .supporter-card{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.home-environment .supporter-logo-wrap,.home-environment .supporter-logo-bubble,.association-environment .supporter-logo-wrap,.association-environment .supporter-logo-bubble{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.home-environment .supporter-logo-wrap img,.home-environment .supporter-logo-bubble img,.association-environment .supporter-logo-wrap img,.association-environment .supporter-logo-bubble img{
  background:transparent!important;
  box-shadow:none!important;
}
.home-environment .supporters-head,.association-environment .supporters-head{
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 10px 28px rgba(74,73,96,.08)!important;
}
.site-side-duck,.pond-duck-decoration{
  display:none!important;
}
.resource-type-strip{
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
}
.resource-type-strip>.resource-type{
  cursor:pointer!important;
  border:1px solid var(--line)!important;
  transition:background .15s ease,border-color .15s ease,transform .15s ease!important;
}
.resource-type-strip>.resource-type:hover,.resource-type-strip>.resource-type:focus-visible{
  border-color:var(--purple)!important;
  outline:none!important;
}
.resource-type-strip>.resource-type.active,.resource-type-strip>.resource-type[aria-pressed="true"]{
  background:#f0ecff!important;
  border-color:#7b5be7!important;
  color:#5138c3!important;
  font-weight:800!important;
}
.pastel-file{
  background:#e8edf4!important;
}
@media (max-width:620px){
  .media-carousel-track{
    gap:10px!important;
    padding-right:18px!important;
    scroll-padding-left:2px!important;
  }
  .media-carousel-track .media-card,#media-grid .media-card{
    flex:0 0 61vw!important;
    width:61vw!important;
    min-width:61vw!important;
    max-width:61vw!important;
  }
  .media-carousel-track .media-card{
    flex-basis:clamp(210px,61vw,250px)!important;
    width:clamp(210px,61vw,250px)!important;
    min-width:clamp(210px,61vw,250px)!important;
    max-width:clamp(210px,61vw,250px)!important;
  }
  body .resource-type-strip{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    gap:6px!important;
    padding:2px 2px 7px!important;
    scroll-snap-type:x proximity!important;
  }
  body .resource-type-strip>.resource-type{
    flex:0 0 78px!important;
    width:78px!important;
    min-width:78px!important;
    max-width:78px!important;
    min-height:52px!important;
    scroll-snap-align:start!important;
  }
  .page-band .container,.hero .container{
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  .page-band h1,.hero h1{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    font-size:clamp(2rem,10vw,3rem)!important;
    line-height:1.05!important;
    letter-spacing:-.035em!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .hero h1 span{
    display:inline!important;
    white-space:normal!important;
  }
  .page-band p,.hero p{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    font-size:.98rem!important;
    line-height:1.45!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
}
@media (max-width:380px){
  .media-carousel-track .media-card,#media-grid .media-card{
    flex-basis:clamp(195px,60vw,225px)!important;
    width:clamp(195px,60vw,225px)!important;
    min-width:clamp(195px,60vw,225px)!important;
    max-width:clamp(195px,60vw,225px)!important;
  }
}
.home-environment>section:not(.hero),.association-environment>section:not(.page-band){
  padding-top:38px!important;
  padding-bottom:38px!important;
}
.home-environment .home-benefits-scene{
  padding-top:22px!important;
  padding-bottom:28px!important;
}
.home-environment .section-head,.association-environment .section-head{
  margin-bottom:16px!important;
}
.home-environment .supporters-section,.association-environment .supporters-section{
  padding-top:34px!important;
  padding-bottom:38px!important;
}
@media (max-width:620px){
  .home-environment>section:not(.hero),.association-environment>section:not(.page-band){
    padding-top:26px!important;
    padding-bottom:26px!important;
  }
  .home-environment .home-benefits-scene{
    padding-top:16px!important;
    padding-bottom:20px!important;
  }
}
.personality-identity-admin-groups{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  margin-top:8px!important;
}
.personality-identity-admin-group{
  padding:12px!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  background:#faf9fc!important;
}
.personality-identity-admin-group h3{
  margin:0 0 9px!important;
  font-size:1rem!important;
}
.social-admin-card{
  grid-template-columns:1fr!important;
}
.personality-identity-fixed-lines{
  display:grid!important;
  grid-template-rows:repeat(3,minmax(34px,auto))!important;
  gap:5px!important;
  width:100%!important;
  margin-top:7px!important;
}
.personality-identity-fixed-row{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  align-items:center!important;
  gap:7px!important;
  min-height:34px!important;
  overflow:hidden!important;
}
.personality-identity-row-label{
  font-size:.68rem!important;
  line-height:1.1!important;
  font-weight:800!important;
  color:var(--muted)!important;
}
.personality-identity-row-tags{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  overflow:hidden!important;
  min-width:0!important;
}
.personality-identity-row-tags .identity-image-tag{
  flex:0 0 auto!important;
  max-width:150px!important;
}
.personality-identity-empty{
  color:var(--muted)!important;
  opacity:.55!important;
}
.personality-card-status,.personality-detail-status{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  margin-top:6px!important;
}
.personality-card .personality-identity-fixed-row{
  grid-template-columns:82px minmax(0,1fr)!important;
}
.personality-card .personality-identity-row-label{
  font-size:.61rem!important;
}
.personality-card .personality-identity-row-tags .identity-image-tag{
  max-width:118px!important;
  font-size:.66rem!important;
}
.personality-card-domains{
  margin-top:12px!important;
}
.domain-science{
  background:#e5f4f2!important;
  color:#226c63!important;
}
.domain-craft{
  background:#f7eadb!important;
  color:#89552c!important;
}
@media (max-width:620px){
  .personality-identity-fixed-row{
    grid-template-columns:88px minmax(0,1fr)!important;
  }
  .personality-card .personality-identity-fixed-row{
    grid-template-columns:72px minmax(0,1fr)!important;
  }
}
body:not(.admin-body){
  min-height:100vh!important;
}
body:not(.admin-body) main,body:not(.admin-body) .page-main,body:not(.admin-body) .site-main{
  background-color:transparent!important;
}
body:not(.admin-body) main:not(.home-environment):not(.association-environment) .page-band,body:not(.admin-body) main:not(.home-environment):not(.association-environment) .hero,body:not(.admin-body) main:not(.home-environment):not(.association-environment) .page-header,body:not(.admin-body) main:not(.home-environment):not(.association-environment) .title-band{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}
body:not(.admin-body) main:not(.home-environment):not(.association-environment) .page-band::before,body:not(.admin-body) main:not(.home-environment):not(.association-environment) .page-band::after,body:not(.admin-body) main:not(.home-environment):not(.association-environment) .hero::before,body:not(.admin-body) main:not(.home-environment):not(.association-environment) .hero::after,body:not(.admin-body) main:not(.home-environment):not(.association-environment) .page-header::before,body:not(.admin-body) main:not(.home-environment):not(.association-environment) .page-header::after,body:not(.admin-body) main:not(.home-environment):not(.association-environment) .title-band::before,body:not(.admin-body) main:not(.home-environment):not(.association-environment) .title-band::after{
  content:none!important;
  display:none!important;
}
body:not(.admin-body) main:not(.home-environment):not(.association-environment) .page-band{
  padding-top:44px!important;
  padding-bottom:30px!important;
}
html,body:not(.admin-body){
  min-height:100%!important;
}
body:not(.admin-body){
  background:linear-gradient(
180deg,#f7d2d2 0%,#f7dfc9 18%,#f8efc8 36%,#d8eed4 54%,#d9ebf8 76%,#e6dcf7 100%
) fixed!important;
}
body:not(.admin-body) main,body:not(.admin-body) main>section,body:not(.admin-body) .page-band,body:not(.admin-body) .page-header,body:not(.admin-body) .title-band{
  background-color:transparent!important;
}
body:not(.admin-body) main:not(.home-environment):not(.association-environment) .page-band,body:not(.admin-body) main:not(.home-environment):not(.association-environment) .page-header,body:not(.admin-body) main:not(.home-environment):not(.association-environment) .title-band,body:not(.admin-body) main:not(.home-environment):not(.association-environment) .hero{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}
.home-environment>section:not(.hero)>.container,.association-environment>section:not(.page-band)>.container{
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:24px!important;
  box-shadow:0 10px 28px rgba(74,73,96,.08)!important;
  padding:18px!important;
}
.home-environment .section-head,.association-environment .section-head,.home-environment .supporters-head,.association-environment .supporters-head{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  border-radius:0!important;
  padding:0!important;
  margin:0 0 16px!important;
}
.home-environment #spotlight,.home-environment .supporters-list,.association-environment .supporters-list{
  box-shadow:none!important;
}
.home-environment .home-benefits-scene>.container{
  background:rgba(255,255,255,.78)!important;
}
.home-environment .home-benefits-scene .benefits-panel{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.personality-card .personality-identity-row-label{
  display:none!important;
}
.personality-card .personality-identity-fixed-row{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:31px!important;
  width:100%!important;
}
.personality-card .personality-identity-row-tags{
  flex-wrap:nowrap!important;
}
.personality-card .personality-identity-fixed-lines{
  width:100%!important;
  justify-items:center!important;
}
.personality-card .personality-card-status,.personality-card .personality-card-identities,.personality-card .personality-domains,.personality-card .personality-card-domains{
  width:100%!important;
  justify-content:center!important;
  text-align:center!important;
}
.personality-card .personality-card-status .identity-image-tag,.personality-card .personality-identity-row-tags .identity-image-tag,.personality-card .personality-domain{
  margin-left:auto!important;
  margin-right:auto!important;
}
.personality-card .personality-card-domains{
  flex-wrap:wrap!important;
  align-items:center!important;
}
.personality-card .personality-identity-fixed-row:empty,.personality-card .personality-identity-row-tags:empty{
  min-height:31px!important;
}
@media (max-width:620px){
  .home-environment>section:not(.hero)>.container,.association-environment>section:not(.page-band)>.container{
    padding:14px!important;
    border-radius:19px!important;
  }
}
.personality-card .personality-card-status{
  min-height:36px!important;
  height:36px!important;
  max-height:36px!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.personality-card .personality-identity-fixed-lines{
  display:grid!important;
  grid-template-rows:repeat(3,34px)!important;
  height:112px!important;
  min-height:112px!important;
  max-height:112px!important;
  gap:5px!important;
  overflow:hidden!important;
}
.personality-card .personality-card-identity-row{
  min-height:34px!important;
  height:34px!important;
  max-height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.personality-card .personality-identity-row-tags{
  width:100%!important;
  height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  overflow:hidden!important;
}
.personality-card .personality-card-domains{
  min-height:72px!important;
  height:72px!important;
  max-height:72px!important;
  display:flex!important;
  align-content:flex-start!important;
  justify-content:center!important;
  gap:6px!important;
  overflow:hidden!important;
}
.personality-detail-photo,.personality-left-panel{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}
.personality-detail-photo>img,.personality-left-panel>img,.personality-detail-photo>.personality-photo-placeholder,.personality-left-panel>.personality-photo-placeholder{
  order:1!important;
}
.personality-side-name{
  order:2!important;
}
.personality-country-detail{
  order:3!important;
}
.personality-detail-status{
  order:4!important;
}
.personality-detail-identity-lines{
  order:5!important;
}
.personality-detail-status,.personality-left-panel>.personality-domains{
  width:100%!important;
  display:flex!important;
  flex-wrap:wrap!important;
}
html,body{
  max-width:100%!important;
}
@media (max-width:620px){
  body{
    overflow-x:hidden!important;
  }
  .page-band,.page-band .container,.hero,.hero .container,.compact-band,.compact-band .container{
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }
  .page-band h1,.page-band h2,.page-band p,.hero h1,.hero h2,.hero p,.compact-band h1,.compact-band p{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .page-band h1,.hero h1,.compact-band h1{
    font-size:clamp(1.9rem,10vw,3rem)!important;
    line-height:1.04!important;
  }
}
.carousel-control,.mini-carousel-arrow,.linked-carousel-arrow,.unified-carousel-arrow,.supporters-carousel-arrow,.media-carousel-arrow,.mini-book-carousel .prev,.mini-book-carousel .next{
  background-image:none!important;
  filter:none!important;
  text-indent:0!important;
  font-size:0!important;
  color:var(--purple)!important;
  display:grid!important;
  place-items:center!important;
}
.carousel-control::before,.mini-carousel-arrow::before,.linked-carousel-arrow::before,.unified-carousel-arrow::before,.supporters-carousel-arrow::before,.media-carousel-arrow::before,.mini-book-carousel .prev::before,.mini-book-carousel .next::before{
  font-size:1.65rem!important;
  line-height:1!important;
  font-weight:800!important;
  color:currentColor!important;
}
.carousel-control.prev::before,.mini-carousel-arrow.prev::before,.linked-carousel-prev::before,.unified-carousel-prev::before,.supporters-prev::before,.media-carousel-prev::before,.mini-book-carousel .prev::before{
  content:"‹"!important;
}
.carousel-control.next::before,.mini-carousel-arrow.next::before,.linked-carousel-next::before,.unified-carousel-next::before,.supporters-next::before,.media-carousel-next::before,.mini-book-carousel .next::before{
  content:"›"!important;
}
.personality-toolbar .personality-filter-block{
  margin-top:10px!important;
}
.personality-filter-row{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}
#auth-loading[hidden],#login[hidden],#app[hidden]{
  display:none!important;
}
.home-environment .hero h1 span,.hero.home-sky-band h1 span{
  display:block!important;
  width:100%!important;
}
@media (max-width:700px){
  body{
    overflow-x:hidden!important;
  }
  .page-band,.page-band .container,.hero,.hero .container,.compact-band,.compact-band .container{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .page-band h1,.page-band h2,.page-band p,.page-band .lead,.page-band .subtitle,.hero h1,.hero h2,.hero p,.hero .lead,.compact-band h1,.compact-band p{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    hyphens:auto!important;
  }
  .page-band p,.hero p,.compact-band p{
    font-size:.97rem!important;
    line-height:1.45!important;
  }
  .home-environment .hero h1 span,.hero.home-sky-band h1 span{
    display:block!important;
  }
}
.personality-detail-identity-lines .personality-identity-row-label{
  display:none!important;
}
.personality-detail-identity-lines{
  display:grid!important;
  grid-template-rows:repeat(3,minmax(38px,auto))!important;
  gap:7px!important;
  width:100%!important;
  margin-top:10px!important;
}
.personality-detail-identity-lines .personality-identity-fixed-row{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:38px!important;
}
.personality-detail-identity-lines .personality-identity-row-tags{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  width:100%!important;
}
.personality-detail-status,.personality-left-panel>.personality-domains{
  justify-content:center!important;
  text-align:center!important;
}
.personality-left-panel{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}
.personality-left-panel>img,.personality-left-panel>.personality-photo-placeholder{
  order:1!important;
}
.personality-left-panel>.personality-side-name{
  order:2!important;
}
.personality-left-panel>.personality-country-detail{
  order:3!important;
}
.personality-left-panel>.personality-detail-status{
  order:4!important;
}
.personality-left-panel>.personality-detail-identity-lines{
  order:5!important;
}
.personality-left-panel>.personality-domains{
  order:6!important;
}
.personality-left-panel>.personality-social-links{
  order:7!important;
}
.resource-type-strip>.resource-type{
  min-height:66px!important;
  padding:6px 4px!important;
  gap:3px!important;
}
.resource-type-strip>.resource-type .native-icon{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  margin:0 auto 2px!important;
  font-size:1rem!important;
  line-height:1!important;
  transform:none!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(255,255,255,.9)!important;
  box-shadow:0 2px 7px rgba(55,52,80,.08)!important;
}
.resource-type-strip>.resource-type span:last-child{
  line-height:1.05!important;
  text-align:center!important;
}
.resource-icon-all{
  color:#625b82!important;
}
.resource-icon-film{
  background:#ffe3e3!important;
}
.resource-icon-series{
  background:#e5ddfb!important;
}
.resource-icon-short{
  background:#fff0d8!important;
}
.resource-icon-report{
  background:#dff1ee!important;
}
.resource-icon-music{
  background:#fbe3f2!important;
  font-size:1.35rem!important;
  font-weight:900!important;
}
.resource-icon-podcast{
  background:#e2edfb!important;
}
.resource-icon-live{
  background:#f1e2fa!important;
}
.resource-icon-file{
  background:#e8edf4!important;
}
@media (max-width:620px){
  body .resource-type-strip>.resource-type{
    flex:0 0 76px!important;
    width:76px!important;
    min-width:76px!important;
    max-width:76px!important;
    min-height:62px!important;
  }
  .resource-type-strip>.resource-type .native-icon{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    font-size:.93rem!important;
  }
  .resource-type-strip>.resource-type span:last-child{
    font-size:.61rem!important;
    white-space:normal!important;
  }
}
@media (max-width:700px){
  .page-band .container,.hero .container,.compact-band .container{
    width:auto!important;
    max-width:calc(100vw - 28px)!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }
  .page-band .container>p,.page-band .container>.lead,.page-band .container>.subtitle,.hero .container p,.hero .container .lead,.hero .container .subtitle,.compact-band .container>p{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    hyphens:auto!important;
  }
  .page-band .container>*,.hero .container>*,.compact-band .container>*{
    min-width:0!important;
    max-width:100%!important;
  }
}
.lexicon-image-placeholder[hidden]{
  display:none!important;
}
#lexicon-admin-list{
  gap:.75rem!important;
}
.lexicon-admin-card{
  min-height:122px!important;
  height:auto!important;
  grid-template-columns:90px minmax(0,1fr) auto!important;
  align-items:center!important;
  padding:.85rem 1rem!important;
}
.lexicon-admin-card .lexicon-admin-visual{
  width:90px!important;
  height:90px!important;
  min-width:90px!important;
}
.lexicon-admin-copy{
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr)!important;
  gap:.2rem!important;
  align-content:center!important;
}
.lexicon-admin-copy h3{
  margin:0!important;
  line-height:1.2!important;
  font-size:1.05rem!important;
}
.lexicon-admin-category{
  margin:0!important;
  font-size:.8rem!important;
  line-height:1.25!important;
}
.lexicon-admin-definition{
  margin:.15rem 0 0!important;
  line-height:1.4!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.personality-status-fixed-options{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  max-width:760px!important;
}
.personality-identity-admin-group .compact-choice-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  max-width:none!important;
  margin:0!important;
}
.personality-identity-admin-group .choice-check{
  min-height:44px!important;
  height:100%!important;
}
.personality-identity-empty{
  grid-column:1/-1;
  margin:0;
  font-size:.9rem;
}
@media (max-width:900px){
  .personality-identity-admin-group .compact-choice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:650px){
  .lexicon-admin-card{
    grid-template-columns:72px minmax(0,1fr)!important;
    min-height:108px!important;
  }
  .lexicon-admin-card .lexicon-admin-visual{
    width:72px!important;
    height:72px!important;
    min-width:72px!important;
  }
  .lexicon-admin-card>.edit-term{
    grid-column:1/-1!important;
    justify-self:end!important;
  }
  .personality-status-fixed-options,.personality-identity-admin-group .compact-choice-grid{
    grid-template-columns:1fr!important;
  }
}
.personality-grid{
  align-items:stretch!important;
}
.personality-card.personality-card-compact{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}
.personality-card.personality-card-compact>img,.personality-card.personality-card-compact>.personality-photo-placeholder{
  aspect-ratio:4/3!important;
  flex:0 0 auto!important;
}
.personality-card.personality-card-compact .personality-card-body{
  display:grid!important;
  min-height:0!important;
  flex:1 1 auto!important;
}
.personality-card-stage-slot,.personality-card-name-slot,.personality-card.personality-card-compact .personality-card-status,.personality-card.personality-card-compact .personality-card-domains{
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.personality-card-stage-slot{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.personality-card.personality-card-compact .personality-card-stage-slot h2{
  text-align:center!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
.personality-card-name-slot{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.personality-card.personality-card-compact .personality-real-name{
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  width:100%!important;
}
.personality-card.personality-card-compact .personality-card-status{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.personality-card.personality-card-compact .personality-card-domains{
  display:flex!important;
  flex-wrap:wrap!important;
  align-content:center!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
}
.personality-card.personality-card-compact .personality-slot-empty{
  visibility:hidden!important;
}
.personality-card.personality-card-compact .personality-identity-fixed-lines,.personality-card.personality-card-compact .personality-card-identity-row{
  display:none!important;
}
@media (max-width:620px){
  .personality-card.personality-card-compact .personality-card-body{
    grid-template-rows:46px 24px 36px 54px!important;
    padding:10px 12px 12px!important;
  }
  .personality-card.personality-card-compact .personality-card-status{
    min-height:36px!important;
    height:36px!important;
    max-height:36px!important;
  }
  .personality-card.personality-card-compact .personality-card-domains{
    min-height:54px!important;
    height:54px!important;
    max-height:54px!important;
  }
}
.related-terms a{
  display:inline-flex;
  align-items:center;
  border:1px solid #cbbef8;
  border-radius:999px;
  background:#f6f2ff;
  color:#563bd0;
  padding:.45rem .75rem;
  font-weight:750;
  text-decoration:none;
  cursor:pointer;
}
.related-terms a:hover,.related-terms a:focus-visible{
  background:#ede7ff;
  text-decoration:underline;
}
.personality-card.personality-card-compact .personality-card-body{
  gap:3px!important;
}
.personality-card.personality-card-compact .personality-card-stage-slot h2{
  line-height:1.08!important;
}
.personality-card.personality-card-compact .personality-real-name{
  line-height:1.15!important;
}
.personality-card.personality-card-compact .personality-card-status{
  min-height:34px!important;
  height:34px!important;
  max-height:34px!important;
}
@media (max-width:620px){
  .personality-card.personality-card-compact .personality-card-body{
    grid-template-rows:38px 21px 32px 48px!important;
    gap:2px!important;
    padding:9px 12px 10px!important;
  }
  .personality-card.personality-card-compact .personality-card-status{
    min-height:32px!important;
    height:32px!important;
    max-height:32px!important;
  }
  .personality-card.personality-card-compact .personality-card-domains{
    min-height:48px!important;
    height:48px!important;
    max-height:48px!important;
  }
}
.personality-card.personality-card-compact .personality-card-domains{
  padding-inline:6px!important;
  overflow:hidden!important;
}
.personality-card.personality-card-compact .personality-domain{
  box-sizing:border-box!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-align:center!important;
  justify-content:center!important;
  line-height:1.12!important;
}
@media (max-width:700px){
  html,body{
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  .container,main,.page-band,.page-band .container,.hero,.hero .container,.compact-band,.compact-band .container{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .page-band h1,.page-band h2,.page-band p,.page-band .lead,.page-band .subtitle,.hero h1,.hero h2,.hero p,.hero .lead,.compact-band h1,.compact-band h2,.compact-band p{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    hyphens:auto!important;
  }
  .page-band h1 *,.page-band h2 *,.hero h1 *,.hero h2 *,.compact-band h1 *,.compact-band h2 *{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .page-band h1,.hero h1,.compact-band h1{
    font-size:clamp(1.8rem,9vw,2.75rem)!important;
    line-height:1.06!important;
    letter-spacing:-.035em!important;
  }
  .page-band p,.hero p,.compact-band p{
    font-size:.96rem!important;
    line-height:1.45!important;
  }
  .personality-card.personality-card-compact .personality-card-domains{
    min-height:52px!important;
    height:52px!important;
    max-height:52px!important;
    padding-inline:5px!important;
  }
}
.personality-card.personality-card-compact .personality-card-name-slot{
  align-items:start!important;
}
.personality-card.personality-card-compact .personality-card-stage-slot h2{
  margin:0 0 1px!important;
}
.personality-card.personality-card-compact .personality-real-name{
  margin:0!important;
}
@media (max-width:620px){
  .personality-card.personality-card-compact .personality-card-body{
    grid-template-rows:34px 19px 32px 52px!important;
    row-gap:1px!important;
  }
}
.personality-card.personality-card-compact .personality-card-body{
  grid-template-rows:36px 34px 56px!important;
  row-gap:3px!important;
  padding:9px 14px 13px!important;
}
.personality-card.personality-card-compact .personality-card-stage-slot{
  align-items:center!important;
}
.personality-card.personality-card-compact .personality-card-domains{
  box-sizing:border-box!important;
  padding:3px 8px 5px!important;
  min-height:56px!important;
  height:56px!important;
  max-height:56px!important;
}
.personality-card.personality-card-compact .personality-domain{
  max-width:calc(100% - 4px)!important;
}
@media (max-width:620px){
  .personality-card.personality-card-compact .personality-card-body{
    grid-template-rows:34px 32px 52px!important;
    row-gap:2px!important;
    padding:8px 12px 12px!important;
  }
  .personality-card.personality-card-compact .personality-card-domains{
    padding:3px 7px 5px!important;
    min-height:52px!important;
    height:52px!important;
    max-height:52px!important;
  }
}
del,s,strike,[style*="line-through"]{
  text-decoration:none!important;
}
@media (max-width:700px){
  header.page-band,
header.page-band>.container{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  header.page-band>.container{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  header.page-band h1,
header.page-band h2,
header.page-band p,
header.page-band .lead,
header.page-band .subtitle{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  header.page-band h1 *,
header.page-band h2 *,
header.page-band p *{
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
}
@media (max-width:700px){
  body header.page-band .container{
    width:auto!important;
    max-width:calc(100vw - 28px)!important;
    min-width:0!important;
    overflow:visible!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }
  body header.page-band .container>h1,
body header.page-band .container>h2,
body header.page-band .container>p,
body header.page-band .container>.lead,
body header.page-band .container>.subtitle{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    box-sizing:border-box!important;
  }
  body header.page-band .container>h1 *,
body header.page-band .container>h2 *,
body header.page-band .container>p *{
    white-space:normal!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
}
body .resource-type-strip{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:8px!important;
  width:100%!important;
  max-width:760px!important;
  margin:0 auto 14px!important;
  padding:0!important;
  overflow:visible!important;
}
body .resource-type-strip>.resource-type{
  flex:0 0 136px!important;
  width:136px!important;
  min-width:136px!important;
  max-width:136px!important;
  box-sizing:border-box!important;
  cursor:pointer!important;
}
@media (max-width:760px){
  body .resource-type-strip{
    max-width:100%!important;
    gap:7px!important;
  }
  body .resource-type-strip>.resource-type{
    flex:0 0 calc(20% - 7px)!important;
    width:calc(20% - 7px)!important;
    min-width:0!important;
    max-width:none!important;
  }
}
@media (max-width:520px){
  body .resource-type-strip{
    gap:6px!important;
  }
  body .resource-type-strip>.resource-type{
    flex:0 0 calc(33.333% - 4px)!important;
    width:calc(33.333% - 4px)!important;
    min-width:0!important;
    max-width:none!important;
  }
}
.page-band .container,
.page-band h1,
.page-band h2,
.page-band p,
.home-environment .hero .container,
.home-environment .hero h1,
.home-environment .hero p{
  text-align:left!important;
}
.page-band p,.home-environment .hero p{
  margin-left:0!important;
  margin-right:auto!important;
}
.nav-dropdown{
  position:relative;
  display:flex;
  align-items:center;
}
.nav-dropdown-toggle{
  appearance:none;
  border:0;
  background:transparent;
  padding:10px 12px;
  border-radius:999px;
  font:inherit;
  font-weight:700;
  font-size:.94rem;
  color:inherit;
  cursor:pointer;
}
.nav-dropdown-toggle:hover,.nav-dropdown.active>.nav-dropdown-toggle,.nav-dropdown.open>.nav-dropdown-toggle{
  background:#f3efff;
  color:#5739d6;
}
.nav-dropdown-menu{
  display:none;
  position:absolute;
  top:calc(100% + 8px);
  left:50%;
  transform:translateX(-50%);
  min-width:190px;
  padding:8px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 16px 40px rgba(36,28,67,.15);
  z-index:100;
}
.nav-dropdown.open .nav-dropdown-menu,.nav-dropdown:hover .nav-dropdown-menu{
  display:grid;
}
.nav-dropdown-menu a{
  display:block!important;
  width:100%!important;
  padding:9px 11px!important;
  border-radius:10px!important;
  white-space:nowrap;
}
.nav-dropdown-menu a[aria-current=page]{
  background:#f3efff;
  color:#5739d6;
}
.association-intro-grid,.association-function-grid,.association-page-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.association-function-card{
  padding:22px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 24px rgba(40,30,80,.05);
}
.association-function-icon{
  font-size:2rem;
  margin-bottom:10px;
}
.association-function-card h3{
  margin:0 0 8px;
}
.association-function-card p{
  margin:0 0 12px;
}
.association-page-links{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.association-page-links>a{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:.18s;
}
.association-page-links>a:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 26px rgba(40,30,80,.08);
}
.association-page-links>a>span{
  font-size:1.8rem;
}
.association-page-links small{
  color:var(--muted);
  line-height:1.35;
}
.association-team-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:18px;
}
.association-team-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:.2s;
}
.association-team-card:hover,.association-team-card:focus-visible{
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(70,48,130,.14);
  outline:none;
}
.association-team-card img,.association-team-placeholder{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  background:#f1eff6;
  display:grid;
  place-items:center;
  font-size:3rem;
}
.association-team-card>div:last-child{
  padding:14px;
  text-align:left;
}
.association-team-card h2{
  margin:7px 0 6px;
  font-size:1.25rem;
}
.association-team-role{
  margin:0 0 4px;
  font-weight:800;
}
.association-events-list{
  display:grid;
  gap:12px;
}
.association-event-card{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:18px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.association-date-badge{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:12px;
  border-radius:14px;
  background:#f3efff;
  color:#5739d6;
  font-weight:900;
}
.association-event-card h3{
  margin:5px 0;
}
.association-documents-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:14px;
}
.association-document-card{
  display:flex;
  gap:12px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  color:inherit;
  text-decoration:none;
}
.association-document-icon{
  font-size:1.8rem;
}
.association-document-card h3{
  margin:5px 0;
}
.association-operations-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:18px;
}
.association-operation-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:.18s;
}
.association-operation-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(40,30,80,.09);
}
.association-operation-card>img,.association-operation-placeholder{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  background:#eef3e8;
  display:grid;
  place-items:center;
  font-size:3rem;
}
.association-operation-body{
  padding:15px;
}
.association-operation-body h2{
  margin:7px 0 5px;
  font-size:1.25rem;
}
.association-operation-place{
  font-weight:800;
  margin:0 0 4px;
}
.association-operation-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
  margin:18px 0;
}
.association-operation-gallery img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:16px;
}
.association-operation-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.association-operation-info-grid article{
  padding:18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.association-operation-info-grid h2{
  margin:0 0 8px;
  font-size:1.25rem;
}
.association-testimonials-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:16px;
}
.association-testimonial-card{
  padding:18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.association-testimonial-card img,.association-testimonial-placeholder{
  width:58px;
  height:58px;
  border-radius:50%;
  object-fit:cover;
  background:#eee;
  display:grid;
  place-items:center;
  margin-bottom:12px;
}
.association-testimonial-card blockquote{
  margin:0 0 12px;
  line-height:1.5;
}
.membership-status-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.membership-status-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:18px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
}
.membership-status-card img{
  width:100%;
  max-width:180px;
  aspect-ratio:1/1;
  object-fit:contain;
  margin-bottom:8px;
}
.membership-status-card h2{
  margin:3px 0 7px;
  font-size:1.25rem;
}
.membership-status-card p{
  margin:0 0 10px;
}
.membership-fee-badge,.membership-free-badge{
  margin-top:auto;
  padding:6px 10px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:850;
}
.membership-fee-badge{
  background:#f3efff;
  color:#5739d6;
}
.membership-free-badge{
  background:#eaf7ef;
  color:#286548;
}
.association-join-layout{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:28px;
  align-items:start;
}
.association-membership-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
}
.association-membership-form .span-2{
  grid-column:1/-1;
}
.form-message{
  margin:10px 0 0;
}
.form-message.success{
  color:#286548;
}
.form-message.error{
  color:#9c2e2e;
}
.association-members-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:14px;
}
.association-member-card{
  text-align:center;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.association-member-card img,.association-member-placeholder{
  width:96px;
  height:96px;
  border-radius:50%;
  object-fit:cover;
  margin:0 auto 8px;
  background:#eee;
  display:grid;
  place-items:center;
}
.association-member-card h3{
  margin:0 0 4px;
}
.association-member-tags{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:5px;
  margin-top:8px;
}
.association-lexicon-tag{
  padding:4px 7px;
  border-radius:999px;
  background:#f3efff;
  color:#5739d6;
  text-decoration:none;
  font-size:.72rem;
  font-weight:800;
}
.association-admin-grid{
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);
  gap:18px;
  align-items:start;
}
.association-admin-block{
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  padding:14px;
}
.association-admin-block>summary{
  cursor:pointer;
  font-size:1.05rem;
  font-weight:900;
}
.association-admin-block[open]>summary{
  margin-bottom:14px;
}
.association-admin-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.association-admin-form .span-2{
  grid-column:1/-1;
}
.association-admin-form textarea{
  resize:vertical;
}
.association-admin-list{
  display:grid;
  gap:8px;
  margin-top:12px;
}
.association-admin-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fafafa;
}
.association-admin-item h4{
  margin:0 0 3px;
}
.association-admin-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.association-lexicon-checks{
  display:grid;
  gap:10px;
}
.association-lexicon-category{
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px;
}
.association-lexicon-category strong{
  display:block;
  margin-bottom:7px;
}
.association-lexicon-category>div{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.association-lexicon-category label{
  display:inline-flex;
  gap:5px;
  align-items:center;
  padding:5px 8px;
  border-radius:999px;
  background:#f7f5fb;
  font-size:.78rem;
}
.association-admin-subtabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
@media (max-width:900px){
  .association-intro-grid,.association-function-grid{
    grid-template-columns:1fr;
  }
  .association-page-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .membership-status-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .association-join-layout,.association-admin-grid{
    grid-template-columns:1fr;
  }
  .association-operation-info-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:760px){
  .nav-dropdown{
    display:block;
    width:100%;
  }
  .nav-dropdown-toggle{
    width:100%;
    text-align:center;
  }
  .nav-dropdown-menu{
    position:static;
    transform:none;
    box-shadow:none;
    border:0;
    background:#f8f6fd;
    margin:2px 0 4px;
    padding:5px;
  }
  .nav-dropdown:hover .nav-dropdown-menu:not(:focus-within){
    display:none;
  }
  .nav-dropdown.open .nav-dropdown-menu{
    display:grid;
  }
}
@media (max-width:620px){
  .association-page-links,.membership-status-grid,.association-membership-form{
    grid-template-columns:1fr;
  }
  .association-membership-form .span-2{
    grid-column:auto;
  }
  .association-event-card{
    grid-template-columns:1fr;
  }
  .association-date-badge{
    justify-content:flex-start;
  }
  .association-admin-form{
    grid-template-columns:1fr;
  }
  .association-admin-form .span-2{
    grid-column:auto;
  }
}
.association-function-icon{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  text-align:center!important;
}
.association-page-links>a>span{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  text-align:center!important;
}
.association-member-card-link{
  color:inherit;
  text-decoration:none;
  transition:transform .18s,box-shadow .18s;
}
.association-member-card-link:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 26px rgba(40,30,80,.08);
}
.association-member-profile{
  display:grid;
  grid-template-columns:minmax(220px,320px) minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.association-member-profile-photo{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
.association-member-profile-photo img,.association-member-profile-placeholder{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:22px;
  background:#f2eff7;
  display:grid;
  place-items:center;
  font-size:5rem;
}
.association-member-profile-content h1{
  margin:.1rem 0 .4rem;
}
.association-member-profile-content section{
  margin-top:22px;
}
.association-member-socials{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
@media (max-width:700px){
  .association-member-profile{
    grid-template-columns:1fr;
  }
  .association-member-profile-photo{
    max-width:280px;
    margin:0 auto;
  }
}
.admin-card-actions,.admin-row-actions{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  align-items:center;
}
.admin-card-actions{
  justify-content:flex-end;
}
@media (max-width:620px){
  .admin-card-actions,.admin-row-actions{
    width:100%;
    justify-content:flex-start;
  }
  .admin-card-actions .btn,.admin-row-actions .btn{
    flex:1 1 auto;
  }
}
.association-admin-page-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:start;
}
.admin-section-heading{
  margin:0 0 16px;
}
.admin-section-heading h2{
  margin:0 0 5px;
}
.admin-section-heading p{
  margin:0;
  color:var(--muted);
}
#association-operation-books-picker,
#association-operation-testimonials-picker{
  max-height:220px;
  overflow:auto;
  margin-top:7px;
}
#association-operation-books-selected,
#association-operation-testimonials-selected{
  margin:8px 0;
}
#association-operation-export-books{
  margin-top:8px;
}
.association-operation-books,.association-operation-linked-testimonials{
  margin-top:28px;
}
.association-operation-book-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:10px;
}
.association-operation-book-list>a{
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:inherit;
  text-decoration:none;
}
.association-operation-book-list>a:hover{
  box-shadow:0 8px 20px rgba(40,30,80,.08);
}
.association-operation-book-list span,.association-operation-book-list small{
  color:var(--muted);
}
@media (max-width:900px){
  .association-admin-page-grid{
    grid-template-columns:1fr;
  }
}
.association-team-card>img,
.association-member-card>img,
.association-member-profile-photo>img{
  object-fit:contain!important;
  background:#fff!important;
  padding:10px!important;
  box-sizing:border-box!important;
}
.association-member-default-visual{
  padding:10px 12px;
  border-radius:12px;
  background:#f7f5fb;
  color:var(--muted);
  font-size:.86rem;
}
.association-request-item{
  align-items:start!important;
}
.association-request-status-label{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  font-size:.8rem;
  font-weight:800;
}
.association-request-status{
  min-width:130px;
}
.association-member-image-preview{
  width:120px;
  height:120px;
  border:1px solid var(--line);
  border-radius:16px;
  overflow:hidden;
  background:#f7f5fb;
  display:grid;
  place-items:center;
}
.association-member-image-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.association-team-card>img.association-member-photo,
.association-member-card>img.association-member-photo,
.association-member-profile-photo>img.association-member-photo{
  object-fit:cover!important;
  padding:0!important;
}
.association-team-card>img.association-status-visual,
.association-member-card>img.association-status-visual,
.association-member-profile-photo>img.association-status-visual{
  object-fit:contain!important;
  padding:10px!important;
  background:#fff!important;
}
.association-member-image-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.association-membership-export-row{
  margin-top:12px;
}
.association-admin-lexicon-tag img,
.association-admin-lexicon-placeholder{
  width:24px!important;
  height:24px!important;
  border-radius:7px;
  object-fit:cover;
  flex:0 0 24px;
  background:#ece9f3;
}
.association-operation-carousel-wrap{
  max-width:920px;
  margin:20px auto 26px;
}
.association-operation-carousel{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:min(78vw,560px);
  gap:14px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
  padding:4px 4px 12px;
}
.association-operation-slide{
  margin:0;
  height:clamp(260px,42vw,430px);
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:#f5f3f8;
  scroll-snap-align:center;
  box-shadow:0 8px 22px rgba(40,30,80,.07);
}
.association-operation-slide img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#f5f3f8;
}
.association-operation-carousel-hint{
  margin-top:2px;
  text-align:center;
  color:var(--muted);
  font-size:.82rem;
}
@media (max-width:700px){
  .association-operation-carousel-wrap{
    margin:16px -4px 22px;
  }
  .association-operation-carousel{
    grid-auto-columns:88vw;
    gap:10px;
    padding-inline:4px;
  }
  .association-operation-slide{
    height:clamp(220px,68vw,330px);
    border-radius:15px;
  }
}
html,body{
  width:100%;
  overflow-x:hidden;
}
*,*::before,*::after{
  box-sizing:border-box;
}
img,svg,video,canvas{
  max-width:100%;
  height:auto;
}
.container{
  width:min(1440px,calc(100% - 40px));
  max-width:100%;
  margin-inline:auto;
}
main,section,header,footer,.admin-shell,.admin-panel,.admin-app{
  min-width:0;
  max-width:100%;
}
h1,h2,h3,h4,p,li,a,button,label,span,strong,small{
  overflow-wrap:anywhere;
}
input,select,textarea,button{
  max-width:100%;
  min-width:0;
}
.admin-table-wrap,.table-wrap,.admin-table-container{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.admin-table-wrap table,.table-wrap table,.admin-table-container table,table.admin-table{
  min-width:680px;
}
dialog,.book-dialog,.personality-dialog{
  max-width:min(1100px,calc(100vw - 24px))!important;
  max-height:calc(100dvh - 24px)!important;
  margin:auto!important;
}
.dialog-inner{
  max-width:100%!important;
  max-height:calc(100dvh - 24px)!important;
  overflow:auto!important;
}
.grid,.cards,.book-grid,.personality-grid,.media-grid,.lexicon-grid,
.association-operations-grid,.association-testimonials-grid,
.association-members-grid,.association-team-grid,.association-documents-grid,
.association-operation-book-list{
  min-width:0;
}
.grid>*,.cards>*,.book-grid>*,.personality-grid>*,.media-grid>*,
.lexicon-grid>*,.association-operations-grid>*,.association-testimonials-grid>*,
.association-members-grid>*,.association-team-grid>*,.association-documents-grid>*{
  min-width:0;
}
.association-admin-block,.association-admin-form,.association-admin-item{
  min-width:0;
  max-width:100%;
}
.association-admin-item>*{
  min-width:0;
}
.association-admin-actions .btn{
  white-space:normal;
}
.association-lexicon-category>div{
  max-width:100%;
}
.association-admin-lexicon-tag{
  max-width:100%;
}
.identity-image-tag,.association-lexicon-tag,.tag,.relation-chip{
  max-width:100%;
  white-space:normal!important;
  overflow-wrap:anywhere;
}
.identity-image-tag span:last-child{
  min-width:0;
}
header.page-band,header.page-band>.container{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
header.page-band>.container{
  width:min(1180px,calc(100% - 32px))!important;
}
header.page-band h1,header.page-band h2,header.page-band p,
header.page-band .lead,header.page-band .subtitle{
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
@media (max-width:820px){
  .site-header{
    position:relative!important;
    z-index:1000!important;
    overflow:visible!important;
  }
  .site-header .nav{
    position:relative!important;
    overflow:visible!important;
  }
  .menu-btn{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:relative!important;
    z-index:1003!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    padding:0!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
  }
  .nav-links{
    display:none!important;
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    z-index:1002!important;
    width:100%!important;
    max-width:none!important;
    max-height:calc(100dvh - 90px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    padding:10px!important;
    margin:0!important;
    background:#fff!important;
    border:1px solid var(--line)!important;
    border-top:0!important;
    border-radius:0 0 18px 18px!important;
    box-shadow:0 16px 30px rgba(25,20,55,.14)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:3px!important;
  }
  .nav-links.open{
    display:flex!important;
  }
  .nav-links>a,.nav-dropdown,.nav-dropdown-toggle{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .nav-links>a,.nav-dropdown-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:44px!important;
    padding:10px 12px!important;
    text-align:center!important;
    border-radius:10px!important;
    touch-action:manipulation!important;
  }
  .nav-dropdown{
    display:block!important;
    position:relative!important;
  }
  .nav-dropdown-menu{
    display:none!important;
    position:static!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:3px 0 5px!important;
    padding:5px!important;
    border:0!important;
    border-radius:12px!important;
    box-shadow:none!important;
    background:#f8f6fd!important;
  }
  .nav-dropdown:hover .nav-dropdown-menu,
  .nav-dropdown:hover .nav-dropdown-menu:not(:focus-within){
    display:none!important;
  }
  .nav-dropdown.open>.nav-dropdown-menu,
  .nav-dropdown.open:hover>.nav-dropdown-menu,
  .nav-dropdown.open:hover>.nav-dropdown-menu:not(:focus-within){
    display:grid!important;
  }
  .nav-dropdown-menu>a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:42px!important;
    padding:8px 10px!important;
    white-space:normal!important;
    text-align:center!important;
  }
}
@media (max-width:540px){
  .nav-links{
    max-height:calc(100dvh - 78px)!important;
  }
}
@media (max-width:900px){
  .container{
    width:min(100% - 28px,900px);
  }
  .admin-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
  }
  .admin-tab{
    flex:1 1 150px;
    white-space:normal;
  }
  .admin-filter-bar,.admin-actions-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  .admin-filter-bar>*{
    flex:1 1 190px;
  }
  .association-admin-page-grid{
    grid-template-columns:1fr!important;
  }
  .association-intro-grid,.association-function-grid{
    grid-template-columns:1fr!important;
  }
  .association-page-links{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .membership-status-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .association-operation-info-grid{
    grid-template-columns:1fr!important;
  }
}
@media (max-width:700px){
  .container{
    width:calc(100% - 24px)!important;
    margin-inline:auto!important;
  }
  .site-header .container.nav{
    width:calc(100% - 20px)!important;
  }
  .nav{
    min-width:0;
  }
  .brand{
    min-width:0;
    max-width:calc(100% - 54px);
  }
  .brand-mark,.brand-name{
    max-width:100%;
  }
  .nav-links{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  header.page-band>.container{
    width:calc(100% - 24px)!important;
    padding-inline:0!important;
  }
  header.page-band h1,.home-environment .hero h1{
    font-size:clamp(1.75rem,9vw,2.7rem)!important;
    line-height:1.06!important;
  }
  header.page-band p,.home-environment .hero p{
    font-size:.96rem!important;
    line-height:1.45!important;
  }
  .book-grid,.personality-grid,.media-grid,.lexicon-grid,
  .association-operations-grid,.association-testimonials-grid,
  .association-members-grid,.association-team-grid,.association-documents-grid,
  .association-operation-book-list{
    grid-template-columns:1fr!important;
  }
  .association-page-links,.membership-status-grid{
    grid-template-columns:1fr!important;
  }
  .association-member-profile{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .association-operation-carousel{
    grid-auto-columns:calc(100vw - 38px)!important;
  }
  .association-operation-slide{
    height:clamp(210px,68vw,320px)!important;
  }
  .admin-shell,.admin-panel{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .admin-tabs{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%;
  }
  .admin-tab{
    width:100%;
    min-width:0;
    padding:9px 7px;
  }
  .admin-actions-row,.admin-filter-bar{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%;
  }
  .admin-actions-row .btn,.admin-filter-bar>*{
    width:100%!important;
    max-width:100%!important;
  }
  .admin-form-grid,.association-admin-form{
    grid-template-columns:1fr!important;
  }
  .admin-form-grid .span-2,.admin-form-grid .span-3,.association-admin-form .span-2{
    grid-column:1!important;
  }
  .association-admin-item{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .association-admin-actions,.admin-card-actions,.admin-row-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    gap:7px!important;
  }
  .association-admin-actions .btn,.admin-card-actions .btn,.admin-row-actions .btn{
    width:100%!important;
    min-width:0!important;
  }
  .association-request-status-label{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  .association-request-status{
    width:100%!important;
    min-width:0!important;
  }
  .association-member-image-preview{
    width:min(120px,100%);
  }
  dialog,.book-dialog,.personality-dialog{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
  }
  .dialog-inner{
    padding:12px!important;
    max-height:calc(100dvh - 16px)!important;
  }
  .dialog-head{
    display:flex;
    gap:8px;
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .dialog-head h2{
    flex:1 1 180px;
    min-width:0;
  }
  .dialog-head .btn{
    flex:0 0 auto;
  }
  .field,.field input,.field select,.field textarea{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .relation-picker,.relation-selected{
    max-width:100%;
    overflow-x:hidden;
  }
  .relation-option{
    width:100%;
    max-width:100%;
    text-align:left;
  }
}
@media (max-width:420px){
  .container{
    width:calc(100% - 18px)!important;
  }
  header.page-band>.container{
    width:calc(100% - 18px)!important;
  }
  .admin-tabs{
    grid-template-columns:1fr!important;
  }
  .association-admin-actions,.admin-card-actions,.admin-row-actions{
    grid-template-columns:1fr!important;
  }
  .btn{
    max-width:100%;
    white-space:normal;
  }
}
#association-member-book-picker{
  max-height:220px;
  overflow:auto;
  margin-top:7px;
}
#association-member-book-selected{
  margin-top:8px;
}
#association-member-lexicon.association-lexicon-checks{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  width:100%!important;
}
#association-member-lexicon .association-lexicon-category{
  width:100%!important;
  min-width:0!important;
  padding:12px!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  background:#fff!important;
}
#association-member-lexicon .association-lexicon-category>strong{
  display:block!important;
  margin:0 0 9px!important;
  font-size:.9rem!important;
}
#association-member-lexicon .association-lexicon-category>div{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;
  gap:8px!important;
  width:100%!important;
}
#association-member-lexicon label.association-admin-lexicon-tag{
  display:grid!important;
  grid-template-columns:20px 38px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  min-height:56px!important;
  margin:0!important;
  padding:7px 9px!important;
  border:1px solid #e4e0ec!important;
  border-radius:12px!important;
  background:#faf9fc!important;
  font-size:.8rem!important;
  line-height:1.2!important;
  cursor:pointer!important;
}
#association-member-lexicon label.association-admin-lexicon-tag:hover{
  background:#f5f2fb!important;
  border-color:#cfc5ec!important;
}
#association-member-lexicon label.association-admin-lexicon-tag:has(input:checked){
  background:#f3efff!important;
  border-color:#7457df!important;
  box-shadow:0 0 0 1px #7457df inset!important;
}
#association-member-lexicon .association-admin-lexicon-tag input{
  width:17px!important;
  height:17px!important;
  margin:0!important;
}
#association-member-lexicon .association-admin-lexicon-tag img,
#association-member-lexicon .association-admin-lexicon-placeholder{
  display:block!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border-radius:9px!important;
  object-fit:cover!important;
  background:#ece9f3!important;
}
#association-member-lexicon .association-admin-lexicon-tag>span:last-child{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
@media (max-width:620px){
  #association-member-lexicon .association-lexicon-category>div{
    grid-template-columns:1fr!important;
  }
}
#association-member-detail .association-member-profile{
  display:grid!important;
  grid-template-columns:minmax(180px,280px) minmax(0,1fr) minmax(200px,220px)!important;
  grid-template-areas:"photo content book"!important;
  align-items:start!important;
  gap:24px!important;
}
#association-member-detail .association-member-profile-photo{
  grid-area:photo!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:12px!important;
  margin:0!important;
}
#association-member-detail .association-member-profile-photo>img{
  margin:0!important;
  align-self:stretch!important;
}
#association-member-detail .association-member-profile-content{
  grid-area:content!important;
  min-width:0!important;
  margin-top:0!important;
  align-self:start!important;
}
#association-member-detail .association-member-tags-section{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  width:100%!important;
  margin:0!important;
}
#association-member-detail .association-member-principal-tag{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
}
#association-member-detail .association-member-principal-tag .identity-image-tag{
  display:inline-flex!important;
  flex:0 0 auto!important;
  margin:0 auto!important;
}
#association-member-detail .association-member-image-tags,
#association-member-detail .association-member-other-tags{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  align-items:center!important;
  align-content:flex-start!important;
  gap:7px!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
#association-member-detail .association-member-image-tags .identity-image-tag{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  gap:6px!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  min-height:36px!important;
  padding:5px 9px!important;
  white-space:normal!important;
  overflow:visible!important;
  font-size:.78rem!important;
}
#association-member-detail .association-member-image-tags .identity-image-tag img,
#association-member-detail .association-member-image-tags .identity-tag-placeholder{
  width:25px!important;
  height:25px!important;
  min-width:25px!important;
  flex:0 0 25px!important;
}
#association-member-detail .association-member-featured-book{
  grid-area:book!important;
  align-self:start!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}
#association-member-detail .association-member-featured-book>h2{
  text-align:left!important;
  margin:0 0 8px!important;
  padding:0!important;
  line-height:1.1!important;
  font-size:1.25rem!important;
}
#association-member-detail .association-member-current-book-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  align-items:stretch!important;
  justify-content:end!important;
  margin:0!important;
  padding:0!important;
}
#association-member-detail .association-member-current-book.book-card{
  width:220px!important;
  max-width:220px!important;
  margin:0 0 0 auto!important;
  display:flex!important;
  flex-direction:column!important;
  padding:0!important;
  gap:0!important;
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  background:#fff!important;
  color:inherit!important;
  text-decoration:none!important;
}
#association-member-detail .association-member-current-book .book-cover{
  width:100%!important;
  height:auto!important;
  aspect-ratio:3/4!important;
  border-radius:0!important;
}
#association-member-detail .association-member-current-book .book-cover img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
#association-member-detail .association-member-current-book .book-body{
  padding:11px!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1!important;
}
#association-member-detail .association-member-current-book .book-body h3{
  font-size:.96rem!important;
  line-height:1.25!important;
  margin:0 0 6px!important;
}
#association-member-detail .association-member-current-book .home-card-cta{
  margin-top:auto!important;
  font-size:.78rem!important;
  padding:7px 9px!important;
}
@media (max-width:900px){
  #association-member-detail .association-member-profile{
    grid-template-columns:minmax(160px,220px) minmax(0,1fr)!important;
    grid-template-areas:"photo content" "book content"!important;
  }
  #association-member-detail .association-member-current-book.book-card{
    width:200px!important;
    max-width:200px!important;
    margin-left:0!important;
  }
}
@media (max-width:700px){
  #association-member-detail .association-member-profile{
    grid-template-columns:1fr!important;
    grid-template-areas:"photo" "content" "book"!important;
    gap:18px!important;
  }
  #association-member-detail .association-member-profile-photo{
    width:min(100%,280px)!important;
    margin-inline:auto!important;
  }
  #association-member-detail .association-member-featured-book{
    width:min(100%,220px)!important;
    margin:4px 0 0!important;
  }
  #association-member-detail .association-member-current-book.book-card{
    width:100%!important;
    max-width:220px!important;
    margin-left:0!important;
  }
}
.fresque-page{
  --bg:#fbfaf7;
  --panel:#fff;
  --text:#202124;
  --muted:#686b70;
  --border:#ddd9d2;
  --accent:#5b4fb0;
  --accent-soft:#efedfb;
  --law:#6356b5;
  --institutions:#3478a8;
  --activism:#d65c63;
  --visibility:#b968a6;
  --culture:#d58b2a;
  --pride:#7a55b8;
  --health:#2f8d78;
  --repression:#b84d43;
  --justice:#526a8a;
  --advance:#2f8d78;
  --recul:#b84d43;
  --struct:#7a55b8;
}
.fresque-page,.fresque-page *{
  box-sizing:border-box;
}
.fresque-page{
  background:var(--bg);
  color:var(--text);
  font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.fresque-page a{
  color:inherit;
}
.fresque-page button,.fresque-page input,.fresque-page select,.fresque-page textarea{
  font:inherit;
}
.fresque-page button{
  cursor:pointer;
}
.fresque-page .wrap{
  max-width:1180px;
  margin:auto;
  padding:28px 20px 64px;
}
.fresque-page .breadcrumb{
  font-size:.9rem;
  color:var(--muted);
  margin-bottom:10px;
}
.fresque-page h1{
  font-size:clamp(2rem,4vw,3.7rem);
  line-height:1.05;
  margin:.2rem 0 .6rem;
  letter-spacing:-.035em;
}
.fresque-page .lead{
  max-width:780px;
  color:var(--muted);
  font-size:1.08rem;
}
.fresque-page .toolbar,.fresque-page .formbox{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:18px;
  padding:18px;
  margin-top:24px;
}
.fresque-page .toolbar-head{
  display:flex;
  gap:16px;
  align-items:end;
  justify-content:space-between;
  flex-wrap:wrap;
}
.fresque-page .filters{
  display:grid;
  grid-template-columns:2fr repeat(4,1fr);
  gap:12px;
  margin-top:14px;
}
.fresque-page label{
  font-size:.88rem;
  font-weight:600;
}
.fresque-page .field{
  margin-top:5px;
  width:100%;
  border:1px solid var(--border);
  border-radius:11px;
  padding:10px 12px;
  background:#fff;
  color:var(--text);
}
.fresque-page .btn{
  border:1px solid var(--border);
  border-radius:11px;
  padding:10px 14px;
  background:#fff;
  color:var(--text);
}
.fresque-page .btn-primary{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
}
.fresque-page .summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin:24px 0;
}
.fresque-page .stat{
  border-top:3px solid var(--accent);
  background:var(--panel);
  padding:14px;
  border-radius:0 0 12px 12px;
}
.fresque-page .stat strong{
  font-size:1.8rem;
  display:block;
}
.fresque-page .stat span{
  font-size:.85rem;
  color:var(--muted);
}
.fresque-page .timeline-shell{
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--panel);
  overflow-x:auto;
  padding:20px;
}
.fresque-page .timeline{
  min-width:920px;
}
.fresque-page .years{
  display:flex;
  justify-content:space-between;
  margin-left:125px;
  color:var(--muted);
  font-size:.8rem;
}
.fresque-page .lane{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:15px;
  align-items:center;
  margin:14px 0;
}
.fresque-page .lane-label{
  font-weight:700;
  font-size:.9rem;
}
.fresque-page .track{
  height:64px;
  position:relative;
  border-left:1px solid var(--border);
  border-right:1px solid var(--border);
  background:linear-gradient(to right,var(--border) 1px,transparent 1px);
  background-size:10% 100%;
}
.fresque-page .point{
  position:absolute;
  top:50%;
  transform:translate(-50%,-50%);
  width:38px;
  height:38px;
  border-radius:999px;
  border:3px solid #fff;
  box-shadow:0 0 0 1px rgba(0,0,0,.12);
  display:grid;
  place-items:center;
  color:#fff;
}
.fresque-page .point.struct{
  background:#fff!important;
  color:var(--text);
  border:3px solid currentColor;
}
.fresque-page .point.recul{
  border-radius:9px;
  transform:translate(-50%,-50%) rotate(45deg);
}
.fresque-page .point.recul svg{
  transform:rotate(-45deg);
}
.fresque-page .icon{
  width:22px;
  height:22px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.fresque-page .main-grid{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(250px,.85fr);
  gap:26px;
  margin-top:28px;
}
.fresque-page .event{
  background:var(--panel);
  border:1px solid var(--border);
  border-left:5px solid var(--cat);
  border-radius:14px;
  padding:16px;
  display:grid;
  grid-template-columns:44px 1fr;
  gap:14px;
}
.fresque-page .event-icon{
  width:42px;
  height:42px;
  border-radius:11px;
  background:color-mix(in srgb,var(--cat) 13%,white);
  color:var(--cat);
  display:grid;
  place-items:center;
}
.fresque-page .meta{
  font-size:.82rem;
  color:var(--muted);
}
.fresque-page .event h3{
  margin:2px 0 5px;
  font-size:1.05rem;
}
.fresque-page .event p{
  margin:0;
}
.fresque-page .badge{
  display:inline-block;
  margin-left:6px;
  border-radius:999px;
  padding:2px 8px;
  font-size:.72rem;
  background:#f1f1f1;
}
.fresque-page .badge.avancee{
  color:var(--advance);
  background:#eaf6f2;
}
.fresque-page .badge.recul{
  color:var(--recul);
  background:#faecea;
}
.fresque-page .badge.structurant{
  color:var(--struct);
  background:#f0ecfa;
}
.fresque-page aside h2,.fresque-page .events-title{
  font-size:1rem;
}
.fresque-page .legend{
  display:grid;
  gap:8px;
}
.fresque-page .legend-row{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:.92rem;
}
.fresque-page .legend-icon{
  width:34px;
  height:34px;
  border-radius:9px;
  color:var(--c);
  background:color-mix(in srgb,var(--c) 13%,white);
  display:grid;
  place-items:center;
}
.fresque-page .legend-icon .icon{
  width:18px;
  height:18px;
}
.fresque-page .hidden{
  display:none!important;
}
.fresque-page .formgrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.fresque-page .full{
  grid-column:1/-1;
}
.fresque-page .actions{
  display:flex;
  gap:9px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:14px;
}
.fresque-page .feedback{
  color:var(--muted);
  font-size:.88rem;
}
.fresque-page dialog{
  border:1px solid var(--border);
  border-radius:18px;
  max-width:650px;
  width:calc(100% - 30px);
  padding:0;
  color:var(--text);
}
.fresque-page dialog::backdrop{
  background:rgba(0,0,0,.35);
}
.fresque-page .dialog-inner{
  padding:22px;
}
.fresque-page .dialog-head{
  display:flex;
  justify-content:space-between;
  gap:15px;
}
.fresque-page .details{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  font-size:.9rem;
  margin-top:16px;
}
.fresque-page .details div{
  background:#f7f6f3;
  border-radius:10px;
  padding:10px;
}
.fresque-page .details span{
  display:block;
  color:var(--muted);
  font-size:.76rem;
}
@media (max-width:850px){
  .fresque-page .filters{
    grid-template-columns:1fr 1fr;
  }
  .fresque-page .summary{
    grid-template-columns:1fr 1fr;
  }
  .fresque-page .main-grid{
    grid-template-columns:1fr;
  }
  .fresque-page .formgrid{
    grid-template-columns:1fr;
  }
  .fresque-page .full{
    grid-column:auto;
  }
}
@media (max-width:520px){
  .fresque-page .filters,.fresque-page .summary{
    grid-template-columns:1fr;
  }
  .fresque-page .wrap{
    padding-inline:14px;
  }
  .fresque-page .event{
    grid-template-columns:36px 1fr;
  }
  .fresque-page .event-icon{
    width:36px;
    height:36px;
  }
}
.fresque-page{
  min-height:60vh;
}
.fresque-page .wrap{
  width:min(1180px,calc(100% - 32px));
}
@media (max-width:700px){
  .fresque-page .wrap{
    width:calc(100% - 24px);
    padding:22px 0 48px;
  }
  .fresque-page .timeline-shell{
    padding:14px;
  }
  .fresque-page .toolbar,.fresque-page .formbox{
    padding:14px;
  }
  .fresque-page .toolbar-head{
    align-items:stretch;
  }
  .fresque-page .toolbar-head .btn{
    width:100%;
  }
}
#fresque-panel .association-admin-form{
  margin:14px 0 18px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
#fresque-panel .admin-filter-bar{
  margin:12px 0;
}
.fresque-page .fresque-impact-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}
.fresque-page .fresque-impact-meta span{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  background:#f3f1f7;
  color:var(--muted);
  font-size:.76rem;
  font-weight:700;
}
.fresque-page .fresque-search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
  margin-top:14px;
}
.fresque-page .fresque-filter-block{
  margin-top:18px;
}
.fresque-page .fresque-filter-title{
  font-size:.88rem;
  font-weight:800;
  margin-bottom:8px;
}
.fresque-page .fresque-filter-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.fresque-page .fresque-filter-tag{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid var(--border);
  border-radius:999px;
  padding:7px 11px;
  background:#fff;
  color:var(--text);
  font-size:.82rem;
  font-weight:700;
  transition:.15s ease;
}
.fresque-page .fresque-filter-tag:hover{
  border-color:var(--accent);
  background:var(--accent-soft);
}
.fresque-page .fresque-filter-tag.active{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}
.fresque-page .fresque-category-filter-tag{
  border-color:color-mix(in srgb,var(--tag-color) 42%,var(--border));
}
.fresque-page .fresque-category-filter-tag.active{
  background:var(--tag-color);
  border-color:var(--tag-color);
  color:#fff;
}
.fresque-page .fresque-filter-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--tag-color);
  flex:0 0 9px;
}
.fresque-page .fresque-category-filter-tag.active .fresque-filter-dot{
  background:#fff;
}
.fresque-page .fresque-range-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:baseline;
  flex-wrap:wrap;
}
.fresque-page .fresque-range-wrap{
  position:relative;
  height:38px;
  margin:8px 2px 0;
}
.fresque-page .fresque-range-track,.fresque-page .fresque-range-active{
  position:absolute;
  left:0;
  right:0;
  top:17px;
  height:6px;
  border-radius:999px;
}
.fresque-page .fresque-range-track{
  background:#ded9e8;
}
.fresque-page .fresque-range-active{
  right:auto;
  background:var(--accent);
}
.fresque-page .fresque-range-wrap input[type="range"]{
  position:absolute;
  left:0;
  top:8px;
  width:100%;
  height:24px;
  margin:0;
  padding:0;
  background:transparent;
  pointer-events:none;
  -webkit-appearance:none;
  appearance:none;
}
.fresque-page .fresque-range-wrap input[type="range"]::-webkit-slider-runnable-track{
  height:6px;
  background:transparent;
}
.fresque-page .fresque-range-wrap input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:22px;
  height:22px;
  margin-top:-8px;
  border:3px solid #fff;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 1px rgba(0,0,0,.18),0 3px 8px rgba(0,0,0,.16);
  pointer-events:auto;
  cursor:grab;
}
.fresque-page .fresque-range-wrap input[type="range"]::-moz-range-track{
  height:6px;
  background:transparent;
}
.fresque-page .fresque-range-wrap input[type="range"]::-moz-range-thumb{
  width:18px;
  height:18px;
  border:3px solid #fff;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 1px rgba(0,0,0,.18);
  pointer-events:auto;
  cursor:grab;
}
.fresque-page .fresque-evolution-legend{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.fresque-page .fresque-evolution-item{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:9px;
  align-items:center;
  text-align:left;
  padding:10px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  color:var(--text);
}
.fresque-page .fresque-evolution-item small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:.72rem;
  font-weight:500;
}
.fresque-page .fresque-evolution-item.active{
  border-color:var(--accent);
  background:var(--accent-soft);
}
.fresque-page .fresque-evolution-shape{
  display:block;
  width:24px;
  height:24px;
  margin:auto;
  background:var(--advance);
}
.fresque-page .fresque-evolution-shape.circle{
  border-radius:50%;
}
.fresque-page .fresque-evolution-shape.diamond{
  background:var(--recul);
  border-radius:5px;
  transform:rotate(45deg);
  width:20px;
  height:20px;
}
.fresque-page .fresque-evolution-shape.ring{
  background:#fff;
  border:4px solid var(--struct);
  border-radius:50%;
}
.fresque-page .cards{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}
.fresque-page .fresque-event-card{
  height:230px!important;
  min-height:230px!important;
  max-height:230px!important;
  width:100%!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  align-items:start!important;
  overflow:hidden!important;
}
.fresque-page .fresque-event-card-body{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-width:0!important;
}
.fresque-page .fresque-event-card h3{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-bottom:8px!important;
}
.fresque-page .fresque-card-button{
  margin-top:auto!important;
  align-self:flex-start!important;
}
@media (max-width:850px){
  .fresque-page .fresque-evolution-legend{
    grid-template-columns:1fr!important;
  }
  .fresque-page .cards{
    grid-template-columns:1fr!important;
  }
}
@media (max-width:700px){
  #fresque-panel .association-admin-form{
    padding:12px;
  }
}
@media (max-width:620px){
  .fresque-page .fresque-search-row{
    grid-template-columns:1fr!important;
  }
  .fresque-page .fresque-search-row .btn{
    width:100%;
  }
  .fresque-page .fresque-event-card{
    height:220px!important;
    min-height:220px!important;
    max-height:220px!important;
  }
}
.media-card .media-year{
  margin:0;
  min-height:1.15em;
  font-size:.76rem;
  font-weight:750;
  color:var(--muted);
}
.resource-actions-panel .resource-external-action{
  margin-bottom:8px;
}
.membership-status-card img{
  display:block;
  width:100%;
  max-width:220px;
  aspect-ratio:1/1;
  object-fit:contain;
  margin:0 auto 12px;
}
#membership-intro-text p{margin:.55rem 0}

/* V5.10 — nouvelle architecture */
.catalog-filter-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.publisher-grid,.pedagogical-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.publisher-card,.pedagogical-card{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;color:inherit;text-decoration:none}
.publisher-card img{width:100%;height:140px;object-fit:contain;border-radius:12px;background:#faf9fc}
.publisher-placeholder{height:140px;display:grid;place-items:center;font-size:3rem;background:#faf9fc;border-radius:12px}
.pedagogical-card img{width:100%;max-height:210px;object-fit:contain;border-radius:12px}
.extended-detail{display:grid;grid-template-columns:minmax(200px,300px) minmax(0,1fr);gap:28px;align-items:start}
.extended-detail-visual img{width:100%;border-radius:18px;display:block}
.publisher-detail>header{display:flex;gap:20px;align-items:center}.publisher-detail>header img{width:180px;height:120px;object-fit:contain}
.media-category-card{text-decoration:none;color:inherit}
#book-publisher-picker,#webtoon-publisher-picker{max-height:210px;overflow:auto;margin-top:6px}
@media (max-width:700px){.extended-detail{grid-template-columns:1fr}.publisher-grid,.pedagogical-grid{grid-template-columns:1fr}.publisher-detail>header{align-items:flex-start}.publisher-detail>header img{width:120px;height:90px}}
/* V5.11 */
.publisher-admin-image-preview{margin-top:8px;min-height:0}
.publisher-admin-image-preview img{display:block;width:110px;height:110px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:#fff}
.pedagogical-card.clickable-card{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.pedagogical-card.clickable-card:hover,.pedagogical-card.clickable-card:focus-visible{transform:translateY(-4px);box-shadow:0 14px 30px rgba(25,20,55,.14)}
.media-category-tag-filters{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.media-filter-tag{cursor:pointer;border:1px solid var(--line);background:#fff}
.media-filter-tag.active{background:var(--accent);border-color:var(--accent);color:#fff}
.media-category-card{display:flex;flex-direction:column;height:100%;overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.media-category-card:hover,.media-category-card:focus-visible{transform:translateY(-6px);box-shadow:0 18px 38px rgba(25,20,55,.16);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.media-category-card .media-poster-wrap{overflow:hidden}
.media-category-card .media-poster{transition:transform .28s ease}
.media-category-card:hover .media-poster{transform:scale(1.035)}

/* V5.12 — harmonisation générale */
.pc-page-back-row{padding-top:16px}.pc-page-back{min-width:110px}
.association-events-sections{display:grid;gap:34px}.association-events-group{background:#f8f6fd;border:1px solid var(--line);border-radius:22px;padding:22px}.association-events-filter{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,280px);gap:10px;margin:0 0 18px}.association-events-filter input,.association-events-filter select{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}.association-event-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.association-event-card:hover{transform:translateY(-4px);box-shadow:0 15px 32px rgba(25,20,55,.13)}
.catalog-filters-panel{background:#f7f4fc;border:1px solid var(--line);border-radius:20px;padding:16px;margin-bottom:18px}.catalog-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.catalog-search-row .search{width:100%}.catalog-filter-actions{display:flex;justify-content:flex-end;margin-top:10px}.catalog-filter-btn.active{box-shadow:0 0 0 3px rgba(116,87,223,.18);filter:saturate(1.12)}
.book-select-control-bottom{position:static!important;display:flex!important;width:100%!important;justify-content:center!important;margin-top:10px!important;padding:9px 10px!important;border-radius:12px!important;background:#e7defd!important;border:1px solid #b8a6ec!important;color:#392878!important;font-weight:800!important}.book-select-control-bottom:has(input:checked){background:#7557df!important;color:#fff!important;border-color:#7557df!important}.book-select-control-bottom input{accent-color:#5d3fd3}
#ped-detail,#personality-detail,#publisher-detail,#resource-detail{background:#f8f6fd;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 12px 30px rgba(25,20,55,.08);margin-top:4px;margin-bottom:28px}#ped-detail .pedagogical-detail>header img{width:min(220px,34vw);height:220px;object-fit:contain;border-radius:16px;background:#fff;border:1px solid var(--line);padding:8px}#ped-detail .pedagogical-detail>header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center;background:#fff;border-radius:18px;padding:18px;border:1px solid var(--line)}#ped-detail .detail-table,#publisher-detail .detail-table,#resource-detail .detail-table{background:#fff;border-radius:16px;padding:12px;border:1px solid var(--line)}
.publisher-detail>header,.resource-detail-harmonised,.personality-detail-grid{background:transparent!important}.publisher-detail>section,.publisher-detail>.detail-table,.pedagogical-detail>section,.pedagogical-detail>.detail-table,.personality-detail-main>section,.personality-right-section,.resource-detail-harmonised>section,.resource-info-card,.resource-actions-panel{border-radius:16px}
.media-category-card{background:#fff!important;border:1px solid var(--line)!important;border-radius:18px!important;box-shadow:0 6px 18px rgba(25,20,55,.06)}.media-category-card .media-card-body{background:#fff;padding:14px}.media-category-card .media-poster-wrap{background:#f6f3fa}.media-category-card:hover,.media-category-card:focus-visible{background:#fff!important}
@media (max-width:700px){.association-events-group{padding:14px}.association-events-filter,.catalog-search-row{grid-template-columns:1fr}.catalog-search-row .btn,.catalog-filter-actions .btn{width:100%}#ped-detail,#personality-detail,#publisher-detail,#resource-detail{padding:14px;border-radius:18px}#ped-detail .pedagogical-detail>header{grid-template-columns:1fr}#ped-detail .pedagogical-detail>header img{width:min(180px,100%);height:180px;margin:auto}}
/* V5.13 — hauteurs fixes des nouvelles collections */
#webtoon-grid .webtoon-card{
  height:500px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
#webtoon-grid .webtoon-card .book-cover{
  height:315px;
  min-height:315px;
  flex:0 0 315px;
}
#webtoon-grid .webtoon-card .book-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
}
#webtoon-grid .webtoon-card .book-body{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
#webtoon-grid .webtoon-card .tags{margin-top:auto}

#ped-grid .pedagogical-card{
  height:330px;
  min-height:330px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
#ped-grid .pedagogical-card>img{
  width:100%;
  height:145px;
  min-height:145px;
  object-fit:contain;
  background:#fff;
  border-radius:12px 12px 0 0;
}
#ped-grid .pedagogical-card>div{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
#ped-grid .pedagogical-card h2{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
#ped-grid .pedagogical-card .tags{
  margin-top:auto;
  max-height:58px;
  overflow:hidden;
}

#publisher-grid .publisher-card{
  height:300px;
  min-height:300px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
#publisher-grid .publisher-card>img,
#publisher-grid .publisher-card>.publisher-placeholder{
  width:100%;
  height:170px;
  min-height:170px;
  object-fit:contain;
  flex:0 0 170px;
  background:#fff;
}
#publisher-grid .publisher-card-body{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:14px 16px 16px;
  text-align:center;
  overflow:hidden;
}
#publisher-grid .publisher-card-body h2{
  margin:0 0 7px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
#publisher-grid .publisher-card-slogan{
  margin:0;
  font-style:italic;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
@media (max-width:700px){
  #webtoon-grid .webtoon-card{height:470px}
  #webtoon-grid .webtoon-card .book-cover{height:290px;min-height:290px;flex-basis:290px}
  #ped-grid .pedagogical-card{height:315px;min-height:315px}
  #publisher-grid .publisher-card{height:285px;min-height:285px}
  #publisher-grid .publisher-card>img,
  #publisher-grid .publisher-card>.publisher-placeholder{height:155px;min-height:155px;flex-basis:155px}
}
/* V5.14 — fiche Livre harmonisée */
#book-detail{
  width:100%;
}
#book-detail .book-structural-grid{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:0 12px 34px rgba(25,20,55,.08);
  padding:24px;
  gap:22px;
  overflow:hidden;
}
#book-detail .book-structural-cover,
#book-detail .book-structural-summary,
#book-detail .book-structural-author,
#book-detail .book-structural-left,
#book-detail .book-structural-information,
#book-detail .book-structural-related{
  background:transparent!important;
  border-radius:18px;
  min-width:0;
}
#book-detail .book-structural-summary,
#book-detail .book-structural-author,
#book-detail .book-structural-left,
#book-detail .book-structural-information,
#book-detail .book-structural-related{
  padding:16px;
}
#book-detail .back-cover,
#book-detail .book-structural-note,
#book-detail .book-structural-representations,
#book-detail .detail-table,
#book-detail .flat-related-section{
  background:#f8f7fb;
  border:1px solid #ebe7f2;
  border-radius:16px;
}
#book-detail .back-cover,
#book-detail .book-structural-note,
#book-detail .book-structural-representations,
#book-detail .flat-related-section{
  padding:16px;
}
#book-detail .detail-table{
  overflow:hidden;
}
#book-detail .detail-row{
  padding-inline:14px;
}
#book-detail .book-structural-cover .detail-cover{
  background:#f8f7fb;
  border:1px solid #ebe7f2;
  border-radius:18px;
  padding:14px;
}
@media (max-width:800px){
  #book-detail .book-structural-grid{
    padding:16px;
    border-radius:20px;
    gap:16px;
  }
  #book-detail .book-structural-summary,
  #book-detail .book-structural-author,
  #book-detail .book-structural-left,
  #book-detail .book-structural-information,
  #book-detail .book-structural-related{
    padding:10px;
  }
}
@media (max-width:520px){
  #book-detail .book-structural-grid{
    padding:10px;
    border-radius:16px;
  }
}
/* V5.15 — fiche maison d'édition enrichie */
.publisher-detail-complete .publisher-detail-slogan{
  margin:.35rem 0 .55rem;
  font-size:1.08rem;
  font-style:italic;
  font-weight:650;
  color:var(--muted);
}
.publisher-detail-complete .publisher-detail-place{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  align-items:center;
}
.publisher-detail-complete>section{
  background:#f8f7fb;
  border:1px solid #ebe7f2;
  border-radius:16px;
  padding:16px;
  margin-top:16px;
}
.publisher-social-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.publisher-social-link{
  text-decoration:none;
}
/* V5.16 — maisons d'édition : slogan lisible + drapeaux fiables */
#publisher-grid .publisher-card{
  height:330px;
  min-height:330px;
}
#publisher-grid .publisher-card>img,
#publisher-grid .publisher-card>.publisher-placeholder{
  height:155px;
  min-height:155px;
  flex-basis:155px;
}
#publisher-grid .publisher-card-body{
  flex:1 1 auto;
  min-height:0;
  justify-content:flex-start;
  padding:14px 16px 18px;
  overflow:hidden;
}
#publisher-grid .publisher-card-body h2{
  flex:0 0 auto;
  margin-bottom:8px;
}
#publisher-grid .publisher-card-slogan{
  flex:0 1 auto;
  line-height:1.35;
  max-height:4.05em;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow-wrap:anywhere;
}
.publisher-detail-place{
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  gap:7px!important;
}
.publisher-country{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.publisher-place-separator{opacity:.6}
.country-flag-img{
  display:inline-block!important;
  width:24px!important;
  height:18px!important;
  min-width:24px;
  object-fit:cover!important;
  border-radius:2px!important;
  margin:0!important;
  padding:0!important;
  box-shadow:0 0 0 1px rgba(0,0,0,.08);
  vertical-align:middle;
}
@media (max-width:700px){
  #publisher-grid .publisher-card{
    height:315px;
    min-height:315px;
  }
  #publisher-grid .publisher-card>img,
  #publisher-grid .publisher-card>.publisher-placeholder{
    height:145px;
    min-height:145px;
    flex-basis:145px;
  }
}
/* V5.17 — tags des ressources pédagogiques */
#ped-grid .pedagogical-card{
  height:340px;
  min-height:340px;
}
#ped-grid .pedagogical-card>img,
#ped-grid .pedagogical-card>.pedagogical-card-placeholder{
  width:100%;
  height:140px;
  min-height:140px;
  flex:0 0 140px;
}
#ped-grid .pedagogical-card>.pedagogical-card-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2.4rem;
  background:#f8f7fb;
}
#ped-grid .pedagogical-card-body{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  padding:13px 14px 14px;
  overflow:hidden;
}
#ped-grid .pedagogical-card-type{
  display:flex;
  flex:0 0 auto;
  margin-bottom:7px;
}
#ped-grid .pedagogical-card-type .tag{
  max-width:100%;
}
#ped-grid .pedagogical-card h2{
  margin:0 0 5px;
  line-height:1.2;
  flex:0 0 auto;
}
#ped-grid .pedagogical-card-audience{
  margin:0 0 8px;
  flex:0 0 auto;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#ped-grid .pedagogical-card .pedagogical-card-tags{
  margin-top:auto;
  max-height:none;
  overflow:visible;
  display:flex;
  flex-wrap:wrap;
  align-content:flex-end;
  gap:6px;
  min-height:31px;
}
#ped-grid .pedagogical-card .pedagogical-card-tags .tag{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  min-height:27px;
  padding:4px 8px;
  line-height:1.15;
  white-space:normal;
  overflow-wrap:anywhere;
}
#ped-grid .pedagogical-more-tag{
  font-weight:800;
  background:#ece8f8;
}
@media (max-width:700px){
  #ped-grid .pedagogical-card{
    height:330px;
    min-height:330px;
  }
  #ped-grid .pedagogical-card>img,
  #ped-grid .pedagogical-card>.pedagogical-card-placeholder{
    height:130px;
    min-height:130px;
    flex-basis:130px;
  }
}
/* V5.18 — slogan complet sur les vignettes des maisons d'édition */
#publisher-grid{
  align-items:stretch;
}
#publisher-grid .publisher-card{
  height:360px;
  min-height:360px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
#publisher-grid .publisher-card>img,
#publisher-grid .publisher-card>.publisher-placeholder{
  height:135px;
  min-height:135px;
  flex:0 0 135px;
  object-fit:contain;
}
#publisher-grid .publisher-card-body{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:14px 16px 18px;
  overflow:visible;
}
#publisher-grid .publisher-card-body h2{
  flex:0 0 auto;
  margin:0 0 9px;
  display:block;
  overflow:visible;
  -webkit-line-clamp:unset;
  -webkit-box-orient:initial;
  line-height:1.2;
}
#publisher-grid .publisher-card-slogan{
  display:block;
  flex:0 0 auto;
  margin:0;
  max-height:none;
  overflow:visible;
  -webkit-line-clamp:unset;
  -webkit-box-orient:initial;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:1.35;
}
@media (max-width:700px){
  #publisher-grid .publisher-card{
    height:350px;
    min-height:350px;
  }
  #publisher-grid .publisher-card>img,
  #publisher-grid .publisher-card>.publisher-placeholder{
    height:125px;
    min-height:125px;
    flex-basis:125px;
  }
}
/* V5.19 — fiche Livre : maison d'édition liée et ordre des actions */
#book-detail .book-publisher-link{
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}
#book-detail .book-structural-representations{
  margin-bottom:14px;
}
#book-detail .book-structural-loan{
  margin-top:0;
}
/* V5.20 — Webtoons */
.webtoon-platform{display:flex;align-items:center;gap:10px;margin:12px 0}
.webtoon-platform img{width:34px;height:34px;object-fit:contain;border-radius:8px;background:#fff;border:1px solid var(--line);padding:3px}
.webtoon-detail-card .extended-detail-main>section{background:#f8f7fb;border:1px solid #ebe7f2;border-radius:16px;padding:16px;margin-top:14px}
/* V5.21 — prévisualisation image Webtoon dans Administration */
.webtoon-admin-image-preview{
  margin-top:10px;
  width:150px;
  max-width:100%;
  min-height:0;
}
.webtoon-admin-image-preview img{
  display:block;
  width:150px;
  max-width:100%;
  height:200px;
  object-fit:contain;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:6px;
}
@media (max-width:600px){
  .webtoon-admin-image-preview,
  .webtoon-admin-image-preview img{
    width:130px;
  }
  .webtoon-admin-image-preview img{
    height:175px;
  }
}
/* V5.22 — fiche Webtoon harmonisée avec les fiches Livre */
.webtoon-booklike-card{background:#f6f3f9;border:1px solid #e6dfed;border-radius:24px;padding:22px}
.webtoon-booklike-grid{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);grid-template-areas:"cover summary" "representations info" "actions info" "note info";gap:22px 28px;align-items:start}
.webtoon-booklike-cover{grid-area:cover}.webtoon-booklike-summary{grid-area:summary}.webtoon-booklike-representations{grid-area:representations}.webtoon-booklike-info{grid-area:info}.webtoon-booklike-actions{grid-area:actions}.webtoon-booklike-note{grid-area:note}
.webtoon-booklike-cover img{display:block;width:100%;max-height:390px;object-fit:contain;border-radius:18px;background:#fff}
.webtoon-booklike-summary h1{margin-top:0}.webtoon-booklike-representations,.webtoon-booklike-info,.webtoon-booklike-note{background:#fff;border:1px solid #e7e1eb;border-radius:18px;padding:17px}
.webtoon-booklike-representations h2,.webtoon-booklike-info h2,.webtoon-booklike-note h2{margin-top:0}.webtoon-booklike-representations h3{margin:15px 0 7px}.webtoon-booklike-actions{display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:760px){.webtoon-booklike-card{padding:15px}.webtoon-booklike-grid{grid-template-columns:1fr;grid-template-areas:"cover" "summary" "representations" "info" "actions" "note"}.webtoon-booklike-cover{max-width:260px;margin:auto}}
/* V5.23 — un Webtoon reprend exactement la structure visuelle d'une fiche Livre */
#webtoon-detail .book-structural-grid{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:0 12px 34px rgba(25,20,55,.08);
  padding:24px;
  gap:22px;
  overflow:hidden;
}
#webtoon-detail .book-structural-cover,
#webtoon-detail .book-structural-summary,
#webtoon-detail .book-structural-author,
#webtoon-detail .book-structural-left,
#webtoon-detail .book-structural-information,
#webtoon-detail .book-structural-related{min-width:0}
#webtoon-detail .book-structural-representations,
#webtoon-detail .book-structural-note,
#webtoon-detail .webtoon-specific-public,
#webtoon-detail .flat-related-section{
  background:#f8f7fb;
  border:1px solid #ebe7f2;
  border-radius:16px;
  padding:16px;
}
#webtoon-detail .webtoon-specific-public{margin-top:16px}
#webtoon-detail .webtoon-specific-public h3{margin-top:0}
#webtoon-detail .webtoon-link-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}
#webtoon-detail .book-cover img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain}
.webtoon-specific-admin{background:#f8f7fb;border:1px solid #ebe7f2;border-radius:16px;padding:16px}
.webtoon-specific-admin>.admin-form-grid{margin-top:10px}
@media (max-width:800px){#webtoon-detail .book-structural-grid{padding:16px;border-radius:20px}}
/* V5.24 — maison d’édition sur la fiche Livre */
.book-publisher-feature{margin-top:14px;background:#f8f7fb;border:1px solid #ebe7f2;border-radius:16px;padding:16px;text-align:center}
.book-publisher-feature h2{margin:0 0 12px}
.book-publisher-logo-link{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;max-width:220px;text-decoration:none;color:inherit}
.book-publisher-logo-link img{display:block;max-width:180px;width:auto;height:auto;max-height:90px;object-fit:contain}
.book-publisher-logo-link:hover strong{text-decoration:underline}
.book-publisher-logo-placeholder{font-size:2.3rem}
/* V5.25 — création commune Livre / Webtoon */
.work-kind-field{background:#f3eef8;border:1px solid #dfd3ea;border-radius:16px;padding:14px}
.work-kind-field select{max-width:280px;font-weight:700}
#book-webtoon-specific[hidden]{display:none!important}
.catalogue-like-webtoon-card{height:100%;text-decoration:none}
.catalogue-like-webtoon-card .book-cover{aspect-ratio:2/3;overflow:hidden}
.catalogue-like-webtoon-card .book-cover img{width:100%;height:100%;object-fit:cover}
.catalogue-like-webtoon-card .book-body{display:flex;flex-direction:column;min-height:180px}
.catalogue-like-webtoon-card .tags{margin-top:auto}
/* V5.26 — compatibilité éditeurs Livre / Webtoon */
#webtoon-detail .webtoon-publisher-feature{margin-top:14px}
#webtoon-detail .book-publisher-logo-link,
#book-detail .book-publisher-logo-link{text-decoration:none}
#webtoon-detail .book-publisher-logo-link img,
#book-detail .book-publisher-logo-link img{display:block;max-width:150px;max-height:90px;object-fit:contain;margin:0 auto 8px}
/* V5.27 — logo éditeur sans titre redondant */
.book-publisher-feature{display:flex;justify-content:center;align-items:center;margin-top:14px}
.book-publisher-logo-link{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;max-width:190px;text-align:center}
.book-publisher-logo-link .book-publisher-logo-img,
.book-publisher-logo-link img{width:auto!important;height:auto!important;max-width:160px!important;max-height:95px!important;object-fit:contain!important}
.book-publisher-logo-link strong{display:block}
/* V5.36 — harmonisation finale de la fiche Webtoon */
#webtoon-detail .book-structural-author-content .author-card-under-cover{width:100%}
#webtoon-detail .webtoon-specific-public{margin-top:16px}
#webtoon-detail .report-error-btn{margin-top:14px;width:100%}
#webtoon-detail .book-structural-related:empty{display:none}
/* V5.37 — couvertures complètes et séries mixtes Livre / Webtoon */
#book-detail .book-structural-cover .book-cover{
  background:#f8f7fb;
}
#book-detail .book-structural-cover .book-cover>img{
  object-fit:contain!important;
  object-position:center!important;
}
#book-detail .book-structural-cover .detail-cover{
  overflow:visible;
}
.related-kind-label{
  display:block;
  margin-top:4px;
  font-size:.74rem;
  font-weight:700;
  color:var(--muted);
}
/* V5.38 — auteur·ices Webtoon et rubrique Webtoon liée */
#webtoon-detail .book-structural-author-content{
  display:grid;
  gap:12px;
}
#webtoon-detail .author-card-under-cover{
  width:100%;
  box-sizing:border-box;
}
/* V5.40 — vignettes harmonisées + Autres médias compacts */

/* Webtoons et ressources pédagogiques : même grille et mêmes proportions que les livres */
#webtoon-grid,
#ped-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
  align-items:stretch!important;
}
#webtoon-grid .webtoon-card,
#ped-grid .pedagogical-card{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:none!important;
}
#webtoon-grid .webtoon-card:hover,
#ped-grid .pedagogical-card:hover,
#ped-grid .pedagogical-card:focus-visible{
  transform:translateY(-4px)!important;
  box-shadow:var(--shadow)!important;
}
#webtoon-grid .webtoon-card .book-cover,
#ped-grid .pedagogical-card .book-cover{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  flex:0 0 auto!important;
  aspect-ratio:3/4!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#fde4ef,#dfd7ff,#d5f1e5)!important;
}
#webtoon-grid .webtoon-card .book-cover img,
#ped-grid .pedagogical-card .book-cover img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  border-radius:0!important;
  padding:0!important;
  background:transparent!important;
}
#ped-grid .pedagogical-card .pedagogical-book-cover img{
  object-fit:contain!important;
  background:#fff!important;
  padding:8px!important;
}
#webtoon-grid .webtoon-card .book-body,
#ped-grid .pedagogical-card .book-body{
  flex:1 1 auto!important;
  min-height:175px!important;
  max-height:none!important;
  padding:14px!important;
  overflow:visible!important;
  display:flex!important;
  flex-direction:column!important;
}
#webtoon-grid .webtoon-card .book-body h3,
#ped-grid .pedagogical-card .book-body h3{
  margin:0 0 6px!important;
  font-size:1.08rem!important;
  line-height:1.25!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
#ped-grid .pedagogical-card .pedagogical-card-tags,
#webtoon-grid .webtoon-card .tags{
  margin-top:auto!important;
  max-height:none!important;
  overflow:visible!important;
  align-content:flex-start!important;
}
#ped-grid .pedagogical-type-tag{
  font-weight:800!important;
  background:#e8e1fb!important;
  color:#4f36aa!important;
}

/* Autres médias : cartes plus compactes */
.media-category-group-grid,
#media-grid.media-grid{
  grid-template-columns:repeat(auto-fill,minmax(250px,280px))!important;
  justify-content:start!important;
  gap:14px!important;
}
#media-grid .media-card,
.media-carousel-track .media-card{
  grid-template-columns:92px minmax(0,1fr)!important;
  width:270px!important;
  min-width:270px!important;
  max-width:270px!important;
  height:238px!important;
  min-height:238px!important;
  max-height:238px!important;
  flex:0 0 270px!important;
  border-radius:16px!important;
}
#media-grid .media-poster-link,
.media-carousel-track .media-poster-link,
#media-grid .media-card-category-header,
.media-carousel-track .media-card-category-header,
#media-grid .media-poster,
#media-grid .resource-placeholder,
.media-carousel-track .media-poster,
.media-carousel-track .resource-placeholder{
  width:92px!important;
}
#media-grid .media-card-category-header,
.media-carousel-track .media-card-category-header{
  height:62px!important;
  min-height:62px!important;
  max-height:62px!important;
  flex-basis:62px!important;
  padding:7px 5px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:5px!important;
  background:#faf9fc!important;
}
#media-grid .media-poster,
#media-grid .resource-placeholder,
.media-carousel-track .media-poster,
.media-carousel-track .resource-placeholder{
  height:176px!important;
  min-height:176px!important;
  max-height:176px!important;
  object-fit:cover!important;
}
#media-grid .media-card-body,
.media-carousel-track .media-card-body{
  height:238px!important;
  min-height:238px!important;
  max-height:238px!important;
  padding:9px!important;
}
#media-grid .media-card-body h2,
.media-carousel-track .media-card-body h2{
  font-size:.9rem!important;
  line-height:1.18!important;
  height:2.25rem!important;
  min-height:2.25rem!important;
  max-height:2.25rem!important;
  flex-basis:2.25rem!important;
}
#media-grid .media-card-bottom,
.media-carousel-track .media-card-bottom{
  height:6.65rem!important;
  min-height:6.65rem!important;
  max-height:6.65rem!important;
  grid-template-rows:3rem 3.65rem!important;
}
#media-grid .media-card-genres,
.media-carousel-track .media-card-genres{
  height:3rem!important;
  min-height:3rem!important;
  max-height:3rem!important;
}
#media-grid .platform-list,
.media-carousel-track .platform-list{
  height:3.65rem!important;
  min-height:3.65rem!important;
  max-height:3.65rem!important;
}

/* Code couleur du tag de catégorie */
.media-category-tag{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  max-width:100%!important;
  padding:4px 6px!important;
  border-radius:999px!important;
  font-size:.59rem!important;
  line-height:1.05!important;
  font-weight:900!important;
  white-space:normal!important;
}
.media-category-tag.pastel-film{background:#ffe0e8!important;color:#9b294c!important}
.media-category-tag.pastel-short{background:#fff0d1!important;color:#935c09!important}
.media-category-tag.pastel-series{background:#ebe2ff!important;color:#5d3db0!important}
.media-category-tag.pastel-report{background:#dff0ff!important;color:#24618c!important}
.media-category-tag.pastel-live{background:#ffe7d6!important;color:#9a4d18!important}
.media-category-tag.pastel-music{background:#dcf4e4!important;color:#247342!important}
.media-category-tag.pastel-podcast{background:#dff6f4!important;color:#216d68!important}
.media-category-tag.pastel-file{background:#ececf2!important;color:#555568!important}
.media-category-tag.pastel-default{background:#eee9f7!important;color:#5a4d75!important}
.media-card-age{
  font-size:.59rem!important;
}

@media (max-width:1080px){
  #webtoon-grid,#ped-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:760px){
  #webtoon-grid,#ped-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  #webtoon-grid .webtoon-card .book-body,
  #ped-grid .pedagogical-card .book-body{min-height:165px!important;padding:11px!important}
}
@media (max-width:520px){
  #webtoon-grid,#ped-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  #webtoon-grid .webtoon-card .book-body h3,
  #ped-grid .pedagogical-card .book-body h3{font-size:.94rem!important}
  #ped-grid .pedagogical-card .tag,
  #webtoon-grid .webtoon-card .tag{font-size:.66rem!important;padding:3px 6px!important}
}
@media (max-width:620px){
  #media-grid .media-card,
  .media-carousel-track .media-card{
    grid-template-columns:86px minmax(0,1fr)!important;
    width:min(258px,88vw)!important;
    min-width:min(258px,88vw)!important;
    max-width:min(258px,88vw)!important;
    flex-basis:min(258px,88vw)!important;
    height:224px!important;
    min-height:224px!important;
    max-height:224px!important;
  }
  #media-grid .media-poster-link,.media-carousel-track .media-poster-link,
  #media-grid .media-card-category-header,.media-carousel-track .media-card-category-header,
  #media-grid .media-poster,#media-grid .resource-placeholder,
  .media-carousel-track .media-poster,.media-carousel-track .resource-placeholder{width:86px!important}
  #media-grid .media-card-category-header,.media-carousel-track .media-card-category-header{height:58px!important;min-height:58px!important;max-height:58px!important;flex-basis:58px!important}
  #media-grid .media-poster,#media-grid .resource-placeholder,.media-carousel-track .media-poster,.media-carousel-track .resource-placeholder{height:166px!important;min-height:166px!important;max-height:166px!important}
  #media-grid .media-card-body,.media-carousel-track .media-card-body{height:224px!important;min-height:224px!important;max-height:224px!important}
}
/* V5.41 — Webtoons et ressources pédagogiques = modèle exact des vignettes Livres */
#webtoon-grid,
#ped-grid{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:20px!important;
  align-items:stretch!important;
}
#webtoon-grid .book-card,
#ped-grid .book-card{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  background:#fff!important;
  overflow:hidden!important;
  min-width:0!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
  cursor:pointer!important;
}
#webtoon-grid .book-card:hover,
#ped-grid .book-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:var(--shadow)!important;
}
#webtoon-grid .book-cover,
#ped-grid .book-cover{
  aspect-ratio:3/4!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  flex:0 0 auto!important;
  background:linear-gradient(135deg,#fde4ef,#dfd7ff,#d5f1e5)!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  overflow:hidden!important;
  border-radius:0!important;
}
#webtoon-grid .book-cover img,
#ped-grid .book-cover img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  padding:0!important;
  margin:0!important;
  border-radius:0!important;
}
#ped-grid .pedagogical-book-cover img{
  object-fit:contain!important;
  background:#fff!important;
  padding:8px!important;
}
#webtoon-grid .book-body,
#ped-grid .book-body{
  padding:14px!important;
  display:flex!important;
  flex-direction:column!important;
  flex:1!important;
  min-height:185px!important;
  max-height:none!important;
  overflow:visible!important;
}
#webtoon-grid .book-heading,
#ped-grid .book-heading{
  min-height:64px!important;
}
#webtoon-grid .book-heading h3,
#ped-grid .book-heading h3{
  font-size:1.08rem!important;
  line-height:1.25!important;
  margin:0 0 6px!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
#webtoon-grid .book-heading .meta,
#ped-grid .book-heading .meta{
  color:var(--muted)!important;
  font-size:.88rem!important;
  line-height:1.25!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
#webtoon-grid .book-fixed-tags,
#ped-grid .book-fixed-tags{
  display:flex!important;
  flex-wrap:wrap!important;
  align-content:flex-start!important;
  gap:6px!important;
  margin-top:auto!important;
  min-height:64px!important;
}
#webtoon-grid .book-fixed-tags .tag,
#ped-grid .book-fixed-tags .tag{
  padding:4px 8px!important;
  border-radius:999px!important;
  font-size:.75rem!important;
  line-height:1.15!important;
}
#webtoon-grid .webtoon-status-tag{
  background:#e8f3ff!important;
  color:#295d8d!important;
}
#ped-grid .pedagogical-type-tag{
  background:#e9e2fb!important;
  color:#5239a9!important;
  font-weight:800!important;
}
#ped-grid .pedagogical-audience-tag{
  background:#e7f5ec!important;
  color:#2f7044!important;
}

/* Autres médias compacts + tags catégorie colorés */
#media-grid .media-card,
.media-carousel-track .media-card{
  width:260px!important;
  min-width:260px!important;
  max-width:260px!important;
  flex:0 0 260px!important;
  height:230px!important;
  min-height:230px!important;
  max-height:230px!important;
  grid-template-columns:88px minmax(0,1fr)!important;
}
#media-grid .media-poster-link,
.media-carousel-track .media-poster-link,
#media-grid .media-card-category-header,
.media-carousel-track .media-card-category-header,
#media-grid .media-poster,
#media-grid .resource-placeholder,
.media-carousel-track .media-poster,
.media-carousel-track .resource-placeholder{
  width:88px!important;
}
#media-grid .media-card-category-header,
.media-carousel-track .media-card-category-header{
  height:60px!important;
  min-height:60px!important;
  max-height:60px!important;
  flex-basis:60px!important;
  padding:6px 5px!important;
  background:#faf9fc!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:5px!important;
}
#media-grid .media-poster,
#media-grid .resource-placeholder,
.media-carousel-track .media-poster,
.media-carousel-track .resource-placeholder{
  height:170px!important;
  min-height:170px!important;
  max-height:170px!important;
}
#media-grid .media-card-body,
.media-carousel-track .media-card-body{
  height:230px!important;
  min-height:230px!important;
  max-height:230px!important;
  padding:8px!important;
}
.media-category-tag{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  max-width:100%!important;
  padding:4px 6px!important;
  border-radius:999px!important;
  font-size:.58rem!important;
  line-height:1.05!important;
  font-weight:900!important;
  white-space:normal!important;
}
.media-category-tag.pastel-film{background:#ffe0e8!important;color:#9b294c!important}
.media-category-tag.pastel-short{background:#fff0d1!important;color:#935c09!important}
.media-category-tag.pastel-series{background:#ebe2ff!important;color:#5d3db0!important}
.media-category-tag.pastel-report{background:#dff0ff!important;color:#24618c!important}
.media-category-tag.pastel-live{background:#ffe7d6!important;color:#9a4d18!important}
.media-category-tag.pastel-music{background:#dcf4e4!important;color:#247342!important}
.media-category-tag.pastel-podcast{background:#dff6f4!important;color:#216d68!important}
.media-category-tag.pastel-file{background:#ececf2!important;color:#555568!important}
.media-category-tag.pastel-default{background:#eee9f7!important;color:#5a4d75!important}

@media (max-width:1080px){
  #webtoon-grid,#ped-grid{grid-template-columns:repeat(3,1fr)!important}
}
@media (max-width:760px){
  #webtoon-grid,#ped-grid{grid-template-columns:repeat(2,1fr)!important;gap:14px!important}
}
@media (max-width:520px){
  #webtoon-grid,#ped-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  #webtoon-grid .book-body,#ped-grid .book-body{padding:10px!important;min-height:170px!important}
  #webtoon-grid .book-heading h3,#ped-grid .book-heading h3{font-size:.94rem!important}
  #webtoon-grid .book-fixed-tags .tag,#ped-grid .book-fixed-tags .tag{font-size:.65rem!important;padding:3px 6px!important}
}
@media (max-width:620px){
  #media-grid .media-card,.media-carousel-track .media-card{
    width:min(248px,88vw)!important;
    min-width:min(248px,88vw)!important;
    max-width:min(248px,88vw)!important;
    flex-basis:min(248px,88vw)!important;
    height:220px!important;
    min-height:220px!important;
    max-height:220px!important;
    grid-template-columns:84px minmax(0,1fr)!important;
  }
}
/* V5.42 — métadonnées de série */
.book-series-metadata{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:10px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#faf9fc;
}
.book-series-metadata[hidden]{display:none!important}
.book-series-metadata .field{margin:0}
@media (max-width:620px){.book-series-metadata{grid-template-columns:1fr}}
/* V5.46 — Webtoons de la même série sur la fiche Livre */
.book-series-webtoons .flat-related-list{
  display:flex;
  gap:12px;
  overflow-x:auto;
  padding:2px 2px 8px;
  scroll-snap-type:x proximity;
}
.book-series-webtoon-card{
  flex:0 0 138px;
  scroll-snap-align:start;
}
.book-series-webtoon-card .flat-related-cover{
  aspect-ratio:2/3;
}
.book-series-webtoon-card .flat-related-cover img{
  width:100%;
  height:100%;
  object-fit:contain;
}


/* V5.52 — maisons d'édition, filtres, crédits et Webtoon */
.publisher-admin-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(5,minmax(145px,1fr));gap:9px;margin:0 0 12px}
.publisher-admin-filters input,.publisher-admin-filters select{width:100%;min-width:0}
.publisher-structure-fieldset{background:#f8f7fb;border:1px solid #ebe7f2;border-radius:16px;padding:16px}
.publisher-structure-fieldset .admin-form-grid{margin-top:8px}
.platform-admin-preview{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:700}
.platform-admin-preview[hidden]{display:none!important}.platform-admin-preview img{width:28px;height:28px;object-fit:contain;border-radius:7px}
.book-credit-line{line-height:1.35}
.publisher-filter-row{align-items:stretch}
#publisher-grid .publisher-card-body{display:grid!important;grid-template-rows:minmax(48px,auto) 82px 36px;align-content:start;gap:7px}
#publisher-grid .publisher-card-body h2{margin:0!important;align-self:start}
#publisher-grid .publisher-card-slogan-slot{height:82px;overflow:hidden;display:flex;align-items:flex-start}
#publisher-grid .publisher-card-slogan{margin:0!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:4!important;overflow:hidden!important}
#publisher-grid .publisher-card-fixed-tags{display:flex;gap:6px;align-items:center;overflow:hidden;white-space:nowrap;min-height:32px}
#publisher-grid .publisher-card-fixed-tags .tag{font-size:.76rem;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.publisher-card-tag-placeholder{display:block;min-height:28px}
.publisher-detail-tags{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}
.publisher-social-icon-links{display:flex;flex-wrap:wrap;gap:10px}
.publisher-social-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);transition:transform .15s ease,box-shadow .15s ease}
.publisher-social-icon:hover,.publisher-social-icon:focus-visible{transform:translateY(-2px);box-shadow:0 8px 18px rgba(25,20,55,.12)}
.publisher-social-icon svg{width:22px;height:22px;fill:currentColor;stroke:currentColor;stroke-width:1.7}.publisher-social-icon svg .social-icon-cutout{fill:#fff;stroke:none}
.book-series-webtoons .flat-related-list{justify-content:safe center}
.personality-right-section .personality-related-carousel{justify-content:safe center}
.publisher-webtoon-grid{display:flex!important;flex-wrap:wrap;justify-content:center}.publisher-webtoon-grid>.book-card{width:min(220px,100%);flex:0 1 220px}
@media (max-width:1180px){.publisher-admin-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.publisher-admin-filters input{grid-column:1/-1}}
@media (max-width:700px){.publisher-admin-filters{grid-template-columns:1fr}.publisher-admin-filters input{grid-column:auto}#publisher-grid .publisher-card-body{grid-template-rows:minmax(46px,auto) 78px 36px}.publisher-filters-panel .filters-row{grid-template-columns:1fr}}

/* V5.53 — vignettes maisons d'édition : centrage et rythme typographique */
#publisher-grid .publisher-card-body{
  grid-template-rows:minmax(48px,auto) 48px 36px;
  text-align:center;
}
#publisher-grid .publisher-card-body h2{
  width:100%;
  text-align:center;
}
#publisher-grid .publisher-card-slogan-slot{
  height:48px;
  width:100%;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow:hidden;
}
#publisher-grid .publisher-card-slogan{
  width:100%;
  text-align:center;
  line-height:1.4;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}
#publisher-grid .publisher-card-fixed-tags{
  width:100%;
  flex-wrap:nowrap;
  justify-content:center;
  white-space:nowrap;
}
#publisher-grid .publisher-card-fixed-tags .tag{
  flex:0 1 auto;
  max-width:calc(50% - 3px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width:700px){
  #publisher-grid .publisher-card-body{grid-template-rows:minmax(46px,auto) 48px 36px}
}

/* V5.54 — vignettes maisons d'édition : centrage pleine largeur + tags indivisibles */
#publisher-grid{
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
}
#publisher-grid .publisher-card-body{
  width:100%;
  box-sizing:border-box;
  align-items:center;
  text-align:center;
}
#publisher-grid .publisher-card-body h2,
#publisher-grid .publisher-card-slogan-slot,
#publisher-grid .publisher-card-slogan{
  width:100%;
  max-width:none;
  box-sizing:border-box;
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
#publisher-grid .publisher-card-body h2{
  justify-self:stretch;
}
#publisher-grid .publisher-card-slogan-slot{
  align-items:flex-start;
  justify-content:center;
}
#publisher-grid .publisher-card-slogan{
  line-height:1.35;
  -webkit-line-clamp:2!important;
}
#publisher-grid .publisher-card-fixed-tags{
  width:100%;
  min-width:0;
  display:flex;
  flex-flow:row nowrap!important;
  justify-content:center;
  align-items:center;
  gap:6px;
  white-space:nowrap!important;
  overflow:visible!important;
}
#publisher-grid .publisher-card-fixed-tags .tag{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:max-content;
  max-width:none!important;
  padding:4px 7px;
  font-size:.72rem;
  line-height:1.15;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
@media (max-width:700px){
  #publisher-grid{grid-template-columns:1fr}
  #publisher-grid .publisher-card-fixed-tags{gap:5px}
  #publisher-grid .publisher-card-fixed-tags .tag{font-size:.68rem;padding:4px 6px}
}

/* V5.58 — vignettes maisons d'édition : nom et slogan centrés */
#publisher-grid > .publisher-card > .publisher-card-body > h2{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
  text-align:center!important;
  justify-self:stretch!important;
}
#publisher-grid > .publisher-card > .publisher-card-body > .publisher-card-slogan-slot,
#publisher-grid > .publisher-card > .publisher-card-body > .publisher-card-slogan-slot > .publisher-card-slogan{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  text-align:center!important;
}


/* V5.59 — Administration harmonisée : Webtoons, ressources pédagogiques, maisons d'édition */
.admin-section-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom:14px;
}
.admin-section-heading h2{margin-bottom:4px}
.admin-section-heading p{margin-top:0}
.admin-section-count{white-space:nowrap;font-weight:700}
.admin-filters-standard,
#publishers-panel .publisher-admin-filters{
  display:grid;
  grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(150px,1fr)) auto;
  gap:10px;
  align-items:center;
  margin:14px 0 18px;
}
#publishers-panel .publisher-admin-filters{
  grid-template-columns:minmax(220px,1.6fr) repeat(5,minmax(140px,1fr));
  margin-bottom:10px;
}
.admin-content-table td{vertical-align:middle}
.admin-table-thumb,
.admin-table-thumb-placeholder{
  display:block;
  width:52px;
  height:68px;
  border-radius:8px;
  object-fit:cover;
  background:rgba(0,0,0,.06);
}
#publisher-admin-list .admin-table-thumb,
#publisher-admin-list .admin-table-thumb-placeholder{
  width:68px;
  height:52px;
  object-fit:contain;
}
.admin-cell-subline{
  margin-top:4px;
  max-width:340px;
  line-height:1.35;
}
.admin-row-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.admin-row-actions .btn{white-space:nowrap}
.admin-editor-sheet:not([hidden]){
  position:fixed;
  z-index:1200;
  top:4vh;
  left:50%;
  transform:translateX(-50%);
  width:min(980px,calc(100vw - 32px));
  max-height:92vh;
  overflow:auto;
  margin:0;
  padding:24px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:18px;
  background:var(--surface,#fff);
  box-shadow:0 24px 80px rgba(0,0,0,.28);
}
.admin-editor-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  position:sticky;
  top:-24px;
  z-index:3;
  margin:-24px -24px 16px;
  padding:20px 24px 14px;
  background:var(--surface,#fff);
  border-bottom:1px solid rgba(0,0,0,.08);
}
.admin-editor-heading h2{margin:0 0 2px}
.admin-editor-heading p{margin:0}
@media (max-width:1050px){
  .admin-filters-standard,
  #publishers-panel .publisher-admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .admin-section-heading{display:block}
  .admin-section-count{margin-top:8px}
  .admin-filters-standard,
  #publishers-panel .publisher-admin-filters{grid-template-columns:1fr}
  .admin-editor-sheet:not([hidden]){top:2vh;max-height:96vh;width:calc(100vw - 18px);padding:18px}
  .admin-editor-heading{top:-18px;margin:-18px -18px 14px;padding:16px 18px 12px}
}


/* V5.60 — Annuaire Associations LGBTQIA+ */
.association-directory-filters{margin-bottom:24px}
.association-directory-filter-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(150px,1fr));
  gap:10px;
}
.association-directory-head{margin-top:6px}
.association-directory-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:20px;
  align-items:stretch;
}
.association-directory-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
  padding:20px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  background:var(--surface,#fff);
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}
.association-directory-card-head{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.association-directory-logo{
  flex:0 0 104px;
  width:104px;
  height:104px;
  border-radius:16px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:rgba(0,0,0,.045);
  font-size:1.6rem;
}
.association-directory-logo img{width:100%;height:100%;object-fit:contain;padding:3px;box-sizing:border-box}
.association-directory-title{min-width:0}
.association-directory-title h3{margin:0;line-height:1.2}
.association-directory-title p{margin:4px 0 0}
.association-directory-tags{display:flex;flex-wrap:wrap;gap:6px}
.association-directory-tags .tag{white-space:nowrap}
.association-directory-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.9rem;font-weight:650}
.association-directory-description{margin:0;line-height:1.55}
.association-directory-services{
  padding:12px 14px;
  border-radius:12px;
  background:rgba(0,0,0,.035);
}
.association-directory-services p{margin:4px 0 0;line-height:1.45}
.association-directory-contacts{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:auto;
  padding-top:2px;
}
.association-contact-icon{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  text-decoration:none;
  border:1px solid currentColor;
  font-weight:800;
}
.association-directory-empty{grid-column:1/-1}
.community-association-extra-category{margin-top:12px}
.admin-mini-tag{display:inline-block;margin:2px 2px 2px 0;font-size:.72rem}
.community-association-admin-filters{
  grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(150px,1fr)) auto;
}
.community-association-dialog .dialog-inner{max-width:1040px}

@media (max-width:1050px){
  .association-directory-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .community-association-admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .association-directory-filter-row,
  .community-association-admin-filters{grid-template-columns:1fr}
  .association-directory-grid{grid-template-columns:1fr}
}

/* V5.61 — logos Associations plus grands */
@media (max-width:700px){.association-directory-logo{flex-basis:88px;width:88px;height:88px}}


/* V5.62 — vignettes Associations cliquables + fiche détail */
.association-directory-card-link{
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.association-directory-card-link:hover,
.association-directory-card-link:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(0,0,0,.10);
  outline:none;
}
.association-detail-card{
  display:flex;
  flex-direction:column;
  gap:28px;
}
.association-detail-hero{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:28px;
  align-items:center;
  padding:24px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:20px;
  background:var(--surface,#fff);
}
.association-detail-logo{
  width:180px;
  height:180px;
  display:grid;
  place-items:center;
  border-radius:20px;
  overflow:hidden;
  background:rgba(0,0,0,.045);
  font-size:3rem;
}
.association-detail-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:12px;
  box-sizing:border-box;
}
.association-detail-heading h2{
  margin:0;
  font-size:clamp(1.8rem,4vw,2.8rem);
}
.association-detail-acronym{margin:6px 0 14px;font-weight:700}
.association-detail-location{margin:14px 0 0;font-weight:650}
.association-detail-contacts{margin-top:16px}
.association-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);
  gap:26px;
}
.association-detail-main,
.association-detail-aside{
  padding:22px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  background:var(--surface,#fff);
}
.association-detail-main section+section{margin-top:26px}
.association-detail-main h2,
.association-detail-aside h2{margin-top:0}
.association-detail-text{white-space:pre-line;line-height:1.65}
.association-detail-aside dl{margin:0}
.association-detail-aside dl>div{
  padding:12px 0;
  border-top:1px solid rgba(0,0,0,.08);
}
.association-detail-aside dl>div:first-child{border-top:0;padding-top:0}
.association-detail-aside dt{font-weight:750}
.association-detail-aside dd{margin:4px 0 0}
@media (max-width:760px){
  .association-detail-hero{grid-template-columns:1fr;text-align:center}
  .association-detail-logo{margin:auto}
  .association-detail-heading .association-directory-tags,
  .association-detail-heading .association-directory-contacts{justify-content:center}
  .association-detail-grid{grid-template-columns:1fr}
}

/* V5.64 — accès gratuit en ligne des livres */
.book-free-online-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}


/* V5.67 — pagination du catalogue, 40 livres par page */
.catalog-pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:30px 0 8px;
}
.catalog-page-btn{
  min-width:40px;
  height:40px;
  padding:0 12px;
  border:1px solid rgba(0,0,0,.16);
  border-radius:10px;
  background:var(--surface,#fff);
  color:inherit;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
.catalog-page-btn:hover:not(:disabled),
.catalog-page-btn:focus-visible{
  border-color:currentColor;
  outline:none;
}
.catalog-page-btn.active{
  background:var(--purple,#6f3fc5);
  color:#fff;
  border-color:transparent;
}
.catalog-page-btn:disabled{
  opacity:.4;
  cursor:not-allowed;
}
.catalog-page-ellipsis{
  min-width:24px;
  text-align:center;
  font-weight:700;
}


/* =========================================================
   PETIT CANARD V5.68 — CHARTE GRAPHIQUE 2026
   Éditoriale, chaleureuse, inclusive, accessible.
   ========================================================= */
:root{
  --pc-ink:#252238;
  --pc-muted:#6f6a7b;
  --pc-paper:#fffdfb;
  --pc-canvas:#f8f5fb;
  --pc-line:#e8e1ec;
  --pc-violet:#7465c7;
  --pc-violet-deep:#51439b;
  --pc-lilac:#eee9ff;
  --pc-rose:#e88ca8;
  --pc-rose-soft:#fbe8ef;
  --pc-mint:#6fb3ac;
  --pc-mint-soft:#e6f4f1;
  --pc-peach:#e8a87c;
  --pc-peach-soft:#fff0e5;
  --pc-yellow:#e6bd59;
  --pc-yellow-soft:#fff7d8;
  --pc-shadow-sm:0 5px 18px rgba(56,42,76,.07);
  --pc-shadow-md:0 16px 40px rgba(56,42,76,.10);
  --pc-radius-sm:12px;
  --pc-radius-md:18px;
  --pc-radius-lg:28px;
  --pc-focus:0 0 0 4px rgba(116,101,199,.18);
}
body{color:var(--pc-ink);background:var(--pc-paper)}
.site-header{background:rgba(255,253,251,.94);border-bottom-color:var(--pc-line)}
.nav-links a{border-radius:12px}
.nav-links a:hover,.nav-links a[aria-current=page]{background:var(--pc-lilac);color:var(--pc-violet-deep)}
.page-band{
  background:
    radial-gradient(circle at 88% 20%,rgba(232,140,168,.16),transparent 28%),
    radial-gradient(circle at 8% 90%,rgba(111,179,172,.14),transparent 26%),
    linear-gradient(135deg,#faf7ff 0%,#fffaf7 100%);
  border-bottom:1px solid var(--pc-line);
}
.page-band h1{font-family:var(--font-voice);font-weight:400;color:var(--pc-ink)}
.btn{border-radius:12px;font-weight:750}
.btn-purple{background:var(--pc-violet);border-color:var(--pc-violet);color:#fff}
.btn-purple:hover{background:var(--pc-violet-deep);border-color:var(--pc-violet-deep)}
.btn-outline{border-color:var(--pc-line);background:#fff;color:var(--pc-ink)}
input,select,textarea{
  border-color:var(--pc-line)!important;
  border-radius:12px!important;
  background:#fff;
}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{
  outline:none;
  box-shadow:var(--pc-focus);
}
.media-filter-panel,.catalog-filters-panel,.catalog-toolbar{
  background:var(--pc-canvas);
  border:1px solid var(--pc-line);
  border-radius:var(--pc-radius-md);
  padding:14px;
  box-shadow:none;
}
.resource-type-strip{
  gap:8px;
  padding:8px 0 18px;
}
.resource-type{
  border:1px solid var(--pc-line);
  background:#fff;
  border-radius:999px;
  min-height:44px;
  font-weight:750;
  color:var(--pc-ink);
}
.resource-type.active{
  background:var(--pc-violet);
  color:#fff;
  border-color:var(--pc-violet);
  box-shadow:var(--pc-shadow-sm);
}
.media-genre-filter-wrap{
  margin:18px 0 0;
  padding:16px 18px;
  background:#fff;
  border:1px solid var(--pc-line);
  border-radius:var(--pc-radius-md);
}
.media-genre-filter-heading{
  display:flex;
  align-items:baseline;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:11px;
}
.media-genre-filter-heading strong{font-size:1rem;color:var(--pc-ink)}
.media-genre-filter-heading span{font-size:.84rem;color:var(--pc-muted)}
.media-genre-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.genre-filter-tag,.media-filter-tag{
  appearance:none;
  border:1px solid var(--pc-line);
  background:var(--pc-canvas);
  color:var(--pc-ink);
  border-radius:999px;
  min-height:36px;
  padding:7px 13px;
  font-weight:700;
  cursor:pointer;
  transition:.15s ease;
}
.genre-filter-tag:hover,.media-filter-tag:hover{border-color:var(--pc-violet);background:var(--pc-lilac)}
.genre-filter-tag.active,.media-filter-tag.active{
  background:var(--pc-violet);
  border-color:var(--pc-violet);
  color:#fff;
}
.media-card,.resource-card,.book-card,.webtoon-card,.publisher-card,.association-directory-card{
  border-color:var(--pc-line)!important;
  border-radius:var(--pc-radius-md)!important;
  box-shadow:var(--pc-shadow-sm)!important;
  background:#fff;
}
.media-card:hover,.resource-card:hover,.book-card:hover,.webtoon-card:hover,.publisher-card:hover,.association-directory-card:hover{
  box-shadow:var(--pc-shadow-md)!important;
}
.media-card h2,.book-card h2,.webtoon-card h2{color:var(--pc-ink)}
.media-card-age{
  background:var(--pc-yellow-soft);
  color:#725718;
  border:1px solid #ead48b;
  border-radius:999px;
  font-weight:800;
}
.tag,.genre-tag{
  border-radius:999px;
  border-color:var(--pc-line);
}
.section-head h2{font-family:var(--font-voice);font-weight:400}
.empty,.notice{
  border-radius:var(--pc-radius-md);
}
@media(max-width:640px){
  .media-filter-panel,.catalog-filters-panel,.catalog-toolbar{padding:12px}
  .media-genre-filter-wrap{padding:14px}
  .genre-filter-tag,.media-filter-tag{min-height:40px;padding:8px 13px}
}


/* V5.69 — Autres médias : filtres alignés sur le Catalogue Livres */
.media-catalog-filters-panel,
.media-category-filters-panel{
  margin-bottom:20px;
}
.media-catalog-filters-panel .catalog-search-row,
.media-category-filters-panel .catalog-search-row{
  margin-bottom:12px;
}
.media-catalog-filters-panel .search,
.media-category-filters-panel .search{
  width:100%;
}
.media-select-filters{
  grid-template-columns:repeat(2,minmax(180px,1fr));
}
.catalog-tag-filter-group{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--pc-line,var(--line));
}
.catalog-tag-filter-group .media-genre-filter-heading{
  margin:0 0 10px;
}
.catalog-tag-filter-group .media-genre-filter-heading strong{
  font-size:.92rem;
}
.catalog-tag-filter-group .media-genre-filter-heading span{
  color:var(--pc-muted,var(--muted));
}
.catalog-tag-filter-group .media-genre-filters{
  gap:7px;
}
.catalog-tag-filter-group .genre-filter-tag{
  background:#fff;
  border:1px solid var(--pc-line,var(--line));
  min-height:34px;
  padding:6px 12px;
}
.catalog-tag-filter-group .genre-filter-tag.active{
  background:var(--pc-violet,var(--purple));
  border-color:var(--pc-violet,var(--purple));
  color:#fff;
}
.media-catalog-filters-panel .catalog-filter-actions,
.media-category-filters-panel .catalog-filter-actions{
  margin-top:16px;
}
@media(max-width:768px){
  .media-select-filters{grid-template-columns:1fr}
}


/* V5.70 — harmonisation réelle des filtres du menu Livres */
.books-primary-filter-row{
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
}
#book-age-filter-wrap,
#book-theme-filter-wrap,
#book-character-filter-wrap,
#book-subject-filter-wrap,
#webtoon-age-filter-wrap,
#webtoon-theme-filter-wrap,
#ped-age-filter-wrap,
#ped-theme-filter-wrap{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--pc-line,var(--line));
}
#book-age-filters,
#book-theme-filters,
#book-character-filters,
#book-subject-filters,
#webtoon-age-filters,
#webtoon-theme-filters,
#ped-age-filters,
#ped-theme-filters{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.publisher-filters-panel .catalog-search-row,

@media(max-width:768px){
  .books-primary-filter-row{grid-template-columns:1fr}
}


/* V5.71 — Catalogue Livres : filtres structurants en tags */
.books-sort-row{
  display:flex;
  justify-content:flex-end;
}
.books-sort-row #sort{
  width:min(100%,260px);
}
#book-publisher-filter-wrap,
#book-category-filter-wrap,
#book-status-filter-wrap,
#webtoon-publisher-filter-wrap{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--pc-line,var(--line));
}


/* V5.72 — pages du menu Livres : filtres à gauche, résultats au centre/droite */
.books-page-layout{
  display:grid;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.books-filter-sidebar{
  min-width:0;
}
.books-filter-sidebar .catalog-filters-panel{
  position:sticky;
  top:128px;
  margin:0;
  padding:16px;
  max-height:calc(100vh - 154px);
  overflow:auto;
  scrollbar-width:thin;
}
.books-filter-sidebar .catalog-search-row{
  display:block;
}
.books-filter-sidebar .catalog-search-row .search{
  width:100%;
}
.books-filter-sidebar .filters-row,
.books-filter-sidebar .books-primary-filter-row,
.books-filter-sidebar .publisher-filter-row{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
}
.books-filter-sidebar .books-sort-row{
  display:block;
}
.books-filter-sidebar .books-sort-row #sort{
  width:100%;
}
.books-filter-sidebar .catalog-tag-filter-group{
  margin-top:14px;
  padding-top:14px;
}
.books-filter-sidebar .media-genre-filters{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.books-filter-sidebar .genre-filter-tag{
  max-width:100%;
  white-space:normal;
  text-align:left;
  line-height:1.2;
}
.books-filter-sidebar .media-genre-filter-heading{
  display:block;
}
.books-filter-sidebar .media-genre-filter-heading strong,
.books-filter-sidebar .media-genre-filter-heading span{
  display:block;
}
.books-filter-sidebar .media-genre-filter-heading span{
  margin-top:3px;
}
.books-filter-sidebar .catalog-filter-actions{
  margin-top:18px;
}
.books-filter-sidebar .catalog-filter-actions .btn{
  width:100%;
}
.books-results-column{
  min-width:0;
}
.books-results-column > p:first-child{
  margin-top:0;
}
.books-results-column .book-grid,
.books-results-column .pedagogical-grid,
.books-results-column .publisher-grid{
  width:100%;
}

/* Les résultats utilisent toute la largeur disponible à droite. */
.books-results-column .book-grid{
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
}
.books-results-column .pedagogical-grid{
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
}
.books-results-column .publisher-grid{
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
}

@media(max-width:1024px){
  .books-page-layout{
    grid-template-columns:230px minmax(0,1fr);
    gap:20px;
  }
  .books-filter-sidebar .catalog-filters-panel{
    top:116px;
  }
}
@media(max-width:768px){
  .books-page-layout{
    display:block;
  }
  .books-filter-sidebar .catalog-filters-panel{
    position:static;
    max-height:none;
    overflow:visible;
    margin-bottom:22px;
  }
  .books-filter-sidebar .genre-filter-tag{
    white-space:nowrap;
    text-align:center;
  }
}


/* V5.73 — tous les filtres du menu Livres utilisent le même langage de tags */
.books-filter-sidebar .catalog-tag-filter-group{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--pc-line,var(--line));
}
.books-filter-sidebar .catalog-tag-filter-group:first-of-type{
  margin-top:0;
}
.books-filter-sidebar .media-genre-filter-heading{
  display:block;
  margin-bottom:9px;
}
.books-filter-sidebar .media-genre-filter-heading strong{
  display:block;
  font-size:.92rem;
}
.books-filter-sidebar .media-genre-filter-heading span{
  display:block;
  margin-top:3px;
  font-size:.78rem;
  color:var(--pc-muted,var(--muted));
}
.books-filter-sidebar .media-genre-filters{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.books-filter-sidebar .genre-filter-tag{
  min-height:34px;
  padding:6px 11px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--pc-line,var(--line));
  color:var(--pc-ink,var(--ink));
  font-weight:700;
  cursor:pointer;
}
.books-filter-sidebar .genre-filter-tag.active{
  background:var(--pc-violet,var(--purple));
  border-color:var(--pc-violet,var(--purple));
  color:#fff;
}


/* V5.74 — harmonisation Catalogue / Autres médias + vignettes Livres */
.catalog-only-row{
  display:flex;
  justify-content:center;
  width:100%;
  margin:10px 0 4px;
}
.catalog-only-row .catalog-filter-btn{
  width:auto;
  max-width:100%;
  text-align:center;
}

/* Le tri devient un filtre visuel comme les autres. */
#book-sort-filter-wrap{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--pc-line,var(--line));
}

/* Sur le Catalogue, Maison d'édition est volontairement le dernier groupe. */
#book-publisher-filter-wrap{
  margin-bottom:0;
}

/* Autres médias : même colonne latérale, mêmes groupes et mêmes tags. */
.media-page-layout{
  display:grid;
  grid-template-columns:minmax(250px,300px) minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.media-filter-sidebar .catalog-filters-panel{
  position:sticky;
  top:128px;
  max-height:calc(100vh - 154px);
  overflow:auto;
}
.media-filter-sidebar .catalog-tag-filter-group{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--pc-line,var(--line));
}
.media-filter-sidebar .resource-type-strip{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  padding:0;
}
.media-filter-sidebar .resource-type{
  min-height:34px;
  padding:6px 11px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:700;
}
.media-filter-sidebar .resource-type .native-icon{
  font-size:.9rem;
}
.media-results-column{
  min-width:0;
}
.media-results-column .media-grid,
.media-results-column .resource-grid{
  width:100%;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
}

/* Vignettes Livre : plus larges, crédits sur deux lignes et actions alignées. */
#books.book-grid{
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
}
#books .book-card{
  min-width:0;
  height:100%;
}
#books .book-body{
  display:flex;
  flex-direction:column;
  min-height:0;
  height:100%;
}
#books .book-heading{
  min-width:0;
}
#books .book-heading h3{
  min-height:2.55em;
}
.book-credit-block{
  min-width:0;
}
.book-author-line,
.book-illustrator-line{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.35;
}
.book-author-line{
  font-weight:650;
}
.book-illustrator-line{
  margin-top:2px;
  color:var(--pc-muted,var(--muted));
}
#books .book-fixed-tags{
  margin-top:10px;
  gap:5px;
}
#books .book-fixed-tags .tag{
  font-size:.68rem;
  line-height:1.1;
  padding:5px 8px;
  white-space:nowrap;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
#books .book-select-control-bottom{
  margin-top:auto !important;
  padding-top:14px;
  width:100%;
}
#books .book-select-control-bottom span{
  font-size:.78rem;
}

/* Les cartes Livre liées aux maisons d'édition utilisent la même hiérarchie de crédits. */
.publisher-detail-complete .book-card .book-author-line,
.publisher-detail-complete .book-card .book-illustrator-line{
  font-size:.78rem;
}

@media(max-width:1024px){
  .media-page-layout{
    grid-template-columns:230px minmax(0,1fr);
    gap:20px;
  }
  .media-filter-sidebar .catalog-filters-panel{
    top:116px;
  }
}
@media(max-width:768px){
  .media-page-layout{
    display:block;
  }
  .media-filter-sidebar .catalog-filters-panel{
    position:static;
    max-height:none;
    overflow:visible;
    margin-bottom:22px;
  }
  .media-results-column .media-grid,
  .media-results-column .resource-grid,
  #books.book-grid{
    grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  }
}
@media(max-width:480px){
  .media-results-column .media-grid,
  .media-results-column .resource-grid,
  #books.book-grid{
    grid-template-columns:1fr;
  }
}


/* V5.76 — organisation des tags Autres médias */
.media-card-tags{
  display:grid;
  gap:8px;
  margin-top:auto;
  padding-top:10px;
}
.media-tag-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:8px;
  align-items:start;
}
.media-tag-label{
  font-size:.68rem;
  font-weight:800;
  color:var(--pc-muted,var(--muted));
  text-transform:uppercase;
  letter-spacing:.04em;
  line-height:1.9;
  white-space:nowrap;
}
.media-tag-list{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  min-width:0;
}
.media-tag-list .genre-tag,
.media-tag-list .tag,
.media-tag-list .platform-badge{
  font-size:.68rem;
  line-height:1.15;
  padding:4px 7px;
  border-radius:999px;
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:none;
}
.media-category-card .media-card-body,
.media-card .media-card-body{
  display:flex;
  flex-direction:column;
}
.media-card .media-card-topline{
  gap:6px;
}
.media-card .media-card-topline .tag,
.media-card .media-card-age{
  font-size:.7rem;
}
.media-card h2{
  margin-bottom:6px;
}
.media-card .media-creator,
.media-card .media-year,
.media-card .media-country-line{
  margin-top:2px;
  margin-bottom:2px;
}

/* Fiches équipe : vrai fond de carte, cohérent avec les autres fiches */
.association-team-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:20px;
}
.association-team-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  text-decoration:none;
  background:var(--pc-paper,#fff);
  border:1px solid var(--pc-line,var(--line));
  border-radius:var(--pc-radius-md,18px);
  box-shadow:var(--pc-shadow-sm,0 5px 18px rgba(56,42,76,.07));
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.association-team-card:hover,
.association-team-card:focus-visible{
  transform:translateY(-2px);
  box-shadow:var(--pc-shadow-md,0 16px 40px rgba(56,42,76,.10));
  outline:none;
}
.association-team-card > img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  background:var(--pc-canvas,var(--soft));
}
.association-team-card > div{
  flex:1;
  padding:16px 17px 18px;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,245,251,.92));
}
.association-team-card h2{
  margin:0 0 6px;
  font-size:1.15rem;
  line-height:1.2;
}
.association-team-role{
  margin:0 0 8px;
  font-weight:750;
  color:var(--pc-violet-deep,#51439b);
}
.association-team-card .meta{
  margin:3px 0 0;
}
@media(max-width:640px){
  .media-tag-row{
    grid-template-columns:1fr;
    gap:4px;
  }
  .media-tag-label{
    line-height:1.2;
  }
  .association-team-grid{
    grid-template-columns:1fr;
  }
}


/* V5.77 — fiche détail des membres : fond de fiche cohérent avec les cartes du site */
#association-member-detail{
  max-width:1120px;
  margin:0 auto;
}
.association-member-profile{
  position:relative;
  padding:26px;
  background:var(--pc-paper,#fff);
  border:1px solid var(--pc-line,var(--line));
  border-radius:var(--pc-radius-lg,24px);
  box-shadow:var(--pc-shadow-md,0 16px 40px rgba(56,42,76,.10));
  overflow:hidden;
}
.association-member-profile::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:7px;
  background:linear-gradient(90deg,var(--pc-violet,var(--purple)),var(--pc-rose,var(--soft-rose)),var(--pc-mint,var(--soft-mint)));
}
.association-member-profile-photo{
  background:var(--pc-canvas,var(--soft));
  border:1px solid var(--pc-line,var(--line));
  border-radius:18px;
  padding:14px;
}
.association-member-profile-photo > img{
  border-radius:14px;
  background:#fff;
}
.association-member-profile-content{
  min-width:0;
  background:linear-gradient(180deg,#fff,rgba(248,245,251,.78));
  border:1px solid var(--pc-line,var(--line));
  border-radius:18px;
  padding:24px;
}
.association-member-profile-content > section{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--pc-line,var(--line));
}
.association-member-profile-content h1{
  margin-top:0;
}
.association-member-featured-book{
  background:var(--pc-canvas,var(--soft));
  border:1px solid var(--pc-line,var(--line));
  border-radius:18px;
  padding:18px;
}
.association-member-featured-book h2{
  margin-top:0;
}
.association-member-tags-section{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--pc-line,var(--line));
}
@media(max-width:768px){
  .association-member-profile{
    padding:18px;
    border-radius:20px;
  }
  .association-member-profile-content{
    padding:18px;
  }
}


/* V5.78 — badges Autres médias plus lisibles */
.media-tag-row{
  display:block;
}
.media-tag-list{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.media-tag-label{
  display:none!important;
}

/* Badges de type média */
.media-card-topline > .tag{
  font-size:.7rem;
  font-weight:850;
  letter-spacing:.01em;
  padding:5px 9px;
  border-radius:999px;
  border:1px solid transparent;
}

/* Film : violet plus profond */
.media-card-topline > .tag:first-child{
  background:var(--pc-lilac,#eee9ff);
  color:var(--pc-violet-deep,#51439b);
  border-color:rgba(81,67,155,.18);
}

/* Court métrage : rose/corail pour une vraie différence visuelle */
body[data-media-types*="Court métrage"] .media-category-card .media-card-topline > .tag:first-child,
.media-card[data-type="Court métrage"] .media-card-topline > .tag:first-child{
  background:var(--pc-rose-soft,#fbe8ef);
  color:#a34a68;
  border-color:rgba(163,74,104,.22);
}

/* Badges âge : plus contrastés, sans couper les mots */
.media-card-age{
  background:var(--pc-yellow-soft,#fff7d8)!important;
  color:#6c5316!important;
  border:1px solid #e6cc78!important;
  font-size:.69rem!important;
  font-weight:850!important;
  line-height:1.1!important;
  padding:5px 8px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
  letter-spacing:.01em;
}

/* Tags de contenu plus légers que les badges de type */
.media-tag-list .genre-tag,
.media-tag-list .theme-tag,
.media-tag-list .tag{
  background:#f7f5fb;
  color:var(--pc-ink,#252238);
  border:1px solid var(--pc-line,#e8e1ec);
  font-size:.66rem;
  font-weight:700;
  padding:4px 7px;
}

/* Différence Film / Court métrage sur la page générale */
.media-card[data-type="Film"]{
  border-top:4px solid var(--pc-violet,#7465c7)!important;
}
.media-card[data-type="Court métrage"]{
  border-top:4px solid var(--pc-rose,#e88ca8)!important;
}

/* Si data-type n'est pas disponible, accentuer les pages dédiées */
body[data-media-types="Film,Court métrage"] .media-category-card{
  position:relative;
}
body[data-media-types="Film,Court métrage"] .media-category-card .media-card-topline > .tag:first-child{
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.02);
}


/* V5.79 — davantage d'espace et couleurs distinctes sur les tags Autres médias */

/* Le badge catégorie et le badge âge respirent davantage sur toute la largeur. */
.media-card-category-header,
.media-card-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  margin-bottom:14px;
}
.media-card-category-header .media-category-tag,
.media-card-topline > .tag:first-child{
  flex:0 1 auto;
  margin-right:auto;
}
.media-card-category-header .media-card-age,
.media-card-topline .media-card-age{
  flex:0 0 auto;
  margin-left:auto;
}

/* Plus d'espace entre le titre et les badges catégorie / âge. */
.media-card-body > h2{
  margin-top:10px;
  margin-bottom:10px;
}
.media-poster-link + .media-card-body{
  padding-top:16px;
}

/* Badges catégorie : plus généreux en largeur. */
.media-category-tag,
.media-card-topline > .tag:first-child{
  padding:6px 12px!important;
  min-height:30px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
.media-card-age{
  padding:6px 11px!important;
  min-height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* Les groupes de tags sont espacés entre eux. */
.media-card-tags{
  gap:10px;
  padding-top:13px;
}
.media-tag-row + .media-tag-row{
  margin-top:2px;
}
.media-tag-list{
  gap:7px 8px;
}

/* Genres : lavande/violet doux. */
.media-tag-row-genres .genre-tag{
  background:#eee9ff!important;
  color:#51439b!important;
  border:1px solid #d9d0ff!important;
  font-weight:750!important;
}

/* Thèmes : vert menthe, clairement distinct des genres. */
.media-tag-row-themes .theme-tag,
.media-tag-row-themes .tag{
  background:#e5f6ef!important;
  color:#276a58!important;
  border:1px solid #bfe5d8!important;
  font-weight:750!important;
}

/* Plateformes : bleu doux, troisième famille visuelle. */
.media-tag-row-platforms .platform-badge{
  background:#e8f2fb!important;
  color:#315f82!important;
  border:1px solid #c9dfef!important;
}

/* Film et Court métrage : distinction encore plus nette. */
.media-card[data-type="Film"] .media-category-tag,
.media-category-card[data-type="Film"] .media-card-topline > .tag:first-child{
  background:#e9e4ff!important;
  color:#493c9c!important;
  border:1px solid #c9befa!important;
}
.media-card[data-type="Court métrage"] .media-category-tag,
.media-category-card[data-type="Court métrage"] .media-card-topline > .tag:first-child{
  background:#fde4ec!important;
  color:#a13d61!important;
  border:1px solid #f2b8ca!important;
}
.media-card[data-type="Film"]{
  border-top:4px solid #7465c7!important;
}
.media-card[data-type="Court métrage"]{
  border-top:4px solid #df7899!important;
}

@media(max-width:480px){
  .media-card-category-header,
  .media-card-topline{
    gap:10px;
  }
  .media-category-tag,
  .media-card-topline > .tag:first-child,
  .media-card-age{
    font-size:.66rem!important;
  }
}


/* V5.81 — fiches membres : structure précédente conservée, fonds unis */
.association-member-profile{
  background:var(--pc-paper,#fff)!important;
}
.association-member-profile::before{
  display:none!important;
}
.association-member-profile-photo{
  background:var(--pc-paper,#fff)!important;
}
.association-member-profile-content{
  background:var(--pc-paper,#fff)!important;
}
.association-member-featured-book{
  background:var(--pc-paper,#fff)!important;
}


/* =========================================================
   V5.90 — évolution majeure : exploration, sélection, admin
   ========================================================= */
html{font-size:calc(16px * var(--pc-user-scale,1))}
.pc-global-tools{display:inline-flex;align-items:center;gap:8px}

.pc-detail-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin:0 0 18px}
.pc-favorite-btn.active{background:var(--pc-rose-soft,#fbe8ef);border-color:var(--pc-rose,#e88ca8);color:#9e385d}
.pc-qr-dialog{border:0;border-radius:18px;padding:0;box-shadow:0 24px 80px rgba(0,0,0,.28)}
.pc-qr-dialog::backdrop{background:rgba(28,22,38,.5)}
.pc-qr-inner{padding:22px;text-align:center}
.pc-qr-inner .pc-qr-close{float:right}
.pc-qr-inner img{display:block;margin:14px auto;border-radius:10px}

.pc-section-books .page-band{border-top:4px solid var(--pc-violet,#7465c7)}
.pc-section-media .page-band{border-top:4px solid var(--pc-rose,#e88ca8)}
.pc-section-community .page-band{border-top:4px solid var(--pc-mint,#6fb3ac)}

.global-search-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:12px}
.global-search-box input{min-height:48px;padding:10px 14px}
.global-search-group{margin:28px 0}
.global-search-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.global-search-card{display:flex;gap:12px;align-items:center;min-width:0;padding:12px;border:1px solid var(--pc-line,#e8e1ec);border-radius:14px;background:#fff;text-decoration:none;color:inherit;box-shadow:var(--pc-shadow-sm);transition:.15s ease}
.global-search-card:hover{transform:translateY(-2px);box-shadow:var(--pc-shadow-md)}
.global-search-card img,.global-search-placeholder{width:62px;height:76px;object-fit:cover;border-radius:9px;background:var(--pc-canvas);display:grid;place-items:center;flex:0 0 auto}
.global-search-card>div{min-width:0}
.global-search-card strong,.global-search-card span{display:block}
.global-search-card strong{line-height:1.25}
.global-search-card span{margin-top:4px;font-size:.78rem;color:var(--pc-muted)}
.selection-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:16px}
.selection-card{display:flex}
.selection-card a{text-decoration:none;color:inherit}
.selection-remove{margin-top:8px;border:0;background:transparent;color:#9e385d;padding:0;cursor:pointer;text-decoration:underline}

.active-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 12px}
.active-filter-count{font-size:.8rem;font-weight:800;color:var(--pc-muted)}
.active-filter-chip{border:1px solid #d9d0ff;background:#eee9ff;color:#51439b;border-radius:999px;padding:6px 10px;font-weight:750;font-size:.75rem;cursor:pointer}
.active-filter-clear{border:0;background:transparent;text-decoration:underline;color:var(--pc-muted);cursor:pointer}
.tag-link{text-decoration:none;color:inherit}
.tag-link:hover{box-shadow:0 0 0 2px rgba(116,101,199,.2)}

.catalog-result-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.catalog-result-toolbar #count{margin:0}
.catalog-view-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.catalog-view-controls label{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--pc-muted)}
.catalog-view-controls select{width:auto;min-width:70px}
.catalog-view-controls .btn{padding:7px 10px}
.catalog-view-controls .btn.active{background:var(--pc-lilac);border-color:var(--pc-violet);color:var(--pc-violet-deep)}
#books.book-grid-compact{grid-template-columns:1fr!important}
#books.book-grid-compact .book-card{display:grid;grid-template-columns:100px minmax(0,1fr);min-height:150px}
#books.book-grid-compact .book-cover{height:150px}
#books.book-grid-compact .book-cover img{height:100%;width:100%;object-fit:cover}
#books.book-grid-compact .book-body{padding:12px 14px}
#books.book-grid-compact .book-heading h3{min-height:0}

.home-explore-profiles{padding:44px 0;background:linear-gradient(180deg,#fffdfb,#f8f5fb)}
.profile-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.profile-entry-card{display:grid;gap:6px;padding:18px;border:1px solid var(--pc-line);border-radius:18px;background:#fff;text-decoration:none;color:inherit;box-shadow:var(--pc-shadow-sm)}
.profile-entry-card:hover{transform:translateY(-2px);box-shadow:var(--pc-shadow-md)}
.profile-entry-card>span{font-size:1.6rem}.profile-entry-card strong{font-size:1rem}.profile-entry-card small{color:var(--pc-muted);line-height:1.4}

.editorial-selection-grid{display:grid;gap:24px}
.editorial-selection-card{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);border:1px solid var(--pc-line);border-radius:22px;background:#fff;overflow:hidden;box-shadow:var(--pc-shadow-sm)}
.editorial-selection-cover{width:100%;height:100%;min-height:260px;object-fit:cover}
.editorial-selection-body{padding:22px}
.editorial-selection-body h2{margin-top:0}
.editorial-selection-items{display:flex;gap:10px;overflow:auto;padding:8px 2px 4px}
.editorial-selection-item{flex:0 0 120px;text-decoration:none;color:inherit}
.editorial-selection-item img,.editorial-selection-item>span{display:block;width:100%;height:150px;object-fit:cover;border-radius:10px;background:var(--pc-canvas);place-items:center}
.editorial-selection-item strong{display:block;font-size:.78rem;line-height:1.25;margin-top:6px}

/* Admin dashboard / quality */
.admin-dashboard-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:20px}
.admin-dashboard-card{display:grid;gap:4px;padding:18px;border:1px solid var(--pc-line);border-radius:16px;background:#fff}
.admin-dashboard-card strong{font-size:2rem;color:var(--pc-violet-deep)}
.admin-dashboard-card span{font-weight:700}
.admin-dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.admin-tool-card{border:1px solid var(--pc-line);border-radius:16px;background:#fff;padding:18px;box-shadow:var(--pc-shadow-sm)}
.admin-tool-card h3{margin-top:0}
.admin-quality-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--pc-line)}
.admin-quality-row:last-child{border-bottom:0}
.admin-quality-row.has-issue strong{color:#a13d61}
.admin-quality-row.ok strong{color:#27705c}
.admin-bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;padding:10px;border:1px solid var(--pc-line);border-radius:12px;background:var(--pc-canvas)}
.admin-selection-list{display:grid;gap:10px;margin:16px 0}
.admin-selection-heading{display:flex;justify-content:space-between;gap:14px;align-items:start}
.admin-selection-heading h3{margin:0 0 3px}

@media(max-width:800px){
 .profile-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .editorial-selection-card{grid-template-columns:1fr}
 .editorial-selection-cover{max-height:260px}
 .admin-dashboard-columns{grid-template-columns:1fr}
 .catalog-result-toolbar{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
 .global-search-box{grid-template-columns:1fr}
 .profile-entry-grid{grid-template-columns:1fr}
 .pc-detail-actions{justify-content:flex-start}
 .global-search-grid{grid-template-columns:1fr}
}

@media print{
 #site-header,#site-footer,.pc-detail-actions,.book-structural-loan,.report-error-btn,.catalog-pagination,.books-filter-sidebar{display:none!important}
 body{background:#fff!important}
 main,.container{max-width:none!important;width:100%!important}
 a{color:#000!important;text-decoration:none!important}
}


/* V5.91 — navigation supérieure : jamais sur deux lignes */
.site-header .nav{
  flex-wrap:nowrap!important;
}
.nav-links{
  flex-wrap:nowrap!important;
  white-space:nowrap;
  min-width:0;
}
.nav-links > a,
.nav-dropdown-toggle,
.pc-global-tools > a{
  white-space:nowrap!important;
}
.nav-links a{
  padding-left:9px;
  padding-right:9px;
  font-size:.88rem;
}
.nav-dropdown-toggle{
  padding-left:9px!important;
  padding-right:9px!important;
  font-size:.88rem!important;
}
.pc-global-tools{
  flex-wrap:nowrap!important;
  white-space:nowrap;
}
.pc-search-nav-link{
  width:38px!important;
  min-width:38px!important;
  height:38px;
  padding:0!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  border-radius:50%!important;
}
.pc-native-search{
  font-size:1rem;
  line-height:1;
}
.site-header .brand{
  flex:0 0 auto;
}
.site-header .brand-name{
  max-width:148px;
}

/* Avant que le menu puisse se couper, on passe au menu mobile. */
@media(max-width:1180px){
  .site-header{
    position:relative!important;
    z-index:1000!important;
    overflow:visible!important;
  }
  .site-header .nav{
    position:relative!important;
    overflow:visible!important;
  }
  .menu-btn{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    padding:0!important;
    cursor:pointer!important;
  }
  .nav-links{
    display:none!important;
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    background:#fff!important;
    padding:14px 16px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    white-space:normal!important;
    border-bottom:1px solid var(--pc-line,var(--line))!important;
    box-shadow:0 14px 26px rgba(0,0,0,.08);
  }
  .nav-links.open{
    display:flex!important;
  }
  .nav-links > a,
  .nav-dropdown,
  .pc-global-tools{
    width:100%;
  }
  .nav-links a,
  .nav-dropdown-toggle{
    width:100%!important;
    text-align:center!important;
    white-space:normal!important;
  }
  .pc-global-tools{
    display:flex;
    flex-direction:column;
  }
  .pc-search-nav-link{
    width:100%!important;
    border-radius:12px!important;
  }
  .pc-font-controls{
    justify-content:center;
  }
}

/* Réseaux sociaux administrables */
.site-social-native-icon{
  display:inline-grid;
  place-items:center;
  min-width:1.35em;
  height:1.35em;
  font-size:.88rem;
  font-weight:900;
  line-height:1;
}
.socials a{
  text-decoration:none;
}

/* Administration : les actions groupées restent au-dessus des tableaux. */
.admin-bulk-bar{
  position:relative;
  width:100%;
  box-sizing:border-box;
  margin:10px 0 12px!important;
}
table .admin-bulk-bar,
tbody .admin-bulk-bar,
tr .admin-bulk-bar{
  display:none!important;
}
.bulk-head{
  width:38px;
  min-width:38px;
  text-align:center;
}
.admin-table-scroll > .admin-bulk-bar,
.admin-table-wrap > .admin-bulk-bar{
  width:auto;
}
.social-admin-row p{
  overflow-wrap:anywhere;
}


/* =========================================================
   V5.92 — Catalogue, accueil, contact, impression
   ========================================================= */

/* Accueil : raccourcis par profil centrés */
.profile-entry-card{
  text-align:center;
  justify-items:center;
  align-content:start;
}
.profile-entry-card > span{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  margin:0 auto 2px;
}
.profile-entry-card strong,
.profile-entry-card small{
  text-align:center;
  width:100%;
}

/* Les coups de cœur redeviennent des vignettes de livre normales. */
.home-favorites-content{
  background:var(--pc-paper,#fff);
}
.home-favorites-content .book-card,
.home-book-card-link.favorite{
  border-color:var(--pc-line,var(--line))!important;
  box-shadow:var(--pc-shadow-sm,0 5px 18px rgba(56,42,76,.07))!important;
  outline:0!important;
}
.home-favorites-content .badge-heart,
.home-book-card-link .badge-heart{
  display:none!important;
}

/* Catalogue : cœur de sélection en haut à droite */
.book-cover{
  position:relative;
}
.book-selection-heart{
  position:absolute;
  top:10px;
  right:10px;
  z-index:8;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0;
  border-radius:50%;
  border:1px solid rgba(58,44,86,.18);
  background:rgba(255,255,255,.94);
  color:#876d91;
  font-size:1.55rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 5px 16px rgba(32,22,53,.14);
  backdrop-filter:blur(5px);
}
.book-selection-heart:hover,
.book-selection-heart:focus-visible{
  border-color:var(--pc-rose,#e88ca8);
  color:#b64e72;
  transform:scale(1.04);
}
.book-selection-heart.active{
  color:#c94d76;
  background:#fff0f5;
  border-color:#e7a4ba;
}

/* Suppression de l'ancien contrôle de sélection au bas des vignettes */
.book-select-control,
.book-select-control-bottom{
  display:none!important;
}

/* Vue Liste : vrais livres en lignes avec petite couverture */
#books.book-grid-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
#books.book-grid-list .book-card{
  display:grid!important;
  grid-template-columns:84px minmax(0,1fr)!important;
  min-height:122px!important;
  height:auto!important;
  overflow:hidden;
}
#books.book-grid-list .book-cover{
  width:84px!important;
  height:122px!important;
  min-height:122px!important;
  aspect-ratio:auto!important;
}
#books.book-grid-list .book-cover img,
#books.book-grid-list .book-cover .cover-placeholder{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
#books.book-grid-list .book-selection-heart{
  width:30px;
  height:30px;
  top:6px;
  right:6px;
  font-size:1.15rem;
}
#books.book-grid-list .book-body{
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);
  gap:14px;
  align-items:center;
  padding:12px 16px!important;
}
#books.book-grid-list .book-heading h3{
  min-height:0!important;
  margin-bottom:4px;
}
#books.book-grid-list .book-credit-block{
  display:grid;
  gap:1px;
}
#books.book-grid-list .book-fixed-tags{
  margin:0!important;
  justify-content:flex-end;
  align-content:center;
}
#books.book-grid-list .book-fixed-tags .tag{
  font-size:.68rem;
}

/* Annule totalement l'ancienne vue compacte. */
#books.book-grid-compact{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;
}
#books.book-grid-compact .book-card{
  display:block!important;
}
#books.book-grid-compact .book-cover{
  height:auto!important;
}

/* Maisons d'édition : 4 vignettes sur une ligne au bureau */
.books-results-column #publisher-grid.publisher-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px;
}
#publisher-grid .publisher-card{
  min-width:0;
}
#publisher-grid .publisher-card-body{
  padding:13px 12px 14px;
}
#publisher-grid .publisher-card h2{
  font-size:1rem;
}
#publisher-grid .publisher-card-slogan{
  font-size:.76rem;
  line-height:1.35;
}
#publisher-grid .publisher-card-fixed-tags .tag{
  font-size:.64rem;
  padding:4px 6px;
}

/* Contact : bouton du haut et formulaire utilisent la même famille de couleur */
.contact-choice-contact,
.contact-section-contact>.container,
.contact-section-contact .contact-form-card{
  background:#eef8ff!important;
  border-color:#b9dff5!important;
}
.contact-choice-loan,
.contact-section-loan>.container,
.contact-section-loan .contact-form-card{
  background:#f3efff!important;
  border-color:#d2c6fb!important;
}
.contact-choice-proposal,
.contact-section-proposal>.container,
.contact-section-proposal .contact-form-card{
  background:#fff3e8!important;
  border-color:#f1cfad!important;
}
.contact-section-contact,
.contact-section-loan,
.contact-section-proposal{
  background:#fff!important;
}
.contact-form-card{
  box-shadow:none!important;
}

/* Impression fiche : format A4, sans éléments de navigation ni contenus liés. */
@page{
  size:A4 portrait;
  margin:8mm;
}
@media print{
  html,body{
    width:210mm!important;
    min-height:297mm!important;
    margin:0!important;
    padding:0!important;
    font-size:9pt!important;
    background:#fff!important;
  }
  body.pc-detail-page{
    zoom:.72;
  }
  body.pc-detail-page #site-header,
  body.pc-detail-page #site-footer,
  body.pc-detail-page .pc-detail-actions,
  body.pc-detail-page .flat-related-section,
  body.pc-detail-page .book-linked-selection,
  body.pc-detail-page .book-series-block,
  body.pc-detail-page .webtoon-related,
  body.pc-detail-page .report-error-btn,
  body.pc-detail-page .carousel-control{
    display:none!important;
  }
  body.pc-detail-page main{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
    margin:0!important;
  }
  body.pc-detail-page .page-band{
    padding:0 0 5mm!important;
    border:0!important;
  }
  body.pc-detail-page .page-band h1{
    font-size:18pt!important;
    margin:0!important;
  }
  body.pc-detail-page section{
    padding:3mm 0!important;
  }
  body.pc-detail-page img{
    max-height:75mm!important;
    object-fit:contain!important;
  }
  body.pc-detail-page .container{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  body.pc-detail-page *{
    box-shadow:none!important;
  }
}

/* Responsive */
@media(max-width:1180px){
  .books-results-column #publisher-grid.publisher-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:900px){
  .books-results-column #publisher-grid.publisher-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #books.book-grid-list .book-body{
    grid-template-columns:1fr;
  }
  #books.book-grid-list .book-fixed-tags{
    justify-content:flex-start;
  }
}
@media(max-width:560px){
  .books-results-column #publisher-grid.publisher-grid{
    grid-template-columns:1fr!important;
  }
  #books.book-grid-list .book-card{
    grid-template-columns:70px minmax(0,1fr)!important;
  }
  #books.book-grid-list .book-cover{
    width:70px!important;
    height:104px!important;
    min-height:104px!important;
  }
}


/* =========================================================
   V5.93 — Sélections éditoriales, vidéos, admin médias/personnalités
   ========================================================= */

/* Coups de cœur : bordure organique, étoiles et petites boucles */
.home-favorites-content{
  position:relative;
  margin:30px 0;
  padding:34px 0;
  background:linear-gradient(180deg,#fffdfd,#fff9fc)!important;
  overflow:visible;
}
.home-favorites-content .container{
  position:relative;
  padding-top:22px;
  padding-bottom:22px;
}
.home-favorites-content .container::before{
  content:"";
  position:absolute;
  inset:4px 10px;
  pointer-events:none;
  border:2px dashed #d9a8c0;
  border-radius:34px 28px 40px 30px;
  transform:rotate(-.12deg);
  box-shadow:
    7px -5px 0 -5px #c8a6d8,
    -8px 7px 0 -6px #edc3d3;
}
.home-favorites-content .container::after{
  content:"✦  ☆  ✧  ☆  ✦";
  position:absolute;
  top:-8px;
  left:50%;
  transform:translateX(-50%) rotate(-2deg);
  padding:0 12px;
  background:#fffdfd;
  color:#ba7b9a;
  letter-spacing:.55rem;
  font-size:1rem;
  white-space:nowrap;
}
.home-favorites-content .section-head{
  position:relative;
  z-index:2;
}
.home-favorites-content .section-head::before,
.home-favorites-content .section-head::after{
  content:"✧";
  position:absolute;
  color:#b99ad0;
  font-size:1.1rem;
  pointer-events:none;
}
.home-favorites-content .section-head::before{left:-5px;top:-18px;transform:rotate(-18deg)}
.home-favorites-content .section-head::after{right:5px;bottom:-16px;transform:rotate(22deg)}
.home-favorites-content .carousel-wrap{
  position:relative;
  z-index:2;
}

/* Accueil — aperçu des sélections éditoriales */
.home-editorial-selections{
  padding:42px 0;
  background:#faf8ff;
}
.home-editorial-selection-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.home-editorial-selection-card{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:14px;
  align-items:stretch;
  min-height:150px;
  padding:12px;
  text-decoration:none;
  color:inherit;
  background:#fff;
  border:1px solid var(--pc-line,var(--line));
  border-radius:18px;
  box-shadow:var(--pc-shadow-sm);
}
.home-editorial-selection-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--pc-shadow-md);
}
.home-editorial-selection-card img,
.home-editorial-selection-placeholder{
  width:110px;
  height:126px;
  object-fit:cover;
  border-radius:12px;
  background:var(--pc-canvas,var(--soft));
  display:grid;
  place-items:center;
  font-size:2rem;
}
.home-editorial-selection-card h3{margin:2px 0 7px}
.home-editorial-selection-card p:last-child{
  margin:0;
  color:var(--pc-muted,var(--muted));
  font-size:.82rem;
  line-height:1.4;
}

/* Sélections éditoriales — picker visuel administration */
.editorial-picker-field{
  background:#fbfaff;
  border:1px solid #ddd5f2;
  border-radius:16px;
  padding:16px;
}
.editorial-picker-toolbar{
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  gap:10px;
  margin:12px 0 14px;
}
.editorial-picker-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.editorial-picker-columns>div{
  min-width:0;
  padding:12px;
  border:1px solid var(--pc-line,var(--line));
  border-radius:14px;
  background:#fff;
}
.editorial-picker-columns h3{
  margin:0 0 10px;
  font-size:1rem;
}
.editorial-content-results,
.editorial-content-selected{
  display:grid;
  gap:8px;
  max-height:520px;
  overflow:auto;
  padding-right:4px;
}
.editorial-picker-item,
.editorial-selected-item{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-width:0;
  padding:8px;
  border:1px solid var(--pc-line,var(--line));
  border-radius:12px;
  background:#fff;
}
.editorial-picker-item.selected{
  opacity:.62;
  background:#f5f2fb;
}
.editorial-picker-item img,
.editorial-selected-item img,
.editorial-picker-placeholder{
  width:52px;
  height:64px;
  object-fit:cover;
  border-radius:8px;
  background:var(--pc-canvas,var(--soft));
  display:grid;
  place-items:center;
}
.editorial-picker-item strong,
.editorial-picker-item span,
.editorial-selected-item strong,
.editorial-selected-item small{
  display:block;
  min-width:0;
}
.editorial-picker-item span,
.editorial-selected-item small{
  margin-top:3px;
  color:var(--pc-muted,var(--muted));
  font-size:.74rem;
}
.editorial-selected-item{
  grid-template-columns:28px 52px minmax(0,1fr) auto;
}
.editorial-selected-order{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:50%;
  background:#eee9ff;
  color:#51439b;
  font-size:.75rem;
  font-weight:850;
}
.editorial-selected-actions{
  display:flex;
  gap:3px;
}
.editorial-selected-actions button{
  width:29px;
  height:29px;
  padding:0;
  border:1px solid var(--pc-line,var(--line));
  border-radius:8px;
  background:#fff;
  cursor:pointer;
}
.editorial-selected-actions .editorial-remove{
  color:#a13d61;
}
.editorial-admin-summary .eyebrow{
  margin-bottom:3px;
}

/* Admin Autres médias / Personnalités : vraies tables lisibles */
.media-admin-table,
.personality-admin-table{
  table-layout:auto;
  width:100%;
}
.media-admin-table th,
.media-admin-table td,
.personality-admin-table th,
.personality-admin-table td{
  vertical-align:middle;
}
.admin-thumb-cell{
  width:74px;
  text-align:center;
}
.admin-table-thumb,
.admin-table-placeholder{
  width:58px;
  height:72px;
  object-fit:cover;
  border-radius:9px;
  display:inline-grid;
  place-items:center;
  background:var(--pc-canvas,var(--soft));
  font-size:1.5rem;
}
.admin-table-thumb.personality-thumb{
  width:58px;
  height:58px;
  border-radius:50%;
}
.admin-summary-cell{
  max-width:360px;
  min-width:220px;
  color:var(--pc-muted,var(--muted));
  font-size:.8rem;
  line-height:1.4;
}
.admin-inline-tags{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  max-width:280px;
}
.admin-inline-tags .tag{
  font-size:.66rem;
  padding:4px 6px;
}
.admin-status-pill{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:4px 8px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
}
.admin-status-pill.published{
  background:#e5f6ef;
  color:#276a58;
}
.admin-status-pill.draft{
  background:#f5edf0;
  color:#88566a;
}
.media-admin-table .admin-row-actions,
.personality-admin-table .admin-row-actions{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  min-width:160px;
}
.media-admin-table .admin-row-actions .btn,
.personality-admin-table .admin-row-actions .btn{
  padding:6px 8px;
  font-size:.72rem;
}

/* Administration : formulaires médias/personnalités plus propres */
.media-dialog .dialog-inner,
.personality-dialog .dialog-inner{
  max-width:1180px;
}
.media-dialog .admin-form-grid,
.personality-dialog .admin-form-grid{
  gap:14px 16px;
}
.media-dialog .field,
.personality-dialog .field{
  min-width:0;
}
.media-dialog .field>label,
.personality-dialog .field>label{
  font-weight:800;
  margin-bottom:5px;
}
.media-video-field{
  background:#f7fbff;
  border:1px solid #d8e9f4;
  border-radius:12px;
  padding:12px;
}

/* Vidéo YouTube : miniature cliquable */
.media-video-thumbnail-link,
.resource-video-feature{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
}
.media-video-thumbnail-link img,
.resource-video-feature img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.media-video-play,
.resource-video-play{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:50%;
  background:rgba(194,33,47,.92);
  color:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
  font-size:1.35rem;
  line-height:1;
  padding-left:3px;
}
.media-video-thumbnail-link:hover .media-video-play,
.resource-video-feature:hover .resource-video-play{
  transform:translate(-50%,-50%) scale(1.08);
}
.resource-video-label{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  padding:6px 10px;
  border-radius:999px;
  background:rgba(20,20,24,.78);
  color:#fff;
  font-size:.75rem;
  font-weight:800;
  white-space:nowrap;
}
.resource-video-cta{
  margin-top:10px;
}

/* Reportage & Vidéo : accent dédié */
.media-card[data-type="Reportage"],
.media-card[data-type="Reportage & Vidéo"]{
  border-top:4px solid #4d8bb8!important;
}
.media-card[data-type="Reportage"] .media-category-tag,
.media-card[data-type="Reportage & Vidéo"] .media-category-tag,
.media-category-card[data-type="Reportage"] .media-card-topline>.tag:first-child,
.media-category-card[data-type="Reportage & Vidéo"] .media-card-topline>.tag:first-child{
  background:#e6f2fb!important;
  color:#2f658a!important;
  border-color:#bdd9ed!important;
}

@media(max-width:980px){
  .home-editorial-selection-grid{grid-template-columns:1fr}
  .editorial-picker-columns{grid-template-columns:1fr}
  .editorial-content-results,.editorial-content-selected{max-height:360px}
}
@media(max-width:700px){
  .editorial-picker-toolbar{grid-template-columns:1fr}
  .media-admin-table,
  .personality-admin-table{
    min-width:880px;
  }
  .home-favorites-content .container::after{
    letter-spacing:.25rem;
    font-size:.85rem;
  }
}

/* Petites boucles décoratives supplémentaires sur les Coups de cœur */
.home-favorites-content .carousel-wrap::after{
  content:"⌁  ✦  ⌁  ☆  ⌁  ✧  ⌁";
  position:absolute;
  right:22px;
  bottom:-17px;
  padding:0 8px;
  background:#fffdfd;
  color:#c38aa6;
  letter-spacing:.18rem;
  font-size:.82rem;
  transform:rotate(-1.5deg);
  pointer-events:none;
}


/* =========================================================
   V5.94 — passe responsive globale
   ========================================================= */

/* Sécurité anti-débordement générale */
html,body{
  max-width:100%;
  overflow-x:hidden;
}
img,svg,video,iframe{
  max-width:100%;
}
main,
section,
.container,
.books-results-column,
.media-results-column,
.resource-main,
.personality-detail-main{
  min-width:0;
}

/* Titres, textes et tags longs */
h1,h2,h3,h4,p,a,button,label,strong,span{
  overflow-wrap:break-word;
}
.tag,
.genre-tag,
.media-category-tag,
.admin-filter-tag,
.genre-filter-tag{
  max-width:100%;
}

/* Navigation : menu mobile avant tout risque de retour sur deux lignes */
@media(max-width:1220px){
  .site-header .nav-links{
    display:none!important;
  }
  .site-header .nav-links.open{
    display:flex!important;
  }
  .site-header .menu-btn{
    display:flex!important;
  }
}

/* Tableaux Administration : défilement horizontal propre sur petits écrans */
.table-wrap,
.admin-table-wrap,
.admin-table-scroll{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.admin-content-table{
  width:100%;
}
@media(max-width:980px){
  .admin-content-table{
    min-width:820px;
  }
  .admin-actions-row,
  .admin-actions-wrap,
  .admin-filters,
  .admin-filters-standard{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
  }
  .admin-filters-standard > input,
  .admin-filters-standard > select{
    flex:1 1 220px;
    min-width:0;
  }
  .admin-section-heading{
    align-items:flex-start;
    gap:10px;
  }
}
@media(max-width:640px){
  .admin-section-heading{
    flex-direction:column;
  }
  .admin-actions-row .btn,
  .admin-actions-wrap .btn{
    flex:1 1 100%;
    width:100%;
  }
  .admin-filters-standard > input,
  .admin-filters-standard > select,
  .admin-filters-standard > button{
    flex:1 1 100%;
    width:100%;
  }
}

/* Formulaires Administration */
@media(max-width:900px){
  .admin-form-grid,
  .media-dialog .admin-form-grid,
  .personality-dialog .admin-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .admin-form-grid .span-3{
    grid-column:1/-1!important;
  }
}
@media(max-width:620px){
  .admin-form-grid,
  .media-dialog .admin-form-grid,
  .personality-dialog .admin-form-grid{
    grid-template-columns:1fr!important;
  }
  .admin-form-grid .span-2,
  .admin-form-grid .span-3{
    grid-column:1!important;
  }
  dialog.book-dialog,
  dialog.media-dialog,
  dialog.personality-dialog{
    width:calc(100vw - 16px)!important;
    max-width:none!important;
    max-height:94vh!important;
    margin:auto!important;
  }
  .dialog-inner{
    padding:14px!important;
  }
}

/* Sélecteur éditorial */
@media(max-width:760px){
  .editorial-picker-field{
    padding:10px;
  }
  .editorial-picker-item{
    grid-template-columns:46px minmax(0,1fr);
  }
  .editorial-picker-item .editorial-add{
    grid-column:1/-1;
    width:100%;
  }
  .editorial-selected-item{
    grid-template-columns:24px 46px minmax(0,1fr);
  }
  .editorial-selected-actions{
    grid-column:1/-1;
    justify-content:flex-end;
  }
}

/* Accueil */
@media(max-width:760px){
  .home-editorial-selection-card{
    grid-template-columns:82px minmax(0,1fr);
  }
  .home-editorial-selection-card img,
  .home-editorial-selection-placeholder{
    width:82px;
    height:104px;
  }
  .home-favorites-content{
    margin-inline:0;
    overflow:hidden;
  }
  .home-favorites-content .container::before{
    inset:5px 6px;
  }
  .home-favorites-content .carousel-wrap::after{
    display:none;
  }
}
@media(max-width:480px){
  .home-editorial-selection-card{
    grid-template-columns:1fr;
    text-align:center;
  }
  .home-editorial-selection-card img,
  .home-editorial-selection-placeholder{
    width:100%;
    height:180px;
  }
  .home-favorites-content .container::after{
    content:"✦ ☆ ✧";
    letter-spacing:.12rem;
  }
}

/* Catalogue : filtres, barre de résultats et vue liste */
@media(max-width:760px){
  .catalog-result-toolbar,
  .catalog-view-controls{
    width:100%;
  }
  .catalog-view-controls{
    display:grid!important;
    grid-template-columns:1fr 1fr;
  }
  .catalog-view-controls label,
  #export-selection{
    grid-column:1/-1;
  }
  .catalog-view-controls .btn{
    width:100%;
  }
  #books.book-grid-list .book-card{
    grid-template-columns:72px minmax(0,1fr)!important;
  }
  #books.book-grid-list .book-cover{
    width:72px!important;
    height:108px!important;
    min-height:108px!important;
  }
  #books.book-grid-list .book-body{
    padding:9px 10px!important;
    gap:8px!important;
  }
}
@media(max-width:460px){
  #books.book-grid-list .book-fixed-tags{
    display:none;
  }
  #books.book-grid-list .book-author-line,
  #books.book-grid-list .book-illustrator-line{
    font-size:.72rem;
  }
}

/* Pages Livres / Autres médias : sidebar passe au-dessus des résultats */
@media(max-width:820px){
  .books-page-layout,
  .media-page-layout{
    display:block!important;
  }
  .books-filter-sidebar,
  .media-filter-sidebar{
    width:100%!important;
    max-width:none!important;
    margin-bottom:18px;
  }
  .books-filter-sidebar .catalog-filters-panel,
  .media-filter-sidebar .catalog-filters-panel{
    position:static!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

/* Grilles médias et maisons d'édition */
@media(max-width:720px){
  .media-results-column .media-grid,
  .media-results-column .resource-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .books-results-column #publisher-grid.publisher-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:460px){
  .media-results-column .media-grid,
  .media-results-column .resource-grid,
  .books-results-column #publisher-grid.publisher-grid{
    grid-template-columns:1fr!important;
  }
}

/* Vignettes vidéo */
@media(max-width:520px){
  .media-video-play,
  .resource-video-play{
    width:48px;
    height:48px;
    font-size:1.05rem;
  }
  .resource-video-label{
    bottom:8px;
    font-size:.68rem;
  }
}

/* Fiches détail */
@media(max-width:900px){
  .resource-detail-grid,
  .personality-detail-grid,
  .book-detail-grid,
  .publisher-detail-grid{
    grid-template-columns:1fr!important;
  }
  .resource-poster-column,
  .resource-actions-panel,
  .personality-detail-photo{
    max-width:560px;
    width:100%;
    margin-inline:auto;
  }
}
@media(max-width:560px){
  .pc-detail-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr;
  }
  .pc-detail-actions .btn{
    width:100%;
  }
  .resource-information-grid{
    display:block!important;
  }
  .resource-info-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:2px!important;
    padding:8px 0!important;
  }
}

/* Footer */
@media(max-width:680px){
  .footer-grid{
    grid-template-columns:1fr!important;
    text-align:center;
  }
  .socials{
    justify-content:center;
  }
}


/* V5.94 — Coups de cœur : camaïeu jaune / orange / doré */
.home-favorites-content{
  background:linear-gradient(180deg,#fffdf3,#fff9df)!important;
}
.home-favorites-content .container::before{
  border:2px dashed #e3ad38!important;
  border-radius:28px!important;
  transform:none!important;
  box-shadow:none!important;
}
.home-favorites-content .container::after{
  content:"★  ✦  ☆  ✧  ★  ✦"!important;
  color:#d48a1f!important;
  background:#fffdf3!important;
  letter-spacing:.42rem!important;
  font-size:1rem!important;
  transform:translateX(-50%)!important;
}
.home-favorites-content .section-head::before{
  content:"✦"!important;
  color:#efb63f!important;
  font-size:1.2rem!important;
  left:2px!important;
  top:-18px!important;
  transform:rotate(-12deg)!important;
}
.home-favorites-content .section-head::after{
  content:"★"!important;
  color:#c97916!important;
  font-size:1rem!important;
  right:6px!important;
  bottom:-14px!important;
  transform:rotate(10deg)!important;
}
.home-favorites-content .carousel-wrap::after{
  content:"☆  ✧  ★  ✦  ☆"!important;
  color:#dfa42d!important;
  background:#fffdf3!important;
  letter-spacing:.24rem!important;
  right:24px!important;
  bottom:-17px!important;
  transform:none!important;
}
.home-favorites-content::before,
.home-favorites-content::after{
  position:absolute;
  pointer-events:none;
  z-index:1;
}
.home-favorites-content::before{
  content:"✧";
  left:3.5%;
  top:18%;
  color:#f2c35b;
  font-size:1.15rem;
}
.home-favorites-content::after{
  content:"★";
  right:4%;
  top:24%;
  color:#d8861b;
  font-size:.9rem;
}
@media(max-width:760px){
  .home-favorites-content .container::after{
    content:"★ ✦ ☆ ✧"!important;
    letter-spacing:.18rem!important;
    font-size:.86rem!important;
  }
  .home-favorites-content .carousel-wrap::after{
    display:none!important;
  }
}


/* V5.94 — bandeau principal figé pendant le défilement */
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:2000!important;
  width:100%!important;
  background:rgba(255,255,255,.97)!important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 4px 16px rgba(48,37,67,.08);
  overflow:visible!important;
}
.site-header .nav{
  position:relative;
  z-index:2001;
  overflow:visible!important;
}
.nav-dropdown-menu{
  z-index:2100!important;
}
@media(max-width:1220px){
  .site-header{
    position:sticky!important;
    top:0!important;
  }
  .site-header .nav-links{
    z-index:2100!important;
  }
}


/* =========================================================
   V5.95 — bandeau réellement fixe, médias en liste, impression A4
   ========================================================= */

/* Coups de cœur : suppression totale de la décoration spéciale */
.home-favorites-content,
.home-favorites-content .container{
  background:transparent!important;
}
.home-favorites-content .container::before,
.home-favorites-content .container::after,
.home-favorites-content .section-head::before,
.home-favorites-content .section-head::after,
.home-favorites-content .carousel-wrap::after,
.home-favorites-content::before,
.home-favorites-content::after{
  content:none!important;
  display:none!important;
  border:0!important;
  box-shadow:none!important;
}

/* Bandeau principal : position FIXED et compensation de hauteur */
.site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:5000!important;
  background:#fff!important;
  box-shadow:0 4px 18px rgba(48,37,67,.10)!important;
  overflow:visible!important;
}
body.pc-fixed-header-active{
  padding-top:var(--pc-fixed-header-height,78px)!important;
}
.site-header .nav{
  position:relative!important;
  z-index:5001!important;
}
.site-header .nav-dropdown-menu,
.site-header .nav-links.open{
  z-index:5100!important;
}

/* La navigation fixe ne doit jamais masquer une ancre */
html{
  scroll-padding-top:calc(var(--pc-fixed-header-height,78px) + 14px);
}

/* Autres médias : barre Grille / Liste */
.media-result-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 14px;
}
.media-result-toolbar > p{
  margin:0;
}
.media-view-controls{
  display:flex;
  align-items:center;
  gap:7px;
}
.media-view-controls .btn{
  padding:7px 10px;
}
.media-view-controls .btn.active{
  background:var(--pc-lilac,#eee9ff);
  border-color:var(--pc-violet,#7465c7);
  color:var(--pc-violet-deep,#51439b);
}

/* Autres médias : 3 vignettes par ligne sur grand écran */
.media-results-column .media-grid,
.media-results-column .resource-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
.media-carousel-track .media-card{
  flex:0 0 calc((100% - 32px)/3)!important;
  min-width:0!important;
}

/* Vue Liste : une ligne compacte avec petite miniature */
.media-list-view{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.media-list-view .media-card{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  min-height:142px!important;
  height:auto!important;
  overflow:hidden!important;
}
.media-list-view .media-poster-link,
.media-list-view .media-poster-wrap{
  width:112px!important;
  min-width:112px!important;
  height:142px!important;
  min-height:142px!important;
  margin:0!important;
}
.media-list-view .media-poster,
.media-list-view .media-video-thumbnail-link,
.media-list-view .resource-placeholder{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
}
.media-list-view .media-card-category-header,
.media-list-view .media-card-topline{
  position:absolute!important;
  left:124px;
  right:12px;
  top:10px;
  width:auto!important;
  margin:0!important;
  z-index:3;
}
.media-list-view .media-card-body{
  position:relative;
  min-width:0;
  min-height:142px;
  padding:43px 14px 10px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(170px,.85fr);
  grid-template-rows:auto auto;
  column-gap:16px;
  align-content:center;
}
.media-list-view .media-card-body h2{
  grid-column:1;
  margin:0 0 5px!important;
  font-size:1rem!important;
}
.media-list-view .media-creator,
.media-list-view .media-year,
.media-list-view .media-country-line{
  grid-column:1;
  margin:1px 0!important;
}
.media-list-view .media-card-tags{
  grid-column:2;
  grid-row:1 / span 4;
  align-self:center;
  margin:0!important;
  padding:0!important;
}
.media-list-view .media-video-play{
  width:42px;
  height:42px;
  font-size:.95rem;
}

/* Fiches détail : impression forcée sur une seule page A4 portrait */
@page{
  size:A4 portrait!important;
  margin:5mm!important;
}
@media print{
  html,body{
    width:210mm!important;
    height:297mm!important;
    min-height:297mm!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  body.pc-detail-page{
    padding:0!important;
  }
  body.pc-detail-page #site-header,
  body.pc-detail-page #site-footer,
  body.pc-detail-page .site-header,
  body.pc-detail-page .footer,
  body.pc-detail-page .pc-detail-actions,
  body.pc-detail-page .flat-related-section,
  body.pc-detail-page .book-linked-selection,
  body.pc-detail-page .book-series-block,
  body.pc-detail-page .webtoon-related,
  body.pc-detail-page .carousel-control,
  body.pc-detail-page .report-error-btn,
  body.pc-detail-page .page-band p.eyebrow{
    display:none!important;
  }
  body.pc-detail-page main{
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    max-height:282mm!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    zoom:var(--pc-print-fit,.62)!important;
    page-break-after:avoid!important;
  }
  body.pc-detail-page .container{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  body.pc-detail-page .page-band{
    padding:0 0 3mm!important;
    margin:0!important;
    border:0!important;
  }
  body.pc-detail-page .page-band h1{
    margin:0!important;
    font-size:17pt!important;
    line-height:1.05!important;
  }
  body.pc-detail-page section{
    margin:0!important;
    padding:2mm 0!important;
    break-inside:avoid!important;
  }
  body.pc-detail-page h2{font-size:13pt!important;margin:2mm 0 1mm!important}
  body.pc-detail-page h3{font-size:10.5pt!important;margin:1.5mm 0 1mm!important}
  body.pc-detail-page p,
  body.pc-detail-page li,
  body.pc-detail-page .meta,
  body.pc-detail-page .tag{
    font-size:8.2pt!important;
    line-height:1.25!important;
  }
  body.pc-detail-page img{
    max-height:62mm!important;
    object-fit:contain!important;
  }
  body.pc-detail-page *{
    box-shadow:none!important;
  }
}

/* Responsive média */
@media(max-width:980px){
  .media-results-column .media-grid,
  .media-results-column .resource-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .media-carousel-track .media-card{
    flex-basis:calc((100% - 16px)/2)!important;
  }
}
@media(max-width:720px){
  .media-result-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .media-view-controls{
    width:100%;
  }
  .media-view-controls .btn{
    flex:1 1 50%;
  }
  .media-list-view .media-card{
    grid-template-columns:90px minmax(0,1fr)!important;
    min-height:124px!important;
  }
  .media-list-view .media-poster-link,
  .media-list-view .media-poster-wrap{
    width:90px!important;
    min-width:90px!important;
    height:124px!important;
    min-height:124px!important;
  }
  .media-list-view .media-card-category-header,
  .media-list-view .media-card-topline{
    left:101px;
  }
  .media-list-view .media-card-body{
    min-height:124px;
    grid-template-columns:1fr!important;
    padding-top:42px!important;
  }
  .media-list-view .media-card-tags{
    grid-column:1!important;
    grid-row:auto!important;
    margin-top:6px!important;
  }
}
@media(max-width:520px){
  .media-results-column .media-grid,
  .media-results-column .resource-grid{
    grid-template-columns:1fr!important;
  }
  .media-carousel-track .media-card{
    flex-basis:86%!important;
  }
  .media-list-view .media-card{
    grid-template-columns:78px minmax(0,1fr)!important;
  }
  .media-list-view .media-poster-link,
  .media-list-view .media-poster-wrap{
    width:78px!important;
    min-width:78px!important;
    height:112px!important;
    min-height:112px!important;
  }
  .media-list-view .media-card-category-header,
  .media-list-view .media-card-topline{
    left:88px;
    right:7px;
  }
  .media-list-view .media-card-tags{
    display:none!important;
  }
}

.media-list-view .media-card{position:relative!important;}


/* =========================================================
   V5.96 — vraie vue Liste médias + impression Livre figée
   ========================================================= */

/* Le snapshot d'impression Livre est invisible hors impression. */
#pc-book-print-snapshot{
  display:none;
}

/* Vue Liste dédiée : annule les transformations de la carte Grille. */
.media-list-view{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.media-list-view .media-list-card{
  position:relative;
  display:grid!important;
  grid-template-columns:108px minmax(0,1fr)!important;
  min-height:136px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--pc-line,var(--line));
  border-radius:15px;
  box-shadow:var(--pc-shadow-sm,0 5px 18px rgba(56,42,76,.07));
  cursor:pointer;
}
.media-list-view .media-list-card:hover,
.media-list-view .media-list-card:focus-visible{
  transform:translateY(-1px);
  box-shadow:var(--pc-shadow-md,0 12px 30px rgba(56,42,76,.10));
  outline:none;
}
.media-list-view .media-list-visual{
  width:108px;
  height:136px;
  min-width:108px;
  background:var(--pc-canvas,var(--soft));
  overflow:hidden;
}
.media-list-view .media-list-visual>img,
.media-list-view .media-list-visual .media-video-thumbnail-link,
.media-list-view .media-list-visual .resource-placeholder{
  width:100%;
  height:100%;
  display:block;
}
.media-list-view .media-list-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.media-list-view .media-list-content{
  min-width:0;
  padding:12px 14px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(190px,.72fr);
  gap:16px;
  align-items:center;
}
.media-list-view .media-list-heading{
  min-width:0;
}
.media-list-view .media-list-badges{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  margin-bottom:7px;
}
.media-list-view .media-list-badges .media-category-tag,
.media-list-view .media-list-badges .tag,
.media-list-view .media-list-badges .media-card-age{
  position:static!important;
  margin:0!important;
  min-height:26px!important;
  padding:4px 8px!important;
  font-size:.66rem!important;
}
.media-list-view .media-list-heading h2{
  margin:0 0 4px!important;
  font-size:1.02rem!important;
  line-height:1.2!important;
}
.media-list-view .media-list-creator,
.media-list-view .media-list-meta{
  margin:2px 0!important;
  font-size:.78rem;
  color:var(--pc-muted,var(--muted));
}
.media-list-view .media-list-creator{
  font-weight:700;
  color:var(--pc-ink,#252238);
}
.media-list-view .media-list-tags{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-content:center;
  gap:6px;
  min-width:0;
}
.media-list-view .media-list-tags .genre-tag,
.media-list-view .media-list-tags .tag,
.media-list-view .media-list-tags .platform-badge{
  font-size:.66rem!important;
  line-height:1.1;
  padding:4px 7px!important;
}
.media-list-view .media-video-play{
  width:42px!important;
  height:42px!important;
  font-size:.95rem!important;
}

/* Neutralise les anciennes règles qui tentaient de convertir la carte grille. */
.media-list-view .media-card:not(.media-list-card){
  display:none!important;
}

/* Impression Livre : copie visuelle figée, sans reflow. */
@media print{
  body.pc-book-snapshot-printing{
    width:210mm!important;
    height:297mm!important;
    min-height:297mm!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  body.pc-book-snapshot-printing > *:not(#pc-book-print-snapshot){
    display:none!important;
  }
  body.pc-book-snapshot-printing #pc-book-print-snapshot{
    display:block!important;
    position:absolute!important;
    left:5mm!important;
    top:5mm!important;
    width:var(--pc-book-snapshot-width)!important;
    height:var(--pc-book-snapshot-height)!important;
    margin:0!important;
    padding:0!important;
    visibility:visible!important;
    transform:scale(var(--pc-book-snapshot-scale,1))!important;
    transform-origin:top left!important;
    overflow:visible!important;
    background:#fff!important;
  }
  body.pc-book-snapshot-printing #pc-book-print-snapshot .pc-book-print-snapshot-content{
    width:var(--pc-book-snapshot-width)!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  body.pc-book-snapshot-printing #pc-book-print-snapshot *{
    animation:none!important;
    transition:none!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  body.pc-book-snapshot-printing #pc-book-print-snapshot .book-structural-grid{
    width:100%!important;
    max-width:none!important;
  }
}

/* Responsive Liste médias */
@media(max-width:780px){
  .media-list-view .media-list-card{
    grid-template-columns:92px minmax(0,1fr)!important;
    min-height:122px;
  }
  .media-list-view .media-list-visual{
    width:92px;
    min-width:92px;
    height:122px;
  }
  .media-list-view .media-list-content{
    grid-template-columns:1fr;
    gap:8px;
    padding:10px 11px;
  }
  .media-list-view .media-list-tags{
    justify-content:flex-start;
  }
}
@media(max-width:520px){
  .media-list-view .media-list-card{
    grid-template-columns:76px minmax(0,1fr)!important;
    min-height:108px;
  }
  .media-list-view .media-list-visual{
    width:76px;
    min-width:76px;
    height:108px;
  }
  .media-list-view .media-list-content{
    padding:8px 9px;
  }
  .media-list-view .media-list-badges{
    gap:4px;
    margin-bottom:4px;
  }
  .media-list-view .media-list-heading h2{
    font-size:.92rem!important;
  }
  .media-list-view .media-list-tags{
    display:none;
  }
}


/* =========================================================
   V5.97 — Vue Liste Autres médias calquée sur les Livres
   ========================================================= */

/* Priorité explicite : le mode Liste annule toujours la grille 3 colonnes. */
#media-grid.media-list-view,
#media-category-grid.media-list-view,
.media-results-column #media-grid.media-list-view,
.media-results-column #media-category-grid.media-list-view{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-auto-flow:row!important;
  gap:10px!important;
  width:100%!important;
}

/* Même principe que la vue Liste des Livres : petite image fixe + corps à droite. */
#media-grid.media-list-view .media-list-card,
#media-category-grid.media-list-view .media-list-card{
  display:grid!important;
  grid-template-columns:84px minmax(0,1fr)!important;
  width:100%!important;
  min-width:0!important;
  min-height:122px!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid var(--pc-line,var(--line))!important;
  border-radius:15px!important;
  box-shadow:var(--pc-shadow-sm,0 5px 18px rgba(56,42,76,.07))!important;
  position:relative!important;
}
#media-grid.media-list-view .media-list-visual,
#media-category-grid.media-list-view .media-list-visual{
  width:84px!important;
  min-width:84px!important;
  max-width:84px!important;
  height:122px!important;
  min-height:122px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--pc-canvas,var(--soft))!important;
}
#media-grid.media-list-view .media-list-visual img,
#media-category-grid.media-list-view .media-list-visual img,
#media-grid.media-list-view .media-list-visual .media-video-thumbnail-link,
#media-category-grid.media-list-view .media-list-visual .media-video-thumbnail-link,
#media-grid.media-list-view .media-list-visual .resource-placeholder,
#media-category-grid.media-list-view .media-list-visual .resource-placeholder{
  display:block!important;
  width:84px!important;
  height:122px!important;
  min-height:122px!important;
  object-fit:cover!important;
  border-radius:0!important;
  margin:0!important;
}
#media-grid.media-list-view .media-list-content,
#media-category-grid.media-list-view .media-list-content{
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) minmax(190px,.75fr)!important;
  gap:14px!important;
  align-items:center!important;
  min-width:0!important;
  min-height:122px!important;
  padding:11px 14px!important;
  position:static!important;
}
#media-grid.media-list-view .media-list-heading,
#media-category-grid.media-list-view .media-list-heading{
  min-width:0!important;
  overflow:hidden!important;
}
#media-grid.media-list-view .media-list-badges,
#media-category-grid.media-list-view .media-list-badges{
  position:static!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  margin:0 0 5px!important;
  width:auto!important;
}
#media-grid.media-list-view .media-list-badges > *,
#media-category-grid.media-list-view .media-list-badges > *{
  position:static!important;
  inset:auto!important;
  margin:0!important;
  min-height:24px!important;
  padding:4px 7px!important;
  font-size:.65rem!important;
}
#media-grid.media-list-view .media-list-heading h2,
#media-category-grid.media-list-view .media-list-heading h2{
  margin:0 0 3px!important;
  min-height:0!important;
  font-size:1rem!important;
  line-height:1.2!important;
  white-space:normal!important;
}
#media-grid.media-list-view .media-list-creator,
#media-category-grid.media-list-view .media-list-creator,
#media-grid.media-list-view .media-list-meta,
#media-category-grid.media-list-view .media-list-meta{
  margin:1px 0!important;
  font-size:.75rem!important;
  line-height:1.25!important;
}
#media-grid.media-list-view .media-list-tags,
#media-category-grid.media-list-view .media-list-tags{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  align-content:center!important;
  gap:5px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
#media-grid.media-list-view .media-list-tags .genre-tag,
#media-category-grid.media-list-view .media-list-tags .genre-tag,
#media-grid.media-list-view .media-list-tags .tag,
#media-category-grid.media-list-view .media-list-tags .tag,
#media-grid.media-list-view .media-list-tags .platform-badge,
#media-category-grid.media-list-view .media-list-tags .platform-badge{
  font-size:.64rem!important;
  line-height:1.1!important;
  padding:4px 6px!important;
  white-space:normal!important;
}
#media-grid.media-list-view .media-video-play,
#media-category-grid.media-list-view .media-video-play{
  width:34px!important;
  height:34px!important;
  font-size:.82rem!important;
}

@media(max-width:900px){
  #media-grid.media-list-view .media-list-content,
  #media-category-grid.media-list-view .media-list-content{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
  #media-grid.media-list-view .media-list-tags,
  #media-category-grid.media-list-view .media-list-tags{
    justify-content:flex-start!important;
  }
}
@media(max-width:560px){
  #media-grid.media-list-view .media-list-card,
  #media-category-grid.media-list-view .media-list-card{
    grid-template-columns:70px minmax(0,1fr)!important;
    min-height:104px!important;
  }
  #media-grid.media-list-view .media-list-visual,
  #media-category-grid.media-list-view .media-list-visual,
  #media-grid.media-list-view .media-list-visual img,
  #media-category-grid.media-list-view .media-list-visual img,
  #media-grid.media-list-view .media-list-visual .media-video-thumbnail-link,
  #media-category-grid.media-list-view .media-list-visual .media-video-thumbnail-link,
  #media-grid.media-list-view .media-list-visual .resource-placeholder,
  #media-category-grid.media-list-view .media-list-visual .resource-placeholder{
    width:70px!important;
    min-width:70px!important;
    max-width:70px!important;
    height:104px!important;
    min-height:104px!important;
  }
  #media-grid.media-list-view .media-list-content,
  #media-category-grid.media-list-view .media-list-content{
    min-height:104px!important;
    padding:8px 9px!important;
  }
  #media-grid.media-list-view .media-list-tags,
  #media-category-grid.media-list-view .media-list-tags{
    display:none!important;
  }
}

/* Impression Livre V5.97 : le snapshot garde sa géométrie et son empreinte
   de mise en page est réellement réduite par zoom, donc il ne crée jamais
   une deuxième page à cause de sa hauteur non transformée. */
@media print{
  body.pc-book-snapshot-printing #pc-book-print-snapshot{
    left:5mm!important;
    top:5mm!important;
    width:var(--pc-book-snapshot-width)!important;
    height:var(--pc-book-snapshot-height)!important;
    zoom:var(--pc-book-snapshot-scale,1)!important;
    transform:none!important;
    transform-origin:top left!important;
    page-break-before:avoid!important;
    page-break-after:avoid!important;
    page-break-inside:avoid!important;
    break-before:avoid-page!important;
    break-after:avoid-page!important;
    break-inside:avoid-page!important;
  }
}


/* V6.01 — recherche globale */
.global-search-suggestions{max-width:760px;margin:8px auto 16px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 12px 30px rgba(45,34,63,.1)}
.global-search-suggestions a{display:flex;justify-content:space-between;gap:14px;padding:10px 13px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.global-search-suggestions a:last-child{border-bottom:0}.global-search-suggestions a:hover{background:var(--soft)}
.global-search-suggestions span{font-size:.75rem;color:var(--muted)}
.global-search-empty{text-align:center;padding:30px 18px}

*:focus-visible{outline:3px solid #6b56b6!important;outline-offset:3px!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* V6.05 — carte des associations */
.association-map-section{margin:0 0 28px}.association-map{width:100%;height:430px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--soft)}
.association-map .leaflet-popup-content a{font-weight:800}
@media(max-width:700px){.association-map{height:330px}}

/* V6.07 — Associations : filtres harmonisés */
.association-page-layout{display:grid;grid-template-columns:minmax(230px,280px) minmax(0,1fr);gap:24px;align-items:start}.association-filter-sidebar{min-width:0}.association-filter-sidebar .catalog-filters-panel{position:sticky;top:calc(var(--pc-fixed-header-height,78px) + 14px)}.association-reset-wide{width:100%;margin:9px 0 4px}.association-location-tags{max-height:210px;overflow:auto;align-content:flex-start}.association-results-column{min-width:0}.association-map-section{margin-top:4px}.association-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:1050px){.association-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:820px){.association-page-layout{display:block}.association-filter-sidebar .catalog-filters-panel{position:static}.association-location-tags{max-height:160px}.association-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:540px){.association-directory-grid{grid-template-columns:1fr!important}.association-map{height:300px}}

/* V6.07 — contrôle qualité Administration */
.admin-quality-dashboard{display:grid;gap:16px;margin-top:16px}.admin-quality-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.admin-quality-heading h3{margin:0}.admin-quality-score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px}.admin-quality-score-card{display:grid;gap:3px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.admin-quality-score-card>strong{font-size:1.7rem}.admin-quality-score-card>span{font-weight:800}.admin-quality-score-card small{color:var(--muted)}.admin-quality-score-card.good{border-left:5px solid #5a9f83}.admin-quality-score-card.warning{border-left:5px solid #d7a23d}.admin-quality-score-card.critical{border-left:5px solid #c35b70}.admin-quality-priority{display:grid;gap:7px;margin-top:14px}.admin-quality-priority-row{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:11px}.admin-quality-priority-row p{margin:3px 0 0}.admin-quality-meter{height:8px;background:#eee;border-radius:999px;overflow:hidden}.admin-quality-meter span{display:block;height:100%;background:#9c7ab7}.admin-quality-heading select{width:auto;min-width:190px}@media(max-width:700px){.admin-quality-heading{flex-direction:column}.admin-quality-heading select{width:100%}.admin-quality-priority-row{grid-template-columns:1fr}.admin-quality-meter{width:100%}}


/* V6.09 — vignettes Associations compactes à dimensions fixes */
.association-directory-grid{
  grid-template-columns:repeat(auto-fill,minmax(260px,260px))!important;
  gap:18px!important;
  justify-content:start;
  align-items:start;
}
.association-directory-card{
  box-sizing:border-box;
  width:260px!important;
  height:330px!important;
  min-width:260px!important;
  max-width:260px!important;
  min-height:330px!important;
  max-height:330px!important;
  padding:16px!important;
  gap:12px!important;
  overflow:hidden;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
}
.association-directory-card-head{
  display:contents!important;
}
.association-directory-logo{
  flex:0 0 auto!important;
  width:100%!important;
  height:150px!important;
  min-height:150px!important;
  border-radius:14px!important;
  margin:0!important;
}
.association-directory-logo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:8px!important;
}
.association-directory-card-content{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.association-directory-card-content h3{
  width:100%;
  margin:0!important;
  font-size:1rem!important;
  line-height:1.2!important;
  min-height:2.4em;
  max-height:2.4em;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.association-directory-acronym{
  margin:3px 0 0!important;
  color:var(--pc-muted,var(--muted));
  font-size:.72rem;
  font-weight:750;
  min-height:1em;
}
.association-directory-location{
  margin:6px 0 0!important;
  font-size:.74rem!important;
  line-height:1.2!important;
  color:var(--pc-muted,var(--muted));
  min-height:1.2em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.association-directory-tags{
  width:100%;
  min-height:42px;
  max-height:42px;
  margin-top:8px;
  justify-content:center!important;
  align-content:flex-start;
  overflow:hidden;
}
.association-directory-tags .tag{
  font-size:.62rem!important;
  padding:4px 6px!important;
  line-height:1!important;
}
.association-directory-open{
  margin-top:auto;
  display:block;
  text-align:center;
  color:var(--pc-violet-deep,#51439b);
  font-size:.72rem;
  font-weight:850;
}
.association-directory-card .association-contact-icons,
.association-directory-card .association-directory-meta,
.association-directory-card .association-directory-description,
.association-directory-card .association-directory-services{
  display:none!important;
}

/* Sur tablette, on garde la dimension fixe et on centre la grille. */
@media(max-width:900px){
  .association-directory-grid{
    grid-template-columns:repeat(auto-fill,minmax(260px,260px))!important;
    justify-content:center;
  }
}

/* Sur très petit mobile, la carte s'adapte à l'écran sans changer sa hauteur. */
@media(max-width:310px){
  .association-directory-card{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .association-directory-grid{
    grid-template-columns:1fr!important;
  }
}
.taxonomy-color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--term);margin-right:6px}.admin-todo-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.admin-todo-row[data-level="Important"] strong{color:#a63256}.admin-todo-row[data-level="À vérifier"] strong{color:#9a651d}.media-library-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:9px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}.media-library-row img{width:54px;height:54px;object-fit:contain;border-radius:8px;background:var(--soft)}.media-library-row small{display:block;color:var(--muted)}
/* V6.17 — PWA, mode borne, performances */
.pc-kiosk-exit{position:fixed;right:12px;bottom:12px;z-index:9000;padding:7px 10px;border-radius:999px;background:rgba(30,24,42,.82);color:#fff;text-decoration:none;font-size:.72rem}
html.pc-kiosk-mode .site-header .brand-name{font-size:1.15rem}
body.pc-kiosk-mode #site-footer,
body.pc-kiosk-mode .pc-global-tools,
body.pc-kiosk-mode .pc-search-nav-link,
body.pc-kiosk-mode .report-error-btn{display:none!important}
body.pc-kiosk-mode .site-header{box-shadow:0 5px 18px rgba(42,32,58,.12)!important}
body.pc-kiosk-mode .book-card,
body.pc-kiosk-mode .media-card,
body.pc-kiosk-mode .association-directory-card{transform:none!important}
body.pc-kiosk-mode .books-results-column,
body.pc-kiosk-mode .media-results-column{font-size:1.04rem}
.offline-card{max-width:650px;margin:12vh auto;padding:30px;border:1px solid var(--line);border-radius:20px;background:#fff;text-align:center}
@media(prefers-reduced-data:reduce){img{content-visibility:auto}.home-editorial-selections,.dynamic-home-sections{display:none}}


/* =========================================================
   V6.18 — logos Associations : cadre visuel optimisé
   ========================================================= */
.association-directory-card{
  height:330px!important;
  min-height:330px!important;
  max-height:330px!important;
}
.association-directory-logo{
  position:relative;
  width:100%!important;
  height:160px!important;
  min-height:160px!important;
  flex:0 0 160px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(73,58,94,.10)!important;
  border-radius:15px!important;
  background:
    radial-gradient(circle at 50% 45%,rgba(255,255,255,.98) 0 44%,rgba(248,246,250,.95) 100%)!important;
  box-shadow:inset 0 0 0 5px rgba(255,255,255,.65);
}
.association-directory-logo::after{
  content:"";
  position:absolute;
  inset:7px;
  z-index:0;
  border:1px solid rgba(93,76,115,.06);
  border-radius:10px;
  pointer-events:none;
}
.association-directory-logo img{
  position:relative;
  z-index:1;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  box-sizing:border-box!important;
  background:transparent!important;
  filter:none!important;
}
/* Les marges internes varient selon le ratio réel du logo. */
.association-directory-logo img.association-logo-wide{
  padding:24px 9px!important;
}
.association-directory-logo img.association-logo-square{
  padding:10px!important;
}
.association-directory-logo img.association-logo-tall{
  padding:8px 34px!important;
}
.association-directory-logo>span{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  border-radius:18px;
  background:#fff;
  font-size:2rem;
}
.association-directory-card-content h3{
  margin-top:0!important;
}
.association-directory-card-content{
  gap:0!important;
}
.association-directory-open{
  padding-top:3px;
}
@media(max-width:310px){
  .association-directory-logo{
    height:150px!important;
    min-height:150px!important;
    flex-basis:150px!important;
  }
}


/* V6.22 — largeur générale modernisée */
@media (min-width:541px) and (max-width:900px){
  .container{width:min(100% - 32px,1440px)}
}
@media (min-width:901px){
  .container{width:min(1440px,calc(100% - 48px))}
}
/* Les contenus de lecture restent volontairement plus étroits. */
.page-band .container > p,
.prose,
.legal-copy{
  max-width:900px;
}


/* ============================================================
   V6.23 — largeur harmonisée sur l’ensemble du site public
   Une seule largeur de référence : 1440 px.
   Les limitations de largeur internes ne concernent que la lisibilité
   des textes / formulaires, jamais la largeur structurelle de la page.
   ============================================================ */
:root{
  --pc-page-max:1440px;
  --pc-page-gutter:24px;
}

body:not(.admin-page) .container,
body:not(.admin-page) main > .container,
body:not(.admin-page) section > .container,
body:not(.admin-page) .page-band > .container,
body:not(.admin-page) .compact-band > .container,
body:not(.admin-page) .hero > .container,
body:not(.admin-page) .contact-section > .container,
body:not(.admin-page) footer > .container,
body:not(.admin-page) .site-footer > .container{
  width:min(var(--pc-page-max),calc(100% - (var(--pc-page-gutter) * 2)))!important;
  max-width:var(--pc-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Les bandes peuvent occuper l’écran ; leur contenu reste aligné sur la même grille. */
body:not(.admin-page) .page-band,
body:not(.admin-page) .compact-band,
body:not(.admin-page) .hero{
  width:100%!important;
  max-width:none!important;
}

/* Suppression des anciens plafonds structurels à 1180/1200/1220 px. */
body:not(.admin-page) .home-environment .home-sky-content > .container,
body:not(.admin-page) .home-environment .home-pond-content > .container,
body:not(.admin-page) .home-environment .supporters-undersea-section > .container,
body:not(.admin-page) .home-environment .home-benthic-section > .container{
  width:min(var(--pc-page-max),calc(100% - (var(--pc-page-gutter) * 2)))!important;
  max-width:var(--pc-page-max)!important;
}

/* Les composants structurants utilisent toute la largeur disponible du conteneur. */
body:not(.admin-page) .catalogue-layout,
body:not(.admin-page) .media-layout,
body:not(.admin-page) .media-page,
body:not(.admin-page) .media-catalogue,
body:not(.admin-page) .associations-layout,
body:not(.admin-page) .personality-layout,
body:not(.admin-page) .publishers-layout,
body:not(.admin-page) .detail-layout,
body:not(.admin-page) .resource-detail-layout,
body:not(.admin-page) .section-card{
  max-width:100%!important;
}

/* Les textes longs restent lisibles sans rétrécir la page elle-même. */
body:not(.admin-page) .prose,
body:not(.admin-page) .legal-copy,
body:not(.admin-page) .editorial-text{
  max-width:900px;
}

@media (max-width:900px){
  :root{--pc-page-gutter:16px}
}
@media (max-width:540px){
  :root{--pc-page-gutter:10px}
}


/* ============================================================
   V6.24 — Accueil : blocs bénéfices alignés sur la grille 1440 px
   ============================================================ */
.home-environment .home-benefits-scene > .container{
  width:min(var(--pc-page-max),calc(100% - (var(--pc-page-gutter) * 2)))!important;
  max-width:var(--pc-page-max)!important;
}
.home-environment .home-benefits-scene .benefits{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.home-environment .home-benefits-scene .benefits-panel{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  padding:20px!important;
  box-sizing:border-box!important;
}
.home-environment .home-benefits-scene .benefit{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  padding:18px 20px!important;
  border-radius:16px!important;
}
.home-environment .home-benefits-scene .benefit > div:last-child{
  min-width:0!important;
}
.home-environment .home-benefits-scene .benefit h3{
  margin:0 0 5px!important;
  font-size:clamp(1rem,1.2vw,1.15rem)!important;
  line-height:1.2!important;
}
.home-environment .home-benefits-scene .benefit p{
  margin:0!important;
  max-width:none!important;
  font-size:.94rem!important;
  line-height:1.45!important;
}
.home-environment .home-benefits-scene .benefit-icon{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  display:grid!important;
  place-items:center!important;
  font-size:1.65rem!important;
}
@media(max-width:980px){
  .home-environment .home-benefits-scene .benefits-panel{
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:14px!important;
  }
}
@media(max-width:540px){
  .home-environment .home-benefits-scene .benefit{
    grid-template-columns:44px minmax(0,1fr)!important;
    padding:14px!important;
    gap:11px!important;
  }
  .home-environment .home-benefits-scene .benefit-icon{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    font-size:1.35rem!important;
  }
}


/* ============================================================
   V6.25 — Personnalités + Lexique : filtres harmonisés
   avec Catalogue et Autres médias
   ============================================================ */
.personality-page-layout,
.lexicon-page-layout{
  align-items:start!important;
}
.personality-filter-sidebar .personality-toolbar,
.lexicon-filter-sidebar .lexicon-toolbar{
  display:block!important;
  margin:0!important;
}
.personality-filter-sidebar .personality-filter-block,
.lexicon-filter-sidebar .catalog-tag-filter-group{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.personality-filter-sidebar .personality-filter-row,
.lexicon-filter-sidebar .lexicon-category-filters{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  gap:7px!important;
  width:100%!important;
  max-width:none!important;
}
.personality-filter-sidebar .genre-filter-tag,
.lexicon-filter-sidebar .genre-filter-tag{
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  text-align:center!important;
}
.personality-results-column .catalog-result-toolbar,
.lexicon-results-column .catalog-result-toolbar{
  min-height:48px;
  align-items:center!important;
}
.personality-results-column #personality-count,
.lexicon-results-column #lexicon-count{
  margin:0!important;
  font-weight:750;
}
@media(max-width:900px){
  .personality-page-layout,
  .lexicon-page-layout{
    grid-template-columns:1fr!important;
  }
}


/* ============================================================
   V6.26 — Accueil : largeur des 3 blocs identique aux rubriques
   Les trois bénéfices s'alignent sur Les nouveautés, Coups de cœur,
   Le mot d'un petit canard et Ils nous soutiennent.
   ============================================================ */
.home-environment .home-benefits-scene > .container{
  width:min(var(--pc-page-max),calc(100% - (var(--pc-page-gutter) * 2)))!important;
  max-width:var(--pc-page-max)!important;
  background:transparent!important;
  padding-left:0!important;
  padding-right:0!important;
}
.home-environment .home-benefits-scene .benefits{
  width:100%!important;
  max-width:1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.home-environment .home-benefits-scene .benefits-panel{
  width:100%!important;
  max-width:1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}


/* ============================================================
   V6.27 — Accueil : 3 blocs bénéfices à la largeur des rubriques
   Correction V6.26 : suppression du plafond 1200 px trop étroit.
   ============================================================ */
.home-environment .home-benefits-scene > .container,
.home-environment .home-benefits-scene .benefits,
.home-environment .home-benefits-scene .benefits-panel{
  width:min(var(--pc-page-max),calc(100% - (var(--pc-page-gutter) * 2)))!important;
  max-width:var(--pc-page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.home-environment .home-benefits-scene > .container{
  padding-left:0!important;
  padding-right:0!important;
}
.home-environment .home-benefits-scene .benefits{
  width:100%!important;
}
.home-environment .home-benefits-scene .benefits-panel{
  width:100%!important;
}

/* V6.28 — workflow éditorial */
.workflow-help{margin:0 0 18px}.workflow-item{align-items:flex-start}.workflow-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}@media(max-width:760px){.workflow-actions{width:100%;justify-content:flex-start}}


/* V6.29 — Administration : séparer Pilotage et Catalogue */
.admin-tab-group-management{
  padding-bottom:12px!important;
  margin-bottom:12px!important;
  border-bottom:2px solid var(--line)!important;
}
.admin-tab-group-management .admin-tab-group-label{
  color:var(--purple)!important;
}
.admin-tab-group-catalogue{
  padding-top:2px!important;
}


/* ============================================================
   V6.30 — RESPONSIVITÉ GLOBALE
   Couche finale cohérente : desktop / tablette / mobile
   ============================================================ */

*,*::before,*::after{box-sizing:border-box}
html{max-width:100%;overflow-x:clip}
body{max-width:100%;overflow-x:clip}
img,svg,video,iframe{max-width:100%}
img,video{height:auto}
input,select,textarea,button{max-width:100%}

/* Le bandeau reste visible sur toutes les tailles d'écran. */
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:1000!important;
}

/* Conteneur de référence commun. */
body:not(.admin-page) .container{
  width:min(1440px,calc(100% - 48px))!important;
  max-width:1440px!important;
  margin-inline:auto!important;
}

/* Les zones flexibles ne doivent jamais provoquer de débordement. */
.books-results-column,
.media-results-column,
.personality-results-column,
.lexicon-results-column,
.detail-main,
.detail-left,
.admin-panel,
.admin-tool-card,
.admin-form-grid,
.admin-dashboard-columns,
.admin-dashboard-card{
  min-width:0!important;
}

/* Barres d'actions : elles se replient au lieu de déformer la page. */
.catalog-result-toolbar,
.media-result-toolbar,
.admin-toolbar,
.admin-section-heading,
.admin-selection-heading,
.admin-actions-row,
.admin-toolbar-actions,
.catalog-view-controls,
.media-view-controls,
.dialog-actions{
  flex-wrap:wrap!important;
  row-gap:8px!important;
}

/* Dialogues réellement adaptés à la fenêtre. */
dialog,
.book-dialog,
.personality-dialog,
.lexicon-dialog{
  width:min(1100px,calc(100vw - 32px))!important;
  max-width:calc(100vw - 32px)!important;
  max-height:calc(100dvh - 32px)!important;
  overflow:auto!important;
}

/* =========================
   TABLETTE / PETIT PORTABLE
   ========================= */
@media (max-width:1180px){
  body:not(.admin-page) .container{
    width:calc(100% - 36px)!important;
  }

  /* Les filtres passent au-dessus avant que la colonne résultats soit comprimée. */
  .books-page-layout,
  .media-page-layout,
  .personality-page-layout,
  .lexicon-page-layout{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .books-filter-sidebar,
  .media-filter-sidebar,
  .personality-filter-sidebar,
  .lexicon-filter-sidebar{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  .books-filter-sidebar .catalog-filters-panel,
  .media-filter-sidebar .catalog-filters-panel,
  .personality-filter-sidebar .catalog-filters-panel,
  .lexicon-filter-sidebar .catalog-filters-panel{
    position:static!important;
    max-height:none!important;
    overflow:visible!important;
  }

  /* Administration : les groupes restent lisibles et ne débordent pas. */
  .admin-wide{
    width:calc(100% - 24px)!important;
    max-width:none!important;
  }
  .admin-tab-group{
    min-width:0!important;
  }
  .admin-tabs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
  }
  .admin-tab{
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    line-height:1.2!important;
  }
  .admin-dashboard-columns{
    grid-template-columns:1fr!important;
  }

  /* Grilles : on conserve une densité utile sur tablette. */
  #books.book-grid,
  .book-grid:not(.book-grid-list){
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .media-results-column .media-grid,
  .media-results-column .resource-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .personality-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* =========================
   TABLETTE PORTRAIT
   ========================= */
@media (max-width:900px){
  body:not(.admin-page) .container{
    width:calc(100% - 28px)!important;
  }

  .detail-layout,
  .resource-detail-grid,
  .personality-detail-grid,
  .book-detail-grid,
  .publisher-detail-grid{
    grid-template-columns:1fr!important;
  }

  #books.book-grid,
  .book-grid:not(.book-grid-list),
  .personality-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .lexicon-grid{
    grid-template-columns:1fr!important;
  }

  .profile-entry-grid,
  .home-editorial-selection-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  /* Les blocs de l'accueil ne sont plus comprimés en 3 petites colonnes. */
  .home-environment .home-benefits-scene .benefits-panel{
    grid-template-columns:1fr!important;
  }

  /* Administration */
  .admin-toolbar{
    align-items:flex-start!important;
  }
  .admin-toolbar-actions{
    width:100%!important;
  }
  .admin-toolbar-actions .btn,
  .admin-toolbar-actions a.btn{
    flex:1 1 180px!important;
  }
  .admin-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .admin-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .admin-form-grid .span-3,
  .admin-form-grid .span-2{
    grid-column:1/-1!important;
  }

  /* Les tableaux deviennent défilables horizontalement sans élargir la page. */
  .admin-table,
  table.admin-table{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }
}

/* =========================
   MOBILE
   ========================= */
@media (max-width:640px){
  body:not(.admin-page) .container{
    width:calc(100% - 20px)!important;
  }

  section{
    min-width:0!important;
  }

  .page-band{
    padding-left:0!important;
    padding-right:0!important;
  }
  .page-band h1,
  .hero h1{
    font-size:clamp(1.75rem,8.5vw,2.5rem)!important;
    overflow-wrap:break-word!important;
  }

  /* Recherche et filtres */
  .catalog-filters-panel{
    padding:12px!important;
  }
  .media-genre-filters,
  .personality-filter-row,
  .lexicon-category-filters{
    gap:6px!important;
  }
  .genre-filter-tag{
    font-size:.78rem!important;
    line-height:1.2!important;
    padding:7px 9px!important;
  }
  .catalog-result-toolbar,
  .media-result-toolbar{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .catalog-view-controls,
  .media-view-controls{
    width:100%!important;
  }
  .catalog-view-controls .btn,
  .media-view-controls .btn{
    flex:1 1 auto!important;
  }

  /* Vignettes : deux colonnes restent lisibles sur les mobiles larges. */
  #books.book-grid,
  .book-grid:not(.book-grid-list),
  .personality-grid,
  .media-results-column .media-grid,
  .media-results-column .resource-grid,
  .publisher-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .lexicon-grid{
    grid-template-columns:1fr!important;
  }

  /* Vue liste : miniature compacte, texte flexible. */
  #books.book-grid-list .book-card,
  .media-list-view .media-card{
    min-width:0!important;
  }

  /* Accueil */
  .profile-entry-grid,
  .home-editorial-selection-grid{
    grid-template-columns:1fr!important;
  }
  .section-head{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:10px!important;
  }
  .section-head .btn{
    width:100%!important;
  }

  /* Administration : aucune grille de formulaire ne doit rester forcée. */
  .admin-wide{
    width:calc(100% - 12px)!important;
  }
  .admin-toolbar h1{
    font-size:1.65rem!important;
  }
  .admin-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .admin-tab{
    padding:9px 6px!important;
    font-size:.76rem!important;
  }
  .admin-form-grid,
  .association-admin-form,
  .editorial-picker-columns,
  .admin-quality-score-grid,
  .admin-dashboard-cards{
    grid-template-columns:1fr!important;
  }
  .admin-form-grid>*{
    grid-column:1!important;
  }
  .admin-actions-row,
  .admin-filter-bar,
  .workflow-actions{
    width:100%!important;
  }
  .admin-actions-row .btn,
  .admin-filter-bar>*,
  .workflow-actions .btn{
    width:100%!important;
  }
  .admin-quality-row{
    align-items:flex-start!important;
    gap:10px!important;
  }

  dialog,
  .book-dialog,
  .personality-dialog,
  .lexicon-dialog{
    width:calc(100vw - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
  }
}

/* =========================
   PETITS MOBILES
   ========================= */
@media (max-width:430px){
  body:not(.admin-page) .container{
    width:calc(100% - 16px)!important;
  }

  /* Sur très petit écran, une seule carte par ligne pour éviter les mots coupés. */
  #books.book-grid,
  .book-grid:not(.book-grid-list),
  .personality-grid,
  .media-results-column .media-grid,
  .media-results-column .resource-grid,
  .publisher-grid{
    grid-template-columns:1fr!important;
  }

  .admin-tabs{
    grid-template-columns:1fr!important;
  }
  .admin-tab{
    text-align:left!important;
    padding:10px 12px!important;
  }

  .btn{
    white-space:normal!important;
  }

  .pc-detail-actions{
    grid-template-columns:1fr!important;
  }
}


/* V6.32 — logos réseaux sociaux + Gardons le contact */
.site-social-native-icon{
  width:1.25em!important;height:1.25em!important;
  display:inline-grid!important;place-items:center!important;
  line-height:1!important;
}
.site-social-native-icon svg{width:100%!important;height:100%!important;display:block!important}
.association-contact-section{padding:34px 0 44px}
.association-contact-card{
  display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);
  gap:28px;align-items:center;padding:30px;
  border:1px solid var(--line);border-radius:24px;background:var(--card);
  box-shadow:var(--shadow-soft);
}
.association-contact-copy h2{margin:.15em 0 .35em}
.association-contact-copy p{max-width:760px}
.association-contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.association-contact-social{padding:20px;border-radius:18px;background:var(--soft)}
.association-contact-social h3{margin:0 0 12px}
.association-social-links{display:flex;flex-wrap:wrap;gap:9px}
.association-social-link{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 12px;border:1px solid var(--line);border-radius:999px;
  background:var(--card);color:inherit;text-decoration:none;font-weight:750;
}
.association-social-link:hover{transform:translateY(-1px)}
.association-social-link .site-social-native-icon{width:20px!important;height:20px!important}
@media(max-width:800px){
 .association-contact-card{grid-template-columns:1fr;padding:22px}
}
@media(max-width:520px){
 .association-contact-section{padding:24px 0 32px}
 .association-contact-card{padding:16px;border-radius:18px}
 .association-contact-actions{flex-direction:column}
 .association-contact-actions .btn{width:100%}
 .association-social-link{flex:1 1 calc(50% - 9px);justify-content:center}
}


/* V6.33 — carte des associations */
.association-map{
  width:100%!important;
  height:clamp(360px,46vw,560px)!important;
  min-height:360px!important;
  position:relative!important;
  z-index:1!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#eef3f0!important;
}
.association-map .leaflet-container,
#association-map.leaflet-container{
  width:100%!important;
  height:100%!important;
}
.association-map-section{min-width:0!important}
@media(max-width:640px){
  .association-map{height:400px!important;min-height:400px!important}
}


/* ============================================================
   V6.34 — bandeau principal : collé en haut + plus ample bureau
   ============================================================ */
html,body{margin-top:0!important;padding-top:0}
.site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  margin:0!important;
  transform:none!important;
  width:100%!important;
  z-index:5000!important;
  background:#fff!important;
  overflow:visible!important;
}
.site-header .rainbow-line{margin:0!important}
body.pc-fixed-header-active{
  padding-top:var(--pc-fixed-header-height,112px)!important;
}
@media(min-width:1181px){
  .site-header .nav{
    min-height:116px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
  .site-header .brand-duck{
    width:76px!important;
    height:76px!important;
    object-fit:contain!important;
  }
  .site-header .brand-name{
    width:auto!important;
    max-width:190px!important;
    max-height:68px!important;
    object-fit:contain!important;
  }
  .site-header .nav-links a,
  .site-header .nav-dropdown-toggle{
    font-size:.98rem!important;
    padding:11px 13px!important;
  }
}
@media(max-width:1180px){
  .site-header{
    position:fixed!important;
    top:0!important;
  }
}

/* Associations : aucun logo ne doit être rogné. */
.association-directory-logo{
  padding:10px!important;
}
.association-directory-logo img,
.association-directory-logo img.association-logo-wide,
.association-directory-logo img.association-logo-square,
.association-directory-logo img.association-logo-tall{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
  border-radius:10px!important;
}
.association-directory-logo::after{display:none!important}
.association-detail-logo img,
.community-association-logo img{
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
.community-association-logo-preview{
  min-height:180px;
  display:grid;
  place-items:center;
  padding:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#f8f7fb;
}
.community-association-logo-preview img{
  width:100%;
  height:160px;
  object-fit:contain;
  object-position:center;
}


/* ============================================================
   V6.35 — Administration : diagnostics directement actionnables
   ============================================================ */
.admin-quality-issue{
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  margin-bottom:8px;
  background:#fff;
}
.admin-quality-issue.ok{opacity:.72}
.admin-quality-issue>.admin-quality-row{border:0!important;margin:0!important;border-radius:0!important}
.admin-quality-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.admin-quality-actions .btn{padding:6px 10px;font-size:.78rem}
.admin-quality-issue-list{
  border-top:1px solid var(--line);
  padding:8px 12px 12px;
  background:var(--soft);
  max-height:420px;
  overflow:auto;
}
.admin-actionable-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 0;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.admin-actionable-row:last-child{border-bottom:0}
.admin-actionable-row>span{min-width:0;font-weight:650;overflow-wrap:anywhere}
.admin-todo-task{
  border:1px solid var(--line);
  border-radius:16px;
  margin-bottom:12px;
  background:#fff;
  overflow:hidden;
}
.admin-todo-task-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 14px;
  background:var(--soft);
}
.admin-todo-task-head>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.admin-todo-level{
  display:inline-flex;
  padding:4px 8px;
  border-radius:999px;
  background:#eee9ff;
  color:#51439b;
  font-size:.72rem;
  font-weight:850;
}
.admin-todo-items{padding:4px 14px 10px}
.admin-quality-priority-row .admin-row-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
@media(max-width:700px){
 .admin-actionable-row{align-items:stretch;flex-direction:column}
 .admin-actionable-row .btn{width:100%}
 .admin-quality-actions{width:100%;justify-content:flex-start}
 .admin-quality-priority-row .admin-row-actions{width:100%}
 .admin-quality-priority-row .admin-row-actions .btn{flex:1 1 100%}
}

/* V6.37 — images indisponibles */
.pc-broken-image-fallback{
  width:100%;
  min-height:110px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:4px;
  padding:14px;
  background:linear-gradient(135deg,#f5f2f8,#ece9f3);
  color:var(--muted);
  border:1px dashed var(--line);
  border-radius:12px;
  text-align:center;
}
.pc-broken-image-fallback>span{font-size:1.6rem}
.pc-broken-image-fallback small{font-size:.72rem;font-weight:700}
#image-check-list .admin-actionable-row>div{min-width:0}
#image-check-list .admin-actionable-row small{display:block;max-width:760px;overflow-wrap:anywhere}

/* V6.38 — filtre alphabétique Personnalités */
.personality-alphabet-wrap{
  width:100%;margin:0 0 18px;padding:14px 16px;
  border:1px solid var(--line);border-radius:16px;background:#fff;
}
.personality-alphabet-heading{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px;
}
.personality-alphabet-heading span{color:var(--muted);font-size:.82rem}
.personality-alphabet-filter{display:flex;flex-wrap:wrap;gap:6px}
.personality-letter{
  min-width:34px;height:34px;padding:0 8px;border:1px solid var(--line);
  border-radius:9px;background:#fff;color:var(--ink);font-weight:800;cursor:pointer;
}
.personality-letter:first-child{min-width:54px}
.personality-letter:hover:not(:disabled),.personality-letter.active{
  background:#eee9ff;border-color:#7465c7;color:#51439b;
}
.personality-letter:disabled{opacity:.28;cursor:default}
.personality-alphabet-admin{margin:14px 0 12px}
@media(max-width:640px){
  .personality-alphabet-wrap{padding:12px}
  .personality-alphabet-heading{align-items:flex-start;flex-direction:column;gap:2px}
  .personality-alphabet-filter{gap:5px}
  .personality-letter{min-width:32px;height:32px;padding:0 6px;font-size:.82rem}
}

/* V6.39 — contrôle des liens/images plus actionnable */
.admin-broken-link-row small a,
#image-check-list .admin-actionable-row small a{
  overflow-wrap:anywhere;
  text-decoration:underline;
  text-underline-offset:2px;
}
.admin-broken-link-row>div,
#image-check-list .admin-actionable-row>div{min-width:0}

/* V6.40 — médiathèque avec stockage de fichiers */
.media-library-row{grid-template-columns:72px minmax(0,1fr) auto!important}
.media-library-row img{width:64px!important;height:64px!important;object-fit:contain!important;background:#fff!important}
.media-library-choose-btn{margin-top:7px}
.media-library-picker-dialog{width:min(1040px,calc(100vw - 32px))!important;max-width:1040px!important}
.media-library-picker-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:14px;
}
.media-library-picker-item{
  border:1px solid var(--line);border-radius:14px;background:#fff;padding:8px;
  display:grid;gap:7px;text-align:left;cursor:pointer;min-width:0;
}
.media-library-picker-item:hover{border-color:#7465c7;box-shadow:0 4px 14px rgba(70,60,120,.12)}
.media-library-picker-item img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#f7f6fa;border-radius:10px}
.media-library-picker-item span{font-size:.78rem;font-weight:750;overflow-wrap:anywhere}
@media(max-width:900px){.media-library-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.media-library-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-library-row{grid-template-columns:56px minmax(0,1fr)!important}.media-library-row .admin-row-actions{grid-column:1/-1}}


/* V6.42 — sélecteur de médiathèque non bloquant */
.media-library-picker-panel[hidden]{display:none!important}
.media-library-picker-panel{
  position:fixed!important;
  top:calc(var(--pc-fixed-header-height,96px) + 14px)!important;
  right:18px!important;
  z-index:9000!important;
  width:min(980px,calc(100vw - 36px))!important;
  max-height:calc(100dvh - var(--pc-fixed-header-height,96px) - 32px)!important;
  overflow:auto!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--line)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 18px 60px rgba(35,28,58,.22)!important;
}
.media-library-picker-panel-inner{padding:18px!important}
.media-library-picker-panel .dialog-head{
  position:sticky;
  top:-18px;
  z-index:2;
  background:#fff;
  padding:18px 0 12px;
  margin-top:-18px;
}
.media-library-picker-panel #media-library-picker-search{
  width:100%;
  margin-bottom:4px;
}
@media(max-width:700px){
  .media-library-picker-panel{
    top:8px!important;
    right:8px!important;
    left:8px!important;
    width:auto!important;
    max-height:calc(100dvh - 16px)!important;
  }
  .media-library-picker-panel-inner{padding:14px!important}
}

/* V6.43 — Associations : logos homogènes, complets et non rognés */
.association-directory-logo{height:150px!important;min-height:150px!important;flex-basis:150px!important;padding:14px!important;background:#fff!important;border:1px solid var(--line)!important;box-shadow:none!important;overflow:hidden!important}
.association-directory-logo img,.association-directory-logo img.association-logo-wide,.association-directory-logo img.association-logo-square,.association-directory-logo img.association-logo-tall{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;margin:auto!important;padding:0!important;object-fit:contain!important;object-position:center!important;border-radius:0!important;background:transparent!important;filter:none!important;transform:none!important}
.association-directory-logo>span{width:auto!important;height:auto!important;padding:10px!important;font-size:.78rem!important;color:var(--muted)!important;background:transparent!important}
.association-detail-logo{background:#fff!important;padding:16px!important;overflow:hidden!important}
.association-detail-logo img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:transparent!important}
.community-association-logo-preview img{display:block!important;width:100%!important;height:160px!important;object-fit:contain!important;object-position:center!important;background:#fff!important}

/* V6.44 — médiathèque toujours au-dessus des formulaires */
.media-library-picker-panel{
  position:fixed!important;
  inset:50% auto auto 50%!important;
  transform:translate(-50%,-50%)!important;
  width:min(1040px,calc(100vw - 40px))!important;
  max-width:1040px!important;
  max-height:calc(100dvh - 40px)!important;
  margin:0!important;
  padding:0!important;
  overflow:auto!important;
  z-index:2147483647!important;
  border:1px solid var(--line)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 24px 80px rgba(25,18,45,.34)!important;
}
.media-library-picker-panel::backdrop{background:rgba(28,22,40,.34)!important;backdrop-filter:blur(1.5px)}
.media-library-picker-panel[open]{display:block!important}
@media(max-width:700px){
 .media-library-picker-panel{inset:8px!important;transform:none!important;width:auto!important;max-width:none!important;max-height:calc(100dvh - 16px)!important}
}

/* V6.45 — Médias : contrôles prioritaires + médiathèque compacte */
.media-admin-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}
.media-control-card{margin:0!important;min-height:150px}
.media-library-card{margin-top:0!important}
.media-library-filters{margin:14px 0!important}
.media-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.media-library-tile{min-width:0;border:1px solid var(--line);border-radius:14px;background:#fff;padding:9px;display:grid;grid-template-columns:68px minmax(0,1fr);gap:9px;align-items:center}
.media-library-thumb{width:68px;height:68px;border-radius:10px;background:var(--soft);display:grid;place-items:center;overflow:hidden}
.media-library-thumb img{width:100%!important;height:100%!important;object-fit:contain!important;background:#fff}
.media-library-tile-info{min-width:0}
.media-library-tile-info strong,.media-library-tile-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.media-library-tile-info small{color:var(--muted);margin-top:3px}
.media-library-tile .admin-row-actions{grid-column:1/-1;justify-content:flex-end}
.media-library-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px}
@media(max-width:1000px){.media-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.media-admin-control-grid{grid-template-columns:1fr}.media-library-grid{grid-template-columns:1fr}}


/* ============================================================
   V6.46 — optimisation globale + responsive renforcé
   ============================================================ */
@media screen{
  html{scroll-behavior:smooth}
  body{overflow-x:hidden!important}
  button,a,input,select,textarea{touch-action:manipulation}
  :where(.books-results-column,.media-results-column,.personality-results-column,
  .lexicon-results-column,.admin-panel,.admin-tool-card,.section-card,
  .detail-layout,.resource-detail-grid){min-width:0!important}

  /* Réduit le coût de rendu des longues listes sans changer leur disposition. */
  :where(.book-card,.media-card,.personality-card,.association-directory-card,
  .publisher-card,.lexicon-card,.resource-card){
    content-visibility:auto;
    contain-intrinsic-size:320px 430px;
  }

  /* Images plus stables pendant le chargement. */
  :where(.book-card,.media-card,.personality-card,.association-directory-card,
  .publisher-card,.resource-card) img{
    max-width:100%;
  }

  /* Espacements fluides plutôt que ruptures brutales. */
  main>section{scroll-margin-top:calc(var(--pc-fixed-header-height,96px) + 14px)}
  .section-card{padding:clamp(16px,2vw,28px)!important}
  .admin-tool-card{padding:clamp(14px,1.8vw,24px)!important}

  /* Contrôles cohérents et utilisables au tactile. */
  .btn,.admin-tab,.genre-filter-tag,.personality-letter{
    min-height:38px;
  }
  .table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
  }
  .admin-table{width:100%;max-width:100%}
  .admin-filters{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(175px,1fr))!important;
    gap:9px!important;
    align-items:end!important;
  }
  .admin-filters>*{min-width:0!important;width:100%!important}

  /* Navigation mobile : toujours contenue dans l'écran. */
  .nav-links{
    overscroll-behavior:contain;
  }

  /* Les médias embarqués ne créent plus de débordement. */
  iframe,video{max-width:100%!important}
}

/* Portable / tablette paysage */
@media screen and (max-width:1220px){
  .site-header .container.nav{
    width:calc(100% - 24px)!important;
    max-width:none!important;
  }
  .nav-links.open{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    top:calc(var(--pc-fixed-header-height,88px) - 2px)!important;
    width:auto!important;
    max-width:none!important;
    max-height:calc(100dvh - var(--pc-fixed-header-height,88px) - 12px)!important;
    overflow-y:auto!important;
    padding-bottom:max(14px,env(safe-area-inset-bottom))!important;
  }
  .nav-dropdown-menu{
    max-width:100%!important;
  }

  .admin-tabs{
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  }
  .admin-dashboard-cards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Tablette portrait */
@media screen and (max-width:900px){
  body:not(.admin-page) .container{
    width:calc(100% - 24px)!important;
  }

  .catalog-result-toolbar,
  .media-result-toolbar,
  .admin-section-heading,
  .admin-selection-heading{
    align-items:flex-start!important;
  }

  .catalog-result-toolbar>*,
  .media-result-toolbar>*{
    min-width:0!important;
  }

  .detail-layout,
  .resource-detail-grid,
  .personality-detail-grid,
  .publisher-detail-grid{
    gap:18px!important;
  }

  .media-admin-control-grid{
    grid-template-columns:1fr!important;
  }

  .media-library-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Mobile */
@media screen and (max-width:640px){
  body:not(.admin-page) .container{
    width:calc(100% - 16px)!important;
  }

  .site-header .container.nav{
    width:calc(100% - 14px)!important;
  }
  .site-header .brand-duck{
    width:54px!important;
    height:54px!important;
  }
  .site-header .brand-name{
    max-width:130px!important;
    height:auto!important;
  }
  .menu-btn{
    min-width:46px!important;
    min-height:46px!important;
  }

  .btn,
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea{
    min-height:44px;
  }

  .admin-wide{
    width:calc(100% - 8px)!important;
  }
  .admin-toolbar{
    padding-inline:4px!important;
  }
  .admin-toolbar-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .admin-toolbar-actions>*{width:100%!important}

  .admin-tabs{
    grid-template-columns:1fr 1fr!important;
  }
  .admin-tab{
    min-height:46px!important;
    padding:9px 7px!important;
  }

  .admin-filters{
    grid-template-columns:1fr!important;
  }
  .admin-actions-wrap,
  .dialog-actions,
  .admin-row-actions{
    gap:7px!important;
  }

  .catalog-filters-panel,
  .personality-alphabet-wrap{
    border-radius:14px!important;
  }

  .media-library-grid{
    grid-template-columns:1fr!important;
  }
  .media-library-pagination{
    flex-wrap:wrap!important;
  }

  /* Les fenêtres d'édition utilisent réellement la hauteur disponible. */
  dialog,
  .book-dialog,
  .personality-dialog,
  .lexicon-dialog,
  .media-library-picker-panel{
    max-height:calc(100dvh - 12px)!important;
  }
}

/* Très petits écrans */
@media screen and (max-width:390px){
  .admin-tabs{grid-template-columns:1fr!important}
  .site-header .brand-name{max-width:108px!important}
  .personality-alphabet-filter{gap:4px!important}
  .personality-letter{min-width:30px!important;padding-inline:5px!important}
}

/* Respect du réglage système de réduction des animations. */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}


/* ============================================================
   V6.47 — Présentation harmonisée + alphabet sur une seule ligne
   ============================================================ */

/* Page Présentation : même rythme visuel d'une rubrique à l'autre,
   en cohérence avec les grands blocs de l'accueil. */
.association-environment .association-presentation-rubric{
  padding:28px 0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
}
.association-environment .association-presentation-rubric > .container{
  width:min(var(--pc-page-max,1440px),calc(100% - (var(--pc-page-gutter,24px) * 2)))!important;
  max-width:var(--pc-page-max,1440px)!important;
  margin-inline:auto!important;
}
.association-environment .association-presentation-rubric .section-head,
.association-environment .association-presentation-rubric .supporters-head{
  width:100%!important;
  margin:0 0 18px!important;
  padding:20px 22px!important;
  border:1px solid rgba(255,255,255,.78)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.84)!important;
  box-shadow:0 10px 28px rgba(74,73,96,.08)!important;
  backdrop-filter:blur(6px);
}
.association-environment .association-presentation-rubric .section-head h2,
.association-environment .association-presentation-rubric .supporters-head h2{
  margin:0 0 5px!important;
}
.association-environment .association-presentation-rubric .section-head p,
.association-environment .association-presentation-rubric .supporters-head p{
  margin:0!important;
}

/* Le premier bloc (histoire / mission / ancrage) suit la même largeur
   et le même rythme que les autres rubriques. */
.association-environment .association-intro-grid{
  gap:18px!important;
}
.association-environment .association-intro-grid .card,
.association-environment .association-function-card,
.association-environment .association-page-links>a{
  border-radius:18px!important;
  border:1px solid var(--line)!important;
  box-shadow:0 8px 22px rgba(55,44,78,.06)!important;
}

/* Gardons le contact devient une rubrique au même niveau visuel. */
.association-environment .association-contact-card{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:22px!important;
  border-radius:20px!important;
  border:1px solid rgba(255,255,255,.78)!important;
  background:rgba(255,255,255,.84)!important;
  box-shadow:0 10px 28px rgba(74,73,96,.08)!important;
}
.association-environment .association-contact-copy h2{
  margin-top:0!important;
}

/* Personnalités : l'alphabet ne se coupe jamais sur deux lignes.
   Sur petits écrans, il défile horizontalement. */
.personality-alphabet-filter{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:6px!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding-bottom:5px!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
}
.personality-alphabet-filter .personality-letter{
  flex:0 0 auto!important;
}
@media(max-width:640px){
  .association-environment .association-presentation-rubric{padding:18px 0!important}
  .association-environment .association-presentation-rubric .section-head,
  .association-environment .association-presentation-rubric .supporters-head,
  .association-environment .association-contact-card{
    padding:16px!important;
    border-radius:16px!important;
  }
  .personality-alphabet-wrap{
    overflow:hidden!important;
  }
}


/* ============================================================
   V6.48 — Accueil : blocs bénéfices alignés sur les autres rubriques
   Corrige le double retrait horizontal sur téléphone.
   ============================================================ */
.home-environment .home-benefits-scene > .container{
  box-sizing:border-box!important;
}
.home-environment .home-benefits-scene .benefits,
.home-environment .home-benefits-scene .benefits-panel{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
.home-environment .home-benefits-scene .benefits-panel > .benefit{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

@media screen and (max-width:900px){
  body:not(.admin-page) .home-environment .home-benefits-scene > .container{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    margin-inline:auto!important;
    padding-inline:0!important;
  }
}
@media screen and (max-width:640px){
  body:not(.admin-page) .home-environment .home-benefits-scene > .container{
    width:calc(100% - 16px)!important;
    max-width:none!important;
    margin-inline:auto!important;
    padding-inline:0!important;
  }
  .home-environment .home-benefits-scene .benefits-panel{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .home-environment .home-benefits-scene .benefit{
    min-height:0!important;
    padding:16px!important;
    border-radius:16px!important;
  }
}


/* ============================================================
   V6.49 — Présentation : suppression du double fond des titres
   Le fond appartient à la rubrique, pas au bloc de titre.
   ============================================================ */
.association-environment .association-presentation-rubric .section-head,
.association-environment .association-presentation-rubric .supporters-head{
  width:100%!important;
  margin:0 0 16px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* « Gardons le contact » utilise lui aussi uniquement le fond
   général de sa rubrique, comme sur la page d’accueil. */
.association-environment .association-contact-card{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
}

/* Le bloc réseaux sociaux reste identifiable sans créer
   un second grand fond derrière le titre. */
.association-environment .association-contact-social{
  box-shadow:none!important;
}

@media(max-width:640px){
  .association-environment .association-presentation-rubric .section-head,
  .association-environment .association-presentation-rubric .supporters-head{
    padding:0!important;
    border-radius:0!important;
  }
  .association-environment .association-contact-card{
    padding:0!important;
    border-radius:0!important;
  }
}


/* ============================================================
   V6.51 — Accueil : largeur des 3 bénéfices selon l'écran
   Desktop : léger retrait comme avant.
   Mobile/tablette : pleine largeur utile, correction V6.48 conservée.
   ============================================================ */
@media screen and (min-width:901px){
  .home-environment .home-benefits-scene .benefits,
  .home-environment .home-benefits-scene .benefits-panel{
    width:min(var(--pc-page-max,1440px),calc(100% - (var(--pc-page-gutter,24px) * 2)))!important;
    max-width:var(--pc-page-max,1440px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

@media screen and (max-width:900px){
  .home-environment .home-benefits-scene .benefits,
  .home-environment .home-benefits-scene .benefits-panel{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}


/* ============================================================
   V6.52 — Catalogue : badges et actions de sélection
   ============================================================ */

/* "Bientôt" et "Nouveau" utilisent le même emplacement.
   Le rendu JS garantit qu'un seul des deux est affiché. */
.book-cover .badge-new,
.book-cover .badge-soon{
  position:absolute!important;
  left:10px!important;
  right:auto!important;
  top:10px!important;
  z-index:4!important;
}
.book-cover .badge-soon{
  min-height:0!important;
  padding:5px 9px!important;
  font-size:.74rem!important;
  line-height:1.2!important;
  text-transform:none!important;
  letter-spacing:0!important;
  box-shadow:none!important;
}

/* Actions visibles uniquement lorsqu'une sélection existe. */
.selection-bar{
  max-width:calc(100vw - 24px)!important;
}
.selection-bar-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
}
.selection-bar .btn-selection-request{
  background:#6d4be6!important;
  border:1px solid #6d4be6!important;
  color:#fff!important;
}
.selection-bar .btn-selection-request:hover,
.selection-bar .btn-selection-request:focus-visible{
  background:#5938cc!important;
  border-color:#5938cc!important;
  color:#fff!important;
}
.selection-bar .btn-selection-export{
  background:#138a78!important;
  border:1px solid #138a78!important;
  color:#fff!important;
}
.selection-bar .btn-selection-export:hover,
.selection-bar .btn-selection-export:focus-visible{
  background:#0e7162!important;
  border-color:#0e7162!important;
  color:#fff!important;
}

@media(max-width:640px){
  .selection-bar{
    align-items:stretch!important;
    gap:8px!important;
  }
  .selection-bar-count{
    width:100%;
    text-align:center;
  }
  .selection-bar-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .selection-bar-actions .btn{
    width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    text-align:center!important;
  }
}
@media(max-width:390px){
  .selection-bar-actions{
    grid-template-columns:1fr;
  }
}
