/* Idées 1 à 3 (12/10/2026) — versions d'une carte, collection par version, catalogue en tableau.
   Uniquement des variables du design (--u-*, --r-*, --marge) : aucun style en ligne (CSP), aucun hôte
   tiers, aucune image de fond externe. Mobile d'abord (390 px), puis 768 et 1280. */

/* ───────────── idée 1 : les versions d'une carte ───────────── */
.carte-page__stock{margin:0 0 14px;color:var(--u-muted);font-size:15px}
.versions__saut{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.versions__saut .puce{text-decoration:none;color:var(--u-ink)}
.versions{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.version{display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-areas:"visuel tete" "corps corps";gap:14px;padding:14px;border-radius:var(--r-m);background:var(--u-surface);border:1px solid var(--u-line);scroll-margin-top:calc(var(--nav-h) + 16px)}
.version:target{box-shadow:0 0 0 2px var(--u-a1)}
.version--en-stock{border-color:var(--u-a1)}
.version__visuel{grid-area:visuel;position:relative;width:96px;aspect-ratio:245/337;border-radius:10px;overflow:hidden;background:var(--u-surface-2)}
.version__vide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:6px;border:1px dashed var(--u-line);border-radius:10px;color:var(--u-muted);font-size:12px;line-height:1.25}
.version__visuel .image,.version__visuel img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;border-radius:10px}
/* Une image qui ne charge pas : sans JavaScript, Chromium la rend comme une boîte où ::after s'affiche ;
   on y peint le cadre « Pas d'image » PAR-DESSUS l'icône cassée. Une image chargée ignore cette règle. */
.version__visuel img,.carte-page__image img{position:relative}
.version__visuel img::after,.carte-page__image img::after{content:"Pas d'image";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:6px;background:var(--u-surface-2);border:1px dashed var(--u-muted);border-radius:10px;color:var(--u-muted);font-size:12px;line-height:1.25;font-family:var(--f-text)}
.carte-page__image img::after{font-size:14px}
.version__visuel--vide .version__vide{border-color:var(--u-muted)}
.version__titre{margin:0 0 8px;font-size:18px;line-height:1.2}
.version__faits{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 14px;margin:0 0 10px;font-size:14px}
.version__faits dt{color:var(--u-muted)}
.version__faits dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.version__stock{margin:0 0 10px;font-size:15px}
.version__rien{margin:0;color:var(--u-muted);font-size:14px}
.version .stock-liste{gap:8px}
.version .stock-ligne{background:var(--u-surface-2);padding:10px}
.version__tete{grid-area:tete;min-width:0}
.version__corps{grid-area:corps;min-width:0}
.version .stock-ligne__nom{overflow-wrap:anywhere}
@media (min-width:768px){
  .version{grid-template-columns:140px minmax(0,1fr);grid-template-areas:"visuel tete" "visuel corps";align-content:start;gap:12px 18px;padding:18px}
  .version__visuel{width:140px}
}
.carte-page__image img{aspect-ratio:245/337}

