/* ============================================================================
   vxg-pornstars.css — listing /pornstars/
   Page /pornstars/ (listing modèles) : cartes portrait 3:4, toolbar de filtres,
   panneau/bottom-sheet et progression du classement. POC : page-pornstars-2.
   Chargé UNIQUEMENT sur $page_id=="models_videos" (include_header_general.tpl).
   Tokens : design system vxg-v2.css (html:root). Scope : html.vxg-pornstars-page.
   ============================================================================ */

/* ---------- 1. En-tête de page (SSR) ---------- */
html.vxg-pornstars-page .vxg-ps-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:2px 0 16px}
html.vxg-pornstars-page .vxg-ps-headrow{display:flex;flex-direction:column;gap:2px;min-width:0}
html.vxg-pornstars-page .vxg-ps-head .heading{margin:0;border:0;padding:0;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
html.vxg-pornstars-page .vxg-ps-head .heading>.title{margin:0;color:var(--foreground)}
html.vxg-pornstars-page .vxg-ps-count{margin:4px 0 0;color:var(--muted-foreground);font-size:13.5px;font-variant-numeric:tabular-nums}
html.vxg-pornstars-page .vxg-ps-count b{color:var(--foreground);font-weight:700}

/* Recherche (révélée par le JS : inerte sans lui) */
html.vxg-pornstars-page .vxg-ps-search{position:relative;flex:0 1 340px;min-width:230px;display:none}
html.vxg-ps-ready .vxg-ps-search{display:block}
html.vxg-pornstars-page .vxg-ps-search svg{position:absolute;left:14px;top:50%;translate:0 -50%;color:var(--muted-foreground);pointer-events:none;width:16px;height:16px}
html.vxg-pornstars-page .vxg-ps-search input{width:100%;height:44px;border-radius:9999px;border:1px solid var(--input);background:var(--surface);color:var(--foreground);font:600 14px/1 Inter,ui-sans-serif,system-ui,sans-serif;padding:0 40px 0 42px;transition:border-color .2s,box-shadow .2s}
html.vxg-pornstars-page .vxg-ps-search input::placeholder{color:var(--muted-foreground);font-weight:400}
html.vxg-pornstars-page .vxg-ps-search input:focus{outline:none;border-color:color-mix(in oklab,var(--primary) 55%,transparent);box-shadow:0 0 0 3px color-mix(in oklab,var(--primary) 22%,transparent)}
html.vxg-pornstars-page .vxg-ps-search .vxg-ps-qclear{position:absolute;right:8px;top:50%;translate:0 -50%;width:28px;height:28px;border-radius:50%;display:none;place-items:center;color:var(--muted-foreground);background:none;border:0;cursor:pointer}
html.vxg-pornstars-page .vxg-ps-search.has-q .vxg-ps-qclear{display:grid}
html.vxg-pornstars-page .vxg-ps-search .vxg-ps-qclear:hover{background:var(--surface-elevated);color:var(--foreground)}
@media (max-width:767px){
  html.vxg-pornstars-page .vxg-ps-head{align-items:stretch;flex-direction:column}
  html.vxg-pornstars-page .vxg-ps-search{flex:1 1 auto}
}

/* ---------- 2. Toolbar sticky (rendue en dur par Smarty, hydratée par le JS) ---------- */
/* Full-bleed pleine largeur, sans arrondi (cohérence charte — mêmes formules que le
   hero de la fiche modèle : bleed par palier de padding conteneur + compensation du
   centrage au-delà du max-width, 80px = mini-sidebar). Le padding miroir réaligne
   le contenu de la barre sur la grille. */
html.vxg-pornstars-page{overflow-x:clip}
html.vxg-pornstars-page .vxg-ps-toolbar{position:sticky;top:var(--vxg-header-h,64px);z-index:110;background:color-mix(in oklab,var(--background) 86%,transparent);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border-bottom:1px solid var(--border);border-radius:0;margin:0 -10px 4px;padding:10px 10px}
@media (min-width:801px){html.vxg-pornstars-page .vxg-ps-toolbar{margin:0 -15px 4px;padding:10px 15px}}
@media (min-width:1024px){html.vxg-pornstars-page .vxg-ps-toolbar{margin:0 calc(-24px - max(0px,(100vw - 80px - 1720px)/2)) 4px;padding:10px calc(24px + max(0px,(100vw - 80px - 1720px)/2))}}
@media (min-width:1760px){html.vxg-pornstars-page .vxg-ps-toolbar{margin:0 calc(-24px - max(0px,(100vw - 80px - 2060px)/2)) 4px;padding:10px calc(24px + max(0px,(100vw - 80px - 2060px)/2))}}
@media (min-width:2200px){html.vxg-pornstars-page .vxg-ps-toolbar{margin:0 calc(-24px - max(0px,(100vw - 80px - 2440px)/2)) 4px;padding:10px calc(24px + max(0px,(100vw - 80px - 2440px)/2))}}
/* Mobile : le thème masque entièrement le header (height:0) → on colle au haut du viewport */
@media (max-width:1023px){html.vxg-pornstars-page .vxg-ps-toolbar{top:0}}
html.vxg-pornstars-page .vxg-ps-tbrow{display:flex;align-items:center;gap:10px}
html.vxg-pornstars-page .vxg-ps-pills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex:1 1 auto;min-width:0;padding:2px}
html.vxg-pornstars-page .vxg-ps-pills::-webkit-scrollbar{display:none}
html.vxg-pornstars-page .vxg-ps-pill{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 15px;border-radius:9999px;border:1px solid var(--border);background:var(--surface);font-size:13px;font-weight:600;color:var(--muted-foreground);transition:border-color .2s,background .2s,color .2s;white-space:nowrap;cursor:pointer}
html.vxg-pornstars-page .vxg-ps-pill:not(:disabled):hover{border-color:var(--input);color:var(--foreground)}
html.vxg-pornstars-page .vxg-ps-pill[aria-pressed="true"]{background-image:var(--gradient-brand);border-color:transparent;color:#fff;box-shadow:var(--shadow-glow)}
html.vxg-pornstars-page .vxg-ps-pill .n{font-size:11px;font-weight:700;color:var(--muted-foreground);opacity:.8}
html.vxg-pornstars-page .vxg-ps-pill[aria-pressed="true"] .n{color:rgba(255,255,255,.85);opacity:1}
html.vxg-pornstars-page .vxg-ps-pill img{height:12px;border-radius:2px}
html.vxg-pornstars-page .vxg-ps-fbtn{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 15px;border-radius:9999px;border:1px solid var(--border);background:oklch(1 0 0/.05);font-size:13px;font-weight:700;color:var(--foreground);cursor:pointer}
html.vxg-pornstars-page .vxg-ps-fbtn:not(:disabled):hover{border-color:var(--input)}
html.vxg-pornstars-page .vxg-ps-fbtn[aria-expanded="true"]{border-color:color-mix(in oklab,var(--primary) 55%,transparent);background:color-mix(in oklab,var(--primary) 14%,transparent);color:var(--primary-glow)}
html.vxg-pornstars-page .vxg-ps-fbtn .fbadge{min-width:18px;height:18px;border-radius:9999px;background:var(--primary);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;padding:0 5px}
html.vxg-pornstars-page .vxg-ps-tbright{flex:0 0 auto;display:flex;align-items:center;gap:12px;margin-left:auto}
html.vxg-pornstars-page .vxg-ps-rescount{font-size:13px;color:var(--muted-foreground);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
html.vxg-pornstars-page .vxg-ps-sortbox{position:relative}
html.vxg-pornstars-page .vxg-ps-sortbtn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 15px;border-radius:9999px;border:1px solid var(--border);background:oklch(1 0 0/.05);font-size:13px;color:var(--muted-foreground);cursor:pointer}
html.vxg-pornstars-page .vxg-ps-sortbtn b{color:var(--foreground);font-weight:700}
html.vxg-pornstars-page .vxg-ps-sortbtn:not(:disabled):hover{border-color:var(--input)}
html.vxg-pornstars-page .vxg-ps-sortbtn[aria-expanded="true"]{border-color:color-mix(in oklab,var(--primary) 55%,transparent);background:color-mix(in oklab,var(--primary) 14%,transparent)}
html.vxg-pornstars-page .vxg-ps-sortmenu{position:absolute;right:0;top:calc(100% + 8px);z-index:120;min-width:210px;background:var(--surface-elevated);border:1px solid var(--input);border-radius:14px;box-shadow:var(--shadow-elevated);padding:6px;margin:0;list-style:none}
html.vxg-pornstars-page .vxg-ps-sortmenu button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--muted-foreground);background:none;border:0;cursor:pointer}
html.vxg-pornstars-page .vxg-ps-sortmenu button:hover{background:var(--surface);color:var(--foreground)}
html.vxg-pornstars-page .vxg-ps-sortmenu button[aria-selected="true"]{color:var(--primary-glow)}
html.vxg-pornstars-page .vxg-ps-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:10px}
html.vxg-pornstars-page .vxg-ps-chip{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;border-radius:9999px;border:1px solid var(--primary);background:color-mix(in oklab,var(--primary) 16%,transparent);color:var(--primary-glow);font-size:12.5px;font-weight:700;cursor:pointer}
html.vxg-pornstars-page .vxg-ps-chip svg{opacity:.75}
html.vxg-pornstars-page .vxg-ps-chip:hover svg{opacity:1}
html.vxg-pornstars-page .vxg-ps-fbtn:disabled,
html.vxg-pornstars-page .vxg-ps-sortbtn:disabled,
html.vxg-pornstars-page .vxg-ps-pill:disabled{opacity:.55;cursor:default}
@media (max-width:767px){
  html.vxg-pornstars-page .vxg-ps-rescount{display:none}
  html.vxg-pornstars-page .vxg-ps-tbrow{flex-wrap:wrap}
  html.vxg-pornstars-page .vxg-ps-fbtn{order:1}
  html.vxg-pornstars-page .vxg-ps-tbright{order:2}
  html.vxg-pornstars-page .vxg-ps-pills{order:3;flex-basis:100%;margin-top:2px}
}
/* Dès que le JS a l'index : le tri client remplace le dropdown natif */
html.vxg-ps-ready .vxg-ps-headrow .sort{display:none}
/* En mode « live » (JS aux commandes) : pagination native masquée */
html.vxg-ps-live #list_models_models_list .load-more,
html.vxg-ps-live #list_models_models_list .pagination,
html.vxg-ps-live #list_models_models_list ~ .pagination-holder,
html.vxg-ps-live #list_models_models_list .pagination-holder{display:none}