/* ───────────── idée 2 : la collection par version ───────────── */
.carte-page__suivre{margin:0 0 14px;font-size:14px}
.carte-page__suivre a{color:var(--u-a1);text-decoration:underline;text-underline-offset:3px}
.version__collection-zone{grid-column:1 / -1;margin-top:12px}
.version__collection form{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.version__possede{font-weight:700;color:var(--u-a3)}
.version__bouton{min-height:44px}
.collection__tete{gap:12px;flex-wrap:wrap}
.collection__importer{min-height:44px}
.collection__confidentielle{margin:10px 0 14px;color:var(--u-muted);font-size:13px;max-width:70ch}
.collection__bilan{margin:0 0 14px;padding:10px 14px;border-radius:var(--r-s);background:var(--u-surface-2);font-weight:700}
.collection__retour a{color:var(--u-muted);text-decoration:underline;text-underline-offset:3px}
.collection__resume{margin:6px 0 8px;color:var(--u-muted)}
.collection__licence,.suivi__licence{color:var(--u-muted);font-weight:400;font-size:.7em}
.suivi__manques{display:flex;flex-direction:column;gap:8px;padding-top:6px;border-top:1px solid var(--u-line)}
.suivi__sous-titre{margin:0;font-size:14px;font-weight:700}
.suivi__lien{color:var(--u-a1);text-decoration:underline;text-underline-offset:3px;font-size:14px}
.manques{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.manques__ligne{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;font-size:14px}
.manques__nom{color:var(--u-ink);text-decoration:none;font-weight:600;min-width:0;overflow-wrap:anywhere}
.manques__piece{flex:none;padding:8px 10px;border-radius:10px;background:var(--u-a1);color:var(--u-on);font-weight:700;text-decoration:none;white-space:nowrap}
.filtres-liste{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.filtres-liste .puce{text-decoration:none;color:var(--u-ink)}
.filtres-liste .puce--active{color:var(--u-on)}
.cases__liste{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.cases__carte{padding:12px;border-radius:var(--r-m);background:var(--u-surface);border:1px solid var(--u-line)}
.cases__carte--possedee{border-color:var(--u-a3)}
.cases__tete{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;margin-bottom:8px}
.cases__nom{font-weight:700;color:var(--u-ink);text-decoration:none;overflow-wrap:anywhere}
.cases__stock,.cases__lien-piece{color:var(--u-a1);font-size:14px;text-decoration:underline;text-underline-offset:3px}
.cases__versions{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.cases__version{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.cases__version .option{flex:1 1 220px;min-width:0}
.cases__pied{position:sticky;bottom:0;padding:12px 0;background:var(--u-bg)}
.pagination{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0 40px}
.pagination__etat{color:var(--u-muted)}
.importer__titre{font-size:16px;margin:18px 0 8px}
.importer__choix{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.importer__option{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.importer__option .option{flex:1 1 240px;min-width:0;height:auto;padding-block:8px}
.importer__voir{color:var(--u-a1);font-size:13px;text-decoration:underline}
.importer__ligne{align-items:flex-start;min-height:0}
@media (min-width:768px){.cases__liste{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cases__version,.cases__carte{scroll-margin-bottom:110px}
.cases .option,.cases__nom,.cases__lien-piece{scroll-margin-bottom:110px}

/* ───────────── idée 3 : le catalogue en grille OU en tableau ───────────── */
.bascule{display:inline-flex;border-radius:12px;background:var(--u-surface);padding:3px;gap:2px}
.bascule__lien{min-height:44px;padding:0 16px;border-radius:9px;display:inline-flex;align-items:center;font-size:14px;color:var(--u-ink);text-decoration:none}
.bascule__lien--active{background:var(--u-a1);color:var(--u-on);font-weight:700}
.pastilles{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 14px}
.pastilles .puce{text-decoration:none}
.pastilles__effacer{min-height:44px;display:inline-flex;align-items:center;padding:0 8px;color:var(--u-muted);font-size:13px;text-decoration:underline;text-underline-offset:3px}
.tableau{margin:6px 0 32px}
.tableau__table{width:100%;border-collapse:collapse;font-size:14px}
.tableau__table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.tableau__table,.tableau__table tbody{display:block}
.tableau__ligne{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-areas:"visuel nom" "visuel numero" "visuel rarete" "visuel extension" "prix prix" "stock stock";column-gap:12px;row-gap:2px;padding:12px;margin-bottom:10px;border-radius:var(--r-m);background:var(--u-surface);border:1px solid var(--u-line)}
.tableau__ligne--en-stock{border-color:var(--u-a1)}
.tableau__ligne>*{min-width:0}
.tableau__visuel{grid-area:visuel;padding:0}
.tableau__nom{grid-area:nom;font-size:16px;text-align:left;font-weight:700;overflow-wrap:anywhere}
.tableau__nom a{color:var(--u-ink);text-decoration:none}
.tableau__nom a:hover,.tableau__nom a:focus-visible{text-decoration:underline}
.tableau__ligne>td:nth-child(3){grid-area:numero}
.tableau__ligne>td:nth-child(4){grid-area:rarete}
.tableau__ligne>td:nth-child(5){grid-area:extension}
.tableau__prix{grid-area:prix;font-weight:700;font-size:18px;margin-top:8px}
.tableau__stock{grid-area:stock;color:var(--u-muted)}
.tableau__stock--oui{color:var(--u-a3);font-weight:700}
.tableau__stock a{color:inherit}
.tableau__ligne>td[data-etiquette]::before{content:attr(data-etiquette) " : ";color:var(--u-muted);font-weight:400;font-size:12px}
.tableau__visuel::before,.tableau__ligne>td.tableau__visuel[data-etiquette]::before{content:none}
.tableau__image{position:relative;display:block;width:64px;aspect-ratio:245/337;border-radius:8px;overflow:hidden;background:var(--u-surface-2)}
.tableau__vide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:4px;font-size:10px;line-height:1.2;color:var(--u-muted);border:1px dashed var(--u-line);border-radius:8px}
.tableau__image .image,.tableau__image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.tableau__image img::after{content:"Pas d'image";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:4px;background:var(--u-surface-2);border:1px dashed var(--u-muted);border-radius:8px;color:var(--u-muted);font-size:10px;font-family:var(--f-text)}
.tableau__suite{margin-top:8px}
@media (min-width:768px){
  .tableau__table{display:table;border-spacing:0}
  .tableau__table thead{position:static;width:auto;height:auto;overflow:visible;clip:auto;display:table-header-group}
  .tableau__table tbody{display:table-row-group}
  .tableau__table th[scope="col"]{text-align:left;color:var(--u-muted);font-weight:700;font-size:13px;padding:8px 12px;border-bottom:1px solid var(--u-line);white-space:nowrap}
  .tableau__ligne{display:table-row;margin:0;padding:0;border:0;border-radius:0;background:none}
  .tableau__ligne>*{display:table-cell;vertical-align:middle;padding:8px 12px;border-bottom:1px solid var(--u-line)}
  .tableau__ligne:hover>*{background:var(--u-surface)}
  .tableau__ligne>td[data-etiquette]::before{content:none}
  .tableau__nom{font-size:15px}
  .tableau__prix{font-size:15px;margin:0;white-space:nowrap;text-align:right}
  .tableau__table th.tableau__col-prix{text-align:right}
  .tableau__visuel{width:76px}
  .tableau__image{width:56px}
  .tableau__stock{white-space:nowrap}
}

/* ───────────── cibles tactiles : 44 px au moins, sur téléphone, pour chaque lien des nouvelles pages ───────────── */
.fil a,.carte-page__faits a,.carte-page__suivre a,.stock-ligne__nom,.manques__nom,.manques__piece,.suivi__lien,
.cases__nom,.cases__stock,.cases__lien-piece,.importer__voir,.collection__retour a,.deck-ligne__chercher,.tableau__nom a,.tableau__stock a{
  display:inline-flex;align-items:center;min-height:44px}
.fil li{align-items:center}
.stock-ligne__nom{display:flex}
.carte-page__faits{align-items:center}
@media (min-width:768px){.fil a,.carte-page__faits a,.stock-ligne__nom,.tableau__nom a,.tableau__stock a{min-height:0}}