/* ---------- 4. Panneau de filtres : inline ≥1024 / bottom-sheet <1024 ---------- */
html.vxg-pornstars-page .vxg-ps-scrim{position:fixed;inset:0;z-index:200;background:oklch(0 0 0/.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .25s}
html.vxg-ps-sheet .vxg-ps-scrim{opacity:1;pointer-events:auto}
html.vxg-pornstars-page .vxg-ps-panel{display:none;background:var(--surface);border:1px solid var(--border);border-radius:16px;margin:8px 0 14px;box-shadow:var(--shadow-card)}
html.vxg-pornstars-page .vxg-ps-panel.open{display:block}
html.vxg-pornstars-page .vxg-ps-pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px 28px;padding:20px 22px 8px}
html.vxg-pornstars-page .vxg-ps-facet h3{font-family:Inter,ui-sans-serif,sans-serif;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted-foreground);margin:0 0 10px;display:flex;align-items:center;gap:8px}
html.vxg-pornstars-page .vxg-ps-fvals{display:flex;flex-wrap:wrap;gap:8px}
html.vxg-pornstars-page .vxg-ps-fv{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border-radius:9999px;border:1px solid var(--border);background:var(--surface-elevated);font-size:12.5px;font-weight:600;color:var(--muted-foreground);transition:border-color .15s,background .15s,color .15s;cursor:pointer}
html.vxg-pornstars-page .vxg-ps-fv:hover{border-color:var(--input);color:var(--foreground)}
html.vxg-pornstars-page .vxg-ps-fv[aria-pressed="true"]{background-image:var(--gradient-brand);border-color:transparent;color:#fff}
html.vxg-pornstars-page .vxg-ps-fv .n{font-size:10.5px;font-weight:700;color:var(--muted-foreground);opacity:.85}
html.vxg-pornstars-page .vxg-ps-fv[aria-pressed="true"] .n{color:rgba(255,255,255,.85)}
html.vxg-pornstars-page .vxg-ps-fv:disabled{opacity:.35;cursor:not-allowed}
html.vxg-pornstars-page .vxg-ps-fv img{height:12px;border-radius:2px}
html.vxg-pornstars-page .vxg-ps-switch{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;color:var(--muted-foreground);cursor:pointer}
html.vxg-pornstars-page .vxg-ps-switch .track{width:40px;height:22px;border-radius:9999px;background:var(--surface-elevated);border:1px solid var(--border);position:relative;transition:background .2s}
html.vxg-pornstars-page .vxg-ps-switch .track::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--muted-foreground);transition:translate .2s,background .2s}
html.vxg-pornstars-page .vxg-ps-switch input{position:absolute;opacity:0;pointer-events:none}
html.vxg-pornstars-page .vxg-ps-switch input:checked + .track{background:color-mix(in oklab,var(--primary) 55%,transparent)}
html.vxg-pornstars-page .vxg-ps-switch input:checked + .track::after{translate:18px 0;background:#fff}
html.vxg-pornstars-page .vxg-ps-pfoot{display:flex;align-items:center;gap:14px;padding:16px 22px 18px}
html.vxg-pornstars-page .vxg-ps-apply{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 24px;border-radius:9999px;background-image:var(--gradient-brand);color:#fff;font-size:14px;font-weight:800;box-shadow:var(--shadow-glow);border:0;cursor:pointer;transition:filter .2s}
html.vxg-pornstars-page .vxg-ps-apply:hover{filter:brightness(1.1)}
html.vxg-pornstars-page .vxg-ps-ghost{display:inline-flex;align-items:center;height:44px;padding:0 18px;border-radius:9999px;border:1px solid var(--border);background:var(--surface);font-size:13.5px;font-weight:700;color:var(--muted-foreground);cursor:pointer}
html.vxg-pornstars-page .vxg-ps-ghost:hover{border-color:var(--input);color:var(--foreground)}
html.vxg-pornstars-page .vxg-ps-pclose{display:none}
@media (max-width:1023px){
  html.vxg-pornstars-page .vxg-ps-panel{position:fixed;left:0;right:0;bottom:0;z-index:210;margin:0;border-radius:24px 24px 0 0;border-bottom:0;max-height:82dvh;overflow:auto;translate:0 105%;transition:translate .3s cubic-bezier(.2,.8,.2,1);display:block;visibility:hidden}
  html.vxg-pornstars-page .vxg-ps-panel.open{visibility:visible}
  html.vxg-ps-sheet .vxg-ps-panel{translate:0 0}
  html.vxg-pornstars-page .vxg-ps-panel::before{content:"";display:block;width:44px;height:4px;border-radius:4px;background:var(--input);margin:10px auto 2px}
  html.vxg-pornstars-page .vxg-ps-pgrid{grid-template-columns:1fr;gap:20px;padding:14px 18px 8px}
  html.vxg-pornstars-page .vxg-ps-pfoot{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--border);padding:12px 18px calc(14px + env(safe-area-inset-bottom))}
  html.vxg-pornstars-page .vxg-ps-apply{flex:1}
  html.vxg-pornstars-page .vxg-ps-pclose{display:grid;position:absolute;top:14px;right:14px;width:32px;height:32px;place-items:center;border-radius:50%;background:var(--surface-elevated);color:var(--muted-foreground);border:0;cursor:pointer}
}

/* ---------- 5. Model cards (SSR + rendu JS identiques) ---------- */
html.vxg-pornstars-page .vxg-ps-thumbs{margin-top:14px}
html.vxg-pornstars-page .vxg-mc{position:relative}
html.vxg-pornstars-page .vxg-mc-link{display:block;border-radius:14px;text-decoration:none}
html.vxg-pornstars-page .vxg-mc-media{position:relative;display:block;aspect-ratio:3/4;border-radius:16px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-card)}
@media (max-width:767px){html.vxg-pornstars-page .vxg-mc-media{border-radius:14px}}
html.vxg-pornstars-page .vxg-mc-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .45s}
html.vxg-pornstars-page .vxg-mc-img2{opacity:0}
html.vxg-pornstars-page .vxg-mc-noimg{position:absolute;inset:0;display:grid;place-items:center;font-family:Outfit,Inter,sans-serif;font-size:34px;font-weight:800;color:oklch(1 0 0/.35);background:linear-gradient(160deg,color-mix(in oklab,var(--primary) 14%,var(--surface)),var(--surface) 60%)}
html.vxg-pornstars-page .vxg-mc-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,oklch(0 0 0/.78) 100%);pointer-events:none}
html.vxg-pornstars-page .vxg-mc-rank{position:absolute;top:9px;left:9px;background:oklch(0 0 0/.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:7px;padding:3px 8px;font-size:11.5px;font-weight:800;color:#fff;font-variant-numeric:tabular-nums}
html.vxg-pornstars-page .vxg-mc-delta{position:absolute;top:9px;right:9px;padding:3px 7px;border-radius:7px;background:oklch(0 0 0/.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
html.vxg-pornstars-page .vxg-mc-delta.up{color:var(--success)}
html.vxg-pornstars-page .vxg-mc-delta.down{color:var(--primary-glow)}
html.vxg-pornstars-page .vxg-mc-hoverinfo{position:absolute;left:10px;right:10px;bottom:8px;font-size:11.5px;font-weight:600;color:rgba(255,255,255,.92);text-shadow:0 1px 5px rgba(0,0,0,.9);opacity:0;translate:0 6px;transition:opacity .3s,translate .3s;pointer-events:none;font-variant-numeric:tabular-nums}
html.vxg-pornstars-page .vxg-mc-meta{display:block;padding:9px 3px 0}
html.vxg-pornstars-page .vxg-mc-name{display:flex;align-items:center;gap:6px;min-width:0;font-size:15px;font-weight:650;color:var(--foreground)}
html.vxg-pornstars-page .vxg-mc-name b{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}
html.vxg-pornstars-page .vxg-mc-name img{height:12px;border-radius:2px;flex:0 0 auto}
html.vxg-pornstars-page .vxg-mc-age{color:var(--muted-foreground);font-size:12.5px;font-weight:600;flex:0 0 auto;font-variant-numeric:tabular-nums}
html.vxg-pornstars-page .vxg-mc-stats{margin-top:3px;font-size:12px;color:var(--muted-foreground);font-variant-numeric:tabular-nums}
html.vxg-pornstars-page .vxg-mc-tags{margin-top:5px;display:flex;gap:5px;flex-wrap:wrap}
html.vxg-pornstars-page .vxg-mc-tags span{font-size:10.5px;font-weight:700;color:var(--muted-foreground);border:1px solid var(--border);border-radius:6px;padding:2px 7px}
@media (hover:hover) and (min-width:1024px){
  html.vxg-pornstars-page .vxg-mc-link:hover .vxg-mc-media img{transform:scale(1.06)}
  html.vxg-pornstars-page .vxg-mc-link:hover .vxg-mc-img2.ready{opacity:1}
  html.vxg-pornstars-page .vxg-mc-link:hover .vxg-mc-name b{color:var(--primary-glow)}
  html.vxg-pornstars-page .vxg-mc-link:hover .vxg-mc-hoverinfo{opacity:1;translate:0 0}
}

/* ---------- 6. Skeletons / état vide / load-more client ---------- */
html.vxg-pornstars-page .vxg-ps-skel .sk-media{aspect-ratio:3/4;border-radius:16px;background:var(--surface);position:relative;overflow:hidden}
html.vxg-pornstars-page .vxg-ps-skel .sk-l1{height:13px;width:70%;border-radius:6px;background:var(--surface);margin:11px 0 0;position:relative;overflow:hidden}
html.vxg-pornstars-page .vxg-ps-skel .sk-l2{height:10px;width:45%;border-radius:6px;background:var(--surface);margin:8px 0 0;position:relative;overflow:hidden}
html.vxg-pornstars-page .vxg-ps-skel [class^=sk-]::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,oklch(1 0 0/.05) 50%,transparent 80%);animation:vxgpsshimmer 1.4s infinite}
@keyframes vxgpsshimmer{from{translate:-100% 0}to{translate:100% 0}}
html.vxg-pornstars-page .vxg-ps-empty{display:none;text-align:center;padding:60px 20px;border:1px dashed var(--border);border-radius:16px;margin-top:22px}
html.vxg-pornstars-page .vxg-ps-empty.show{display:block}
html.vxg-pornstars-page .vxg-ps-empty .e-ico{font-size:34px;margin-bottom:10px}
html.vxg-pornstars-page .vxg-ps-empty p{color:var(--muted-foreground);margin:0 0 16px}
html.vxg-pornstars-page .vxg-ps-loadwrap{display:flex;flex-direction:column;align-items:center;gap:10px;margin:30px 0 8px}
html.vxg-pornstars-page .vxg-ps-loadnote{font-size:12px;color:var(--muted-foreground);font-variant-numeric:tabular-nums}
html.vxg-pornstars-page .vxg-ps-more{display:inline-flex;align-items:center;min-height:44px;padding:0 26px;border-radius:9999px;border:1px solid var(--border);background:var(--surface);font-size:14px;font-weight:800;color:var(--foreground);cursor:pointer;transition:border-color .2s,box-shadow .2s}
html.vxg-pornstars-page .vxg-ps-more:hover{border-color:color-mix(in oklab,var(--primary) 55%,transparent);box-shadow:var(--shadow-glow)}

/* ---------- 7. Divers ---------- */
/* Focus clavier : black_orange.css pose *{outline:none} → indicateur explicite (pattern vxg-v2) */
html.vxg-pornstars-page .vxg-ps-pill:focus-visible,
html.vxg-pornstars-page .vxg-ps-fbtn:focus-visible,
html.vxg-pornstars-page .vxg-ps-sortbtn:focus-visible,
html.vxg-pornstars-page .vxg-ps-sortmenu button:focus-visible,
html.vxg-pornstars-page .vxg-ps-fv:focus-visible,
html.vxg-pornstars-page .vxg-ps-chip:focus-visible,
html.vxg-pornstars-page .vxg-ps-apply:focus-visible,
html.vxg-pornstars-page .vxg-ps-ghost:focus-visible,
html.vxg-pornstars-page .vxg-ps-pclose:focus-visible,
html.vxg-pornstars-page .vxg-ps-more:focus-visible,
html.vxg-pornstars-page .vxg-ps-qclear:focus-visible,
html.vxg-pornstars-page .vxg-ps-search input:focus-visible{outline:2px solid var(--primary-glow);outline-offset:2px}
html.vxg-pornstars-page .vxg-ps-note-p2{font-size:9px;letter-spacing:.06em;font-weight:800;color:var(--warning);border:1px solid color-mix(in oklab,var(--warning) 40%,transparent);background:color-mix(in oklab,var(--warning) 10%,transparent);border-radius:6px;padding:2px 6px}
html.vxg-pornstars-page .vxg-ps-pnote{padding:4px 22px 0;font-size:11.5px;color:var(--muted-foreground)}
@media (prefers-reduced-motion:reduce){
  html.vxg-pornstars-page .vxg-ps-skel [class^=sk-]::after{animation:none}
  html.vxg-pornstars-page .vxg-mc-media img,
  html.vxg-pornstars-page .vxg-ps-panel,
  html.vxg-pornstars-page .vxg-ps-scrim,
  html.vxg-pornstars-page .vxg-mc-hoverinfo{transition:none}
}

/* ---------- 8. Densité acteurs desktop ----------
   La grille modèles reste plus dense que la grille vidéo standard, sans sacrifier
   la lisibilité des portraits : 8 colonnes dès 1024px, puis 10 au maximum. */
@media (min-width:1024px){
  html.vxg-pornstars-page #list_models_models_list_items>ul.grid-temp{grid-template-columns:repeat(8,minmax(0,1fr));column-gap:12px;row-gap:26px}
  html.vxg-pornstars-page .vxg-mc-name{font-size:13px}
  html.vxg-pornstars-page .vxg-mc-stats{font-size:10.5px}
  html.vxg-pornstars-page .vxg-mc-age,
  html.vxg-pornstars-page .vxg-mc-tags{display:none}
}
@media (min-width:1440px){
  html.vxg-pornstars-page #list_models_models_list_items>ul.grid-temp{grid-template-columns:repeat(10,minmax(0,1fr));column-gap:14px;row-gap:30px}
}
