/* JVGBD Games - frontend styles */
/* Theme-aware variables */
:root{
  --jvgbd-surface:#fff;
  --jvgbd-surface-alt:#f7f9fb;
  --jvgbd-border:#e5e5e5;
  --jvgbd-text:#111;
  --jvgbd-muted:#777;
  --jvgbd-accent:#fd895a;
}
@media (prefers-color-scheme: dark){
  :root{
    --jvgbd-surface:#121417;
    --jvgbd-surface-alt:#171a1f;
    --jvgbd-border:#2a2f36;
    --jvgbd-text:#e6e6e6;
    --jvgbd-muted:#a0a7b3;
    --jvgbd-accent:#442127;
  }
}
/* Sync with theme dark-mode: override OS preference and follow theme classes */
body{
  --jvgbd-surface:#fff;
  --jvgbd-surface-alt:#f7f9fb;
  --jvgbd-border:#e5e5e5;
  --jvgbd-text:#111;
  --jvgbd-muted:#777;
  --jvgbd-accent:#fd895a;
}
body.is-dark-theme,
body.dark-mode,
body.dark,
body[data-theme="dark"]{
  --jvgbd-surface:#121417;
  --jvgbd-surface-alt:#171a1f;
  --jvgbd-border:#2a2f36;
  --jvgbd-text:#e6e6e6;
  --jvgbd-muted:#a0a7b3;
  --jvgbd-accent:#442127;
}
.jvgbd-single-game{--jvgbd-maxw:1100px;width:min(100%, var(--jvgbd-maxw));margin-left:auto;margin-right:auto;padding:0 16px;box-sizing:border-box;color:var(--jvgbd-text)}
.jvgbd-game-card{display:grid;grid-template-columns:90px 1fr;gap:1rem;align-items:start;margin:1.5rem 0;padding:1rem;border:1px solid var(--jvgbd-border);border-radius:8px;background:var(--jvgbd-surface);color:var(--jvgbd-text);position:relative;overflow:visible}
.jvgbd-game-card.has-bg .jvgbd-card-bg{position:absolute;inset:0;background:var(--jvgbd-card-bg, none) center/cover no-repeat;filter:brightness(.35);z-index:0}
.jvgbd-game-card.has-bg .jvgbd-card-bg{border-radius:inherit}
.jvgbd-game-card.has-bg > *:not(.jvgbd-card-bg):not(.jvgbd-card-platforms){position:relative;z-index:1}
.jvgbd-card-platforms{z-index:2}
.jvgbd-game-card .jvgbd-game-thumb img{display:block;width:90px;height:90px;object-fit:cover;border-radius:6px}
.jvgbd-game-card .jvgbd-game-thumb{display:flex;flex-direction:column;align-items:center;position:relative}
.jvgbd-game-card .jvgbd-card-user-rating{display:inline-flex;flex-direction:column;align-items:center;gap:.1rem;margin-top:.35rem;font-weight:700;padding:.25rem .5rem;border-radius:10px;background:var(--jvgbd-surface-alt);color:var(--jvgbd-text);border:1px solid var(--jvgbd-border);line-height:1;align-self:center;text-align:center}
.jvgbd-user-rating-label{font-size:.72rem;font-weight:700;letter-spacing:.05em;opacity:.85}
.jvgbd-user-rating-row{display:inline-flex;align-items:center;gap:.25rem}
.jvgbd-game-card .jvgbd-card-user-rating .fas,
.jvgbd-game-card .jvgbd-card-user-rating .fa-solid{color:#ffd76a}
.jvgbd-game-card .jvgbd-thumb-badge{display:none}
.jvgbd-game-card .jvgbd-pegi-logo{display:none}
.jvgbd-game-card .jvgbd-game-title{margin:.2rem 0 .5rem;font-size:1.1rem;display:grid;grid-template-columns:minmax(0, calc(100% - 1.05em)) 1.05em;align-items:baseline;column-gap:0}
/* Clamp only the title link, not the website icon */
.jvgbd-game-card .jvgbd-game-title > a:not(.jvgbd-title-website){display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-width:0;grid-column:1}
.jvgbd-game-card .jvgbd-game-details{list-style:none;margin:0;padding:0;color:var(--jvgbd-text)}
.jvgbd-game-card .jvgbd-game-details li{word-break:break-word;overflow-wrap:anywhere;hyphens:auto;min-width:0}
.jvgbd-game-card .jvgbd-game-details li{margin:.2rem 0}
.jvgbd-game-card .jvgbd-game-meta{min-width:0}
.jvgbd-game-card .jvgbd-game-title,.jvgbd-game-card .jvgbd-game-title a{word-break:break-word;overflow-wrap:anywhere}
.jvgbd-game-card .jvgbd-game-details{word-break:break-word;overflow-wrap:anywhere}
.jvgbd-card-platforms{position:absolute;right:8px;bottom:8px;display:flex;gap:.35rem;flex-wrap:wrap;align-items:flex-start;max-width:calc(100% - 16px)}
@media (max-width:1024px){
  .jvgbd-game-card{padding-right:64px}
}
.jvgbd-card-platforms .jvgbd-platform-badge{display:inline-flex;align-items:center;gap:.3rem;min-width:0;max-width:100%}
.jvgbd-card-platforms .jvgbd-platform-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jvgbd-card-platforms .jvgbd-platform-badge i[class*='bi']::before{font-family:'Bootstrap Icons'!important}
.jvgbd-after-post .jvgbd-card-platforms{right:8px;justify-content:flex-end}
/* Archive grid layout */
.jvgbd-archive .jvgbd-archive-grid{display:grid;grid-template-columns:repeat(var(--jvgbd-cols,3), minmax(0,1fr));gap:.5rem 1rem}
@media (max-width:900px){
  .jvgbd-archive .jvgbd-archive-grid{grid-template-columns:1fr}
}

/* Header page archive */
.jvgbd-archive .page-header{
  margin-bottom:2rem;
  padding-bottom:1rem;
  border-bottom:3px solid #0ea5e9;
}

.jvgbd-archive .page-title{
  font-size:1.8rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--jvgbd-text);
  margin:0;
}

/* Cards style archive tests jeux */
.jvgbd-test-card{
  background:var(--jvgbd-surface);
  border:1px solid var(--jvgbd-border);
  border-radius:8px;
  overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease;
}

.jvgbd-test-card:hover{
  transform:translateY(-4px);
  box-shadow:0 8px 24px rgba(0,0,0,.15);
}

.jvgbd-test-link{
  display:block;
  color:inherit;
  text-decoration:none;
}

.jvgbd-test-thumb{
  position:relative;
  width:100%;
  padding-bottom:56.25%;
  overflow:hidden;
  background:var(--jvgbd-surface-alt);
}

.jvgbd-test-thumb img{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.jvgbd-test-rating{
  position:absolute;
  top:1rem;
  right:1rem;
  width:60px;
  height:60px;
  background:#0ea5e9;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,.3);
}

.jvgbd-test-score{
  font-size:1.5rem;
  font-weight:700;
  color:#fff;
}

.jvgbd-test-content{
  padding:1.25rem;
}

.jvgbd-test-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:0.75rem;
}

.jvgbd-test-title{
  margin:0;
  font-size:1.25rem;
  font-weight:700;
  color:var(--jvgbd-text);
  line-height:1.3;
  flex:1;
}

.jvgbd-test-platforms{
  flex-shrink:0;
}

.jvgbd-test-platforms .jvgbd-platform-badge{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  padding:.25rem .5rem;
  background:var(--jvgbd-surface-alt);
  border:1px solid var(--jvgbd-border);
  border-radius:4px;
  font-size:.75rem;
  font-weight:600;
  text-transform:uppercase;
  margin-left:.25rem;
}

.jvgbd-test-meta{
  color:var(--jvgbd-muted);
  font-size:.9rem;
  margin-bottom:0.75rem;
}

.jvgbd-test-excerpt{
  color:var(--jvgbd-text);
  font-size:.95rem;
  line-height:1.6;
  display:-webkit-box;
  -webkit-line-clamp:3;
  line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.jvgbd-after-post{--jvgbd-text:#fff;--jvgbd-border:rgba(255,255,255,.25);--jvgbd-surface:transparent;--jvgbd-surface-alt:rgba(255,255,255,.12)}
.jvgbd-after-post .jvgbd-game-card{color:#fff;border-color:var(--jvgbd-border);background:var(--jvgbd-surface)}
.jvgbd-after-post .jvgbd-game-card .jvgbd-game-title,
.jvgbd-after-post .jvgbd-game-card .jvgbd-game-title a{color:#fff}
.jvgbd-after-post .jvgbd-game-card .jvgbd-game-details{color:#fff}
.jvgbd-after-post .jvgbd-game-card .jvgbd-game-details .jvgbd-rating{display:none}
.jvgbd-after-post .jvgbd-card-user-rating{background:var(--jvgbd-surface-alt);color:#fff;border-color:var(--jvgbd-border)}
.jvgbd-game-card .jvgbd-game-details .jvgbd-platforms{display:none !important}
.jvgbd-game-card .jvgbd-game-title .jvgbd-title-website{display:inline-flex;align-items:center;gap:0;margin-left:0;color:var(--jvgbd-accent);line-height:1;grid-column:2;justify-self:start}
.jvgbd-game-card .jvgbd-game-title .jvgbd-title-website i{width:1.1em;display:inline-block}
.jvgbd-game-card .jvgbd-game-title .jvgbd-title-website .fas,
.jvgbd-game-card .jvgbd-game-title .jvgbd-title-website .fa-solid{color:var(--jvgbd-accent)}

/* Search (centered form + preview) */
.jvgbd-games-search .jvgbd-filters{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}
.jvgbd-games-search .jvgbd-filters input[type=search]{padding:.45rem .6rem;border:1px solid var(--jvgbd-border);border-radius:8px;min-width:240px}
.jvgbd-games-search .jvgbd-filters select{padding:.45rem .6rem;border:1px solid var(--jvgbd-border);border-radius:8px}
.jvgbd-games-search .jvgbd-filters button{padding:.45rem .8rem;border-radius:6px}
.jvgbd-games-search .jvgbd-searchbar{position:relative}
.jvgbd-games-search .jvgbd-search-pop{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--jvgbd-surface);border:1px solid var(--jvgbd-border);border-radius:8px;display:none;z-index:1000;box-shadow:0 6px 22px rgba(0,0,0,.12)}
.jvgbd-games-search .jvgbd-search-pop.is-open{display:block}
.jvgbd-search-results{list-style:none;margin:0;padding:.25rem}
.jvgbd-search-item .jvgbd-search-link{display:grid;grid-template-columns:40px 1fr;gap:.5rem;align-items:center;padding:.35rem;border-radius:6px;color:inherit;text-decoration:none}
.jvgbd-search-item .jvgbd-search-link:hover{background:var(--jvgbd-surface-alt)}
.jvgbd-search-thumb{width:40px;height:40px;object-fit:cover;border-radius:4px;display:block}
.jvgbd-search-no-thumb{width:40px;height:40px;border-radius:4px;background:var(--jvgbd-surface-alt);display:block}

/* Ensure uniform card height in grids */
.jvgbd-grid .jvgbd-grid-item{display:flex}
.jvgbd-grid .jvgbd-grid-item > .jvgbd-game-card{height:var(--jvgbd-card-h, 220px);width:100%}
.jvgbd-platforms-icons{display:inline-flex;gap:.35rem;flex-wrap:wrap;align-items:center}
.jvgbd-platform-badge{display:inline-flex;align-items:center;justify-content:center;position:relative}
.jvgbd-platform-badge img{width:20px;height:20px;object-fit:contain;display:inline-block;vertical-align:middle}
.jvgbd-platform-badge .jvgbd-cui{width:20px;height:20px;display:inline-block;vertical-align:middle;fill:currentColor}
.jvgbd-platform-badge .fa, .jvgbd-platform-badge .fas, .jvgbd-platform-badge .fab, .jvgbd-platform-badge .far, .jvgbd-platform-badge .bi{font-size:20px;line-height:1;color:var(--jvgbd-platform-color, currentColor)}
.jvgbd-platform-badge .jvgbd-platform-text{margin-left:.25rem}
.jvgbd-platform-badge.has-icon .jvgbd-platform-text{display:none !important}
.jvgbd-platform-badge.has-icon:hover .jvgbd-platform-text{display:none !important}
.jvgbd-platform-badge.no-img .jvgbd-platform-text{display:inline !important}

/* Rounded tooltip for platform badges */
.jvgbd-platform-badge .jvgbd-tooltip{
  position:absolute;
  left:50%;
  bottom:calc(100% + 8px);
  transform:translateX(-50%) translateY(4px);
  background:var(--jvgbd-tooltip-bg, rgba(0,0,0,.85));
  color:var(--jvgbd-tooltip-fg, #fff);
  padding:.25rem .5rem;
  border-radius:8px;
  font-size:.82rem;
  line-height:1.2;
  white-space:nowrap;
  box-shadow:0 4px 14px rgba(0,0,0,.25);
  z-index:20;
  opacity:0;
  pointer-events:none;
  transition:opacity .15s ease, transform .15s ease;
}
.jvgbd-platform-badge .jvgbd-tooltip::after{
  content:"";
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  border-width:6px;
  border-style:solid;
  border-color:var(--jvgbd-tooltip-bg, rgba(0,0,0,.85)) transparent transparent transparent;
}
.jvgbd-platform-badge.has-icon:hover .jvgbd-tooltip,
.jvgbd-platform-badge.has-icon:focus-within .jvgbd-tooltip{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}
.jvgbd-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.jvgbd-game-card .jvgbd-website .fa-solid,
.jvgbd-game-card .jvgbd-website .fas{font-size:1rem;color:#0a7}
.jvgbd-game-card .jvgbd-website .jvgbd-icon-link{display:inline-flex;align-items:center;gap:.25rem}
@media (max-width:600px){.jvgbd-game-card{grid-template-columns:minmax(0,1fr);padding-bottom:1.25rem}.jvgbd-game-card .jvgbd-game-thumb{flex-direction:column;align-items:center;gap:.75rem}.jvgbd-card-platforms{position:absolute;right:8px;bottom:8px;margin-top:0;justify-content:flex-end;max-width:calc(100% - 16px)}.jvgbd-card-platforms .jvgbd-platform-text{white-space:normal}}
/* Related posts list on single game */
.jvgbd-related-posts{margin:2rem 0}
.jvgbd-related-posts .jvgbd-related-title{margin:.5rem 0 1rem;font-size:1.1rem}
.jvgbd-related-posts .jvgbd-related-list{list-style:none;margin:0;padding:0}
.jvgbd-related-posts .jvgbd-related-item{display:grid;grid-template-columns:96px 1fr;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--jvgbd-border)}
.jvgbd-related-posts .jvgbd-related-item:last-child{border-bottom:0}
.jvgbd-related-posts .jvgbd-related-thumb img{display:block;width:96px;height:auto;border-radius:6px}
.jvgbd-related-posts .jvgbd-no-thumb{display:block;width:96px;height:64px;background:var(--jvgbd-surface-alt);border:1px solid var(--jvgbd-border);border-radius:6px}
.jvgbd-related-posts .jvgbd-related-link{font-weight:600;text-decoration:none;color:var(--jvgbd-text)}
.jvgbd-related-posts .jvgbd-related-meta{display:flex;gap:.5rem;align-items:center;color:var(--jvgbd-muted);font-size:.9em;margin:.1rem 0}
.jvgbd-related-posts .jvgbd-related-meta .jvgbd-related-author{font-weight:500;color:var(--jvgbd-muted)}
.jvgbd-related-posts .jvgbd-related-date{color:var(--jvgbd-muted)}
.jvgbd-related-posts .jvgbd-related-excerpt{color:var(--jvgbd-text);margin-top:.25rem}
.jvgbd-related-posts .jvgbd-related-excerpt .jvgbd-read-more{margin-left:.35rem;color:var(--jvgbd-accent);text-decoration:none}
.jvgbd-related-posts .jvgbd-related-excerpt .jvgbd-read-more:hover{text-decoration:underline}

/* After-post game card: show PEGI logo at right */
.jvgbd-after-post .jvgbd-game-card{grid-template-columns:90px 1fr 56px}
.jvgbd-after-post .jvgbd-pegi-logo{display:block;align-self:start;justify-self:end}
.jvgbd-after-post .jvgbd-pegi-logo img{width:48px;height:auto;display:block}
.jvgbd-after-post .jvgbd-game-details .jvgbd-pegi{display:none}

/* Game hero on single game */
.jvgbd-game-hero{position:relative;border-radius:10px;overflow:visible;margin:1.5rem 0;background:#000;color:#fff}
.jvgbd-game-hero .jvgbd-hero-bg{position:absolute;inset:0;background:var(--jvgbd-hero-bg, none) center/cover no-repeat;filter:brightness(.35);border-radius:inherit}
.jvgbd-game-hero .jvgbd-hero-inner{position:relative;display:grid;grid-template-columns:140px 1fr auto;grid-template-areas:'cover meta aside';gap:1rem;align-items:center;padding:1.25rem}
.jvgbd-game-hero .jvgbd-hero-cover img{display:block;width:140px;height:auto;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.jvgbd-game-hero .jvgbd-hero-cover{display:flex;flex-direction:column;align-items:center;grid-area:cover;position:relative}
.jvgbd-game-hero .jvgbd-hero-user-rating{text-align:center}
.jvgbd-game-hero .jvgbd-hero-meta{grid-area:meta}
.jvgbd-game-hero .jvgbd-hero-user-rating .jvgbd-user-rating-label{display:block;text-align:center}
.jvgbd-game-hero .jvgbd-hero-cover .jvgbd-hero-user-rating{margin-top:.5rem}
.jvgbd-game-hero .jvgbd-hero-title{margin:0 0 .4rem;font-size:1.4rem;color:#fff}
.jvgbd-game-hero .jvgbd-hero-title .jvgbd-title-website{margin-left:.5rem;display:inline-flex;align-items:center;gap:.25rem;color:var(--jvgbd-accent)}
.jvgbd-game-hero .jvgbd-hero-title .jvgbd-title-website .fas,
.jvgbd-game-hero .jvgbd-hero-title .jvgbd-title-website .fa-solid{color:var(--jvgbd-accent)}
.jvgbd-game-hero .jvgbd-hero-details{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1rem;color:#eee}
.jvgbd-game-hero .jvgbd-hero-details li{margin:0}
/* Hide any legacy platforms row in hero details; platforms are shown in aside */
.jvgbd-game-hero .jvgbd-hero-details .jvgbd-platforms{display:none !important}
/* Slightly larger icons can be used in hero */
.jvgbd-game-hero .jvgbd-platform-badge img{width:22px;height:22px}
.jvgbd-game-hero .jvgbd-platform-badge .fa, .jvgbd-game-hero .jvgbd-platform-badge .fas, .jvgbd-game-hero .jvgbd-platform-badge .fab, .jvgbd-game-hero .jvgbd-platform-badge .far, .jvgbd-game-hero .jvgbd-platform-badge .bi{font-size:22px}
.jvgbd-game-hero .jvgbd-hero-aside .jvgbd-hero-platforms{display:flex;gap:.35rem;margin-top:.5rem;align-self:flex-end}
.jvgbd-game-hero .jvgbd-hero-website .fas,
.jvgbd-game-hero .jvgbd-hero-website .fa-solid{color:#fff}
.jvgbd-game-hero .jvgbd-hero-aside{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;grid-area:aside}
.jvgbd-game-hero .jvgbd-hero-release{display:inline-flex;align-items:center;gap:.4rem;color:#fff;background:rgba(255,255,255,.12);padding:.3rem .5rem;border-radius:6px;font-weight:600;white-space:nowrap}
.jvgbd-game-hero .jvgbd-hero-release .fas,
.jvgbd-game-hero .jvgbd-hero-release .fa-solid{color:#fff}
.jvgbd-game-hero .jvgbd-hero-pegi img{width:56px;height:auto;display:block}
.jvgbd-game-hero .jvgbd-hero-user-rating{display:inline-flex;flex-direction:column;align-items:center;gap:.15rem;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:.4rem .6rem;border-radius:10px;font-weight:700}
.jvgbd-game-hero .jvgbd-hero-user-rating .jvgbd-user-rating-label{color:#fff;opacity:.95}
.jvgbd-game-hero .jvgbd-hero-user-rating .jvgbd-user-rating-row{display:inline-flex;align-items:center;gap:.35rem}
.jvgbd-game-hero .jvgbd-hero-user-rating .fas,.jvgbd-game-hero .jvgbd-hero-user-rating .fa-solid{color:#ffd76a}
.jvgbd-game-hero .jvgbd-hero-share{margin-top:.5rem;display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}
.jvgbd-game-hero .jvgbd-hero-share .jvgbd-share-label{color:#fff;opacity:.95}
.jvgbd-game-hero .jvgbd-hero-share .jvgbd-share-link{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#fff;background:rgba(255,255,255,.12)}
.jvgbd-game-hero .jvgbd-hero-share .jvgbd-share-link i{font-size:14px;line-height:1}
.jvgbd-game-hero .jvgbd-hero-share .jvgbd-share-link:hover{background:var(--jvgbd-accent);border-color:var(--jvgbd-accent);color:#fff}
.jvgbd-game-hero .jvgbd-hero-votes{display:flex;gap:.4rem;margin-top:.25rem}
@media (max-width:820px){.jvgbd-game-hero .jvgbd-hero-inner{grid-template-columns:minmax(0,1fr);grid-template-areas:'cover' 'meta' 'aside';align-items:flex-start}.jvgbd-game-hero .jvgbd-hero-cover{align-items:center;margin-bottom:.75rem}.jvgbd-game-hero .jvgbd-hero-meta{width:100%}.jvgbd-game-hero .jvgbd-hero-aside{align-items:flex-start;width:100%}.jvgbd-game-hero .jvgbd-hero-votes{flex-wrap:wrap}}

.jvgbd-game-hero .jvgbd-hero-votes .jvgbd-vote{background:#ffffff12;color:#fff;border:1px solid transparent;border-radius:14px;padding:.2rem .45rem;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;font-size:.9rem;line-height:1}
.jvgbd-game-hero .jvgbd-hero-votes .jvgbd-vote i{font-size:.95em}
.jvgbd-game-hero .jvgbd-hero-votes .jvgbd-vote:hover{background:#ffffff24}
/* Active states */
.jvgbd-game-hero .jvgbd-hero-votes .jvgbd-vote-up.is-active-up{background:var(--jvgbd-accent) !important;border-color:var(--jvgbd-accent) !important;color:#fff}
.jvgbd-game-hero .jvgbd-hero-votes .jvgbd-vote-up.is-active-up i.fa-heart{color:#e31b23}
.jvgbd-game-hero .jvgbd-hero-votes .jvgbd-vote-hype.is-active-hype{background:#ff4500 !important;border-color:#ff4500 !important;color:#fff}
.jvgbd-game-hero .jvgbd-hero-votes .jvgbd-vote-hype.is-active-hype i.fa-fire{color:#ffd700}
.jvgbd-game-hero .jvgbd-hero-votes .jvgbd-vote-down.is-active-down{background:#fff !important;border-color:#e31b23 !important;color:#e31b23}
.jvgbd-game-hero .jvgbd-hero-votes .jvgbd-vote-down.is-active-down i{color:#e31b23}
@media (max-width:700px){
  .jvgbd-game-hero .jvgbd-hero-cover img{width:100px}
  .jvgbd-game-hero .jvgbd-hero-pegi img{width:48px}
}

/* Sticky footer just on game pages (covers common theme wrappers) */
body.single-jvgbd_game{min-height:100vh;display:flex;flex-direction:column}
body.single-jvgbd_game #page,
body.single-jvgbd_game .site,
body.single-jvgbd_game .site-container,
body.single-jvgbd_game #wrapper{
  min-height:100vh;display:flex;flex-direction:column
}
body.single-jvgbd_game .site-main.jvgbd-single-game{flex:1 0 auto}
body.single-jvgbd_game #colophon,
body.single-jvgbd_game .site-footer,
body.single-jvgbd_game footer{margin-top:auto}

/* Tabs under hero */
.jvgbd-tabs{margin:1rem 0 1.5rem}
.jvgbd-tabs .jvgbd-tabs-header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.5rem;margin-bottom:.5rem}
.jvgbd-tabs .jvgbd-tablist{flex:1 1 auto;min-width:0;display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
.jvgbd-tabs .jvgbd-tabs-share{position:relative;flex:0 0 auto}
.jvgbd-tabs .jvgbd-share-toggle{appearance:none;border:1px solid var(--jvgbd-border);background:var(--jvgbd-surface);color:var(--jvgbd-text);width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.jvgbd-tabs .jvgbd-share-toggle:hover,
.jvgbd-tabs .jvgbd-share-toggle:focus,
.jvgbd-tabs .jvgbd-share-toggle:active,
.jvgbd-tabs .jvgbd-tabs-share.is-open .jvgbd-share-toggle{background:var(--jvgbd-accent) !important;color:#fff !important;border-color:var(--jvgbd-accent) !important}
.jvgbd-tabs .jvgbd-share-menu{position:absolute;top:calc(100% + 8px);right:0;display:none;background:var(--jvgbd-surface);border:1px solid var(--jvgbd-border);border-radius:8px;padding:.4rem;box-shadow:0 6px 22px rgba(0,0,0,.12);white-space:nowrap;z-index:50}
.jvgbd-tabs .jvgbd-tabs-share:hover .jvgbd-share-menu,
.jvgbd-tabs .jvgbd-tabs-share:focus-within .jvgbd-share-menu,
.jvgbd-tabs .jvgbd-tabs-share.is-open .jvgbd-share-menu{display:block}
.jvgbd-tabs .jvgbd-share-menu .jvgbd-share-link{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--jvgbd-border);border-radius:50%;color:var(--jvgbd-accent);background:var(--jvgbd-surface);margin:0 .2rem}
.jvgbd-tabs .jvgbd-share-menu .jvgbd-share-link i{font-size:14px;line-height:1}
.jvgbd-tabs .jvgbd-share-menu .jvgbd-share-link:hover{background:var(--jvgbd-accent);color:#fff;border-color:var(--jvgbd-accent)}
.jvgbd-tabs .jvgbd-share-menu .jvgbd-share-copy.is-copied{background:#28a745 !important;border-color:#28a745 !important;color:#fff !important}
.jvgbd-tabs .jvgbd-tabs-share .jvgbd-share-link{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--jvgbd-border);border-radius:50%;color:var(--jvgbd-accent);background:var(--jvgbd-surface)}
.jvgbd-tabs .jvgbd-tabs-share .jvgbd-share-link i{font-size:14px;line-height:1}
.jvgbd-tabs .jvgbd-tabs-share .jvgbd-share-link:hover{background:var(--jvgbd-accent);color:#fff;border-color:var(--jvgbd-accent)}
.jvgbd-tabs .jvgbd-tabs-share .jvgbd-share-copy.is-copied{background:#28a745 !important;border-color:#28a745 !important;color:#fff !important}
.jvgbd-tablist{display:flex;gap:.5rem;flex-wrap:nowrap;border-bottom:0}
.jvgbd-tab{appearance:none;border:none;background:var(--jvgbd-surface-alt);color:var(--jvgbd-text);padding:.5rem .8rem;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;box-shadow:none;white-space:nowrap}
.jvgbd-tabs .jvgbd-tab:hover,
.jvgbd-tabs .jvgbd-tab:focus,
.jvgbd-tabs .jvgbd-tab:active{background:var(--jvgbd-accent) !important;color:#fff !important;border:none !important}
.jvgbd-tabs .jvgbd-tab.is-active:hover{background:var(--jvgbd-accent) !important;border:none !important}
.jvgbd-tab.is-active{background:var(--jvgbd-accent);color:#fff;border:none}
.jvgbd-tab .fa-solid,
.jvgbd-tab .fas,
.jvgbd-tab .far,
.jvgbd-tab .fa-regular{font-size:.95em}
.jvgbd-tabs-panels{border:none;border-radius:8px;background:var(--jvgbd-surface);padding:1rem}
.jvgbd-tab-panel{display:none}
.jvgbd-tab-panel.is-active{display:block}

/* Image wrappers to anchor stickers to actual images */
.jvgbd-cover-wrap,
.jvgbd-thumb-wrap{position:relative;display:inline-block}

/* Editorial sticker (avis rédaction) */
.jvgbd-editorial-sticker{position:absolute;left:8px;bottom:8px;color:#fff;padding:.32rem .5rem;border-radius:8px;display:inline-flex;align-items:baseline;gap:.24rem;font-weight:800;line-height:1;z-index:3;
  background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.15)), var(--sticker-bg,var(--jvgbd-accent));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 6px 18px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.12);
  -webkit-backdrop-filter:saturate(120%) blur(4px);
  backdrop-filter:saturate(120%) blur(4px);
  text-shadow:0 1px 1px rgba(0,0,0,.35);
}
.jvgbd-editorial-sticker .jvgbd-sticker-score{font-size:19px;line-height:1}
.jvgbd-editorial-sticker .jvgbd-sticker-max{opacity:.9;font-size:12px}
.jvgbd-editorial-sticker .jvgbd-sticker-label{margin-left:.35rem;font-size:10px;opacity:.95;letter-spacing:.45px}

/* Smaller variant on cards */
.jvgbd-game-card .jvgbd-game-thumb .jvgbd-editorial-sticker{left:4px;bottom:4px;padding:.22rem .38rem;border-radius:7px}
.jvgbd-game-card .jvgbd-game-thumb .jvgbd-editorial-sticker .jvgbd-sticker-score{font-size:15px}
.jvgbd-game-card .jvgbd-game-thumb .jvgbd-editorial-sticker .jvgbd-sticker-max{font-size:10px}
.jvgbd-game-card .jvgbd-game-thumb .jvgbd-editorial-sticker .jvgbd-sticker-label{font-size:9px}

/* Ensure card sticker anchors bottom-right of the thumbnail */
.jvgbd-game-card .jvgbd-thumb-wrap .jvgbd-editorial-sticker{left:auto;right:4px;top:auto;bottom:4px;width:auto;height:auto}

/* Hero-specific placement: bottom-right on the single game cover */
.jvgbd-game-hero .jvgbd-hero-cover .jvgbd-editorial-sticker{left:auto;right:8px;bottom:8px;padding:.4rem .6rem;border-radius:10px}
.jvgbd-game-hero .jvgbd-hero-cover .jvgbd-editorial-sticker .jvgbd-sticker-score{font-size:22px}
@media (max-width:700px){
  .jvgbd-game-hero .jvgbd-hero-cover .jvgbd-editorial-sticker{right:6px;bottom:6px;padding:.34rem .5rem}
  .jvgbd-game-hero .jvgbd-hero-cover .jvgbd-editorial-sticker .jvgbd-sticker-score{font-size:18px}
}

/* Gallery grid */
.jvgbd-game-gallery .jvgbd-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));gap:.75rem}
.jvgbd-game-gallery .jvgbd-gallery-item{position:relative;display:block;overflow:hidden;border-radius:6px;background:var(--jvgbd-surface-alt);aspect-ratio:16/9}
.jvgbd-game-gallery .jvgbd-gallery-item img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.jvgbd-game-gallery .jvgbd-gallery-grid{grid-template-columns:repeat(auto-fill, minmax(160px, 1fr))}}
@media (max-width:600px){.jvgbd-game-gallery .jvgbd-gallery-grid{grid-template-columns:repeat(auto-fill, minmax(140px, 1fr))}}

/* Videos grid */
.jvgbd-game-videos .jvgbd-videos-grid{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:1rem}
.jvgbd-game-videos .jvgbd-video-item iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:6px}
@media (max-width:700px){.jvgbd-game-videos .jvgbd-videos-grid{grid-template-columns:1fr}}

/* Lightbox */
.jvgbd-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;visibility:hidden;transition:opacity .2s ease}
.jvgbd-lightbox.is-open{opacity:1;visibility:visible}
.jvgbd-lightbox img{max-width:90vw;max-height:90vh;display:block;border-radius:8px}
.jvgbd-lightbox .jvgbd-lightbox-close{position:absolute;top:12px;right:12px;background:transparent;border:none;color:#fff;font-size:28px;cursor:pointer;line-height:1}

/* Buy list */
.jvgbd-game-buy .jvgbd-buy-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.5rem}
.jvgbd-game-buy .jvgbd-buy-item{display:grid;grid-template-columns:56px 1fr auto;gap:.75rem;align-items:center;border:1px solid var(--jvgbd-border);border-radius:8px;padding:.5rem .75rem;background:var(--jvgbd-surface)}
.jvgbd-game-buy .jvgbd-buy-logo img{width:56px;height:auto;display:block}
.jvgbd-game-buy .jvgbd-buy-logo i{width:56px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:28px;color:#222}
.jvgbd-game-buy .jvgbd-buy-logo-text{display:none;min-width:56px;min-height:32px;padding:.25rem .5rem;border-radius:6px;background:#f1f3f5;color:#111;align-items:center;justify-content:center;font-weight:700}
.jvgbd-game-buy .jvgbd-buy-logo.no-img .jvgbd-buy-logo-text{display:inline-flex}
.jvgbd-game-buy .jvgbd-buy-item.has-logo .jvgbd-buy-store{display:block}
.jvgbd-game-buy .jvgbd-buy-store{font-weight:700}
.jvgbd-game-buy .jvgbd-buy-price{color:#0a7;margin-top:.15rem}
.jvgbd-game-buy .jvgbd-buy-button{display:inline-block;background:var(--jvgbd-accent);color:#fff;text-decoration:none;padding:.45rem .8rem;border-radius:6px}
.jvgbd-game-buy .jvgbd-buy-button:hover{background:var(--jvgbd-accent)}

/* Reviews */
.jvgbd-game-reviews .jvgbd-reviews-avg{background:var(--jvgbd-surface-alt);border:1px solid var(--jvgbd-border);border-radius:8px;padding:.75rem;margin:.5rem 0;color:var(--jvgbd-text)}
.jvgbd-game-reviews .jvgbd-reviews-avg ul{list-style:none;margin:.25rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem 1rem}
.jvgbd-game-reviews .jvgbd-crit-row{display:grid;grid-template-columns:140px 1fr 48px;gap:.5rem;align-items:center}
.jvgbd-game-reviews .jvgbd-crit-row .jvgbd-crit{font-weight:600}
.jvgbd-game-reviews .jvgbd-crit-bar{height:8px;background:var(--jvgbd-border);border-radius:999px;overflow:hidden;position:relative}
.jvgbd-game-reviews .jvgbd-crit-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--jvgbd-accent),#5ab1ff,var(--jvgbd-accent));background-size:200% 100%;animation:jvgbd-shimmer 1.6s linear infinite;transition:width 1s cubic-bezier(.22,1,.36,1)}
.jvgbd-game-reviews .jvgbd-crit-row.is-animated .jvgbd-crit-fill{width:var(--w,0%)}
.jvgbd-game-reviews .jvgbd-crit-overall .jvgbd-crit-fill{background:linear-gradient(90deg,#0a7,#39d,#0a7);background-size:200% 100%}
@keyframes jvgbd-shimmer{0%{background-position:0 0}100%{background-position:200% 0}}
@media (prefers-reduced-motion: reduce){
  .jvgbd-game-reviews .jvgbd-crit-fill{animation:none;transition:none}
  .jvgbd-game-reviews .jvgbd-crit-row.is-animated .jvgbd-crit-fill{width:var(--w,0%)}
}
.jvgbd-game-reviews .jvgbd-crit-overall .jvgbd-crit-fill{background:linear-gradient(90deg,#0a7,#39d)}
.jvgbd-game-reviews .jvgbd-reviews-list{display:grid;gap:.75rem}
.jvgbd-game-reviews .jvgbd-review{border:1px solid var(--jvgbd-border);border-radius:8px;padding:.9rem;background:var(--jvgbd-surface);color:var(--jvgbd-text);box-shadow:0 2px 10px rgba(0,0,0,.06)}
.jvgbd-game-reviews .jvgbd-review header{display:flex;gap:.5rem;align-items:center}
.jvgbd-game-reviews .jvgbd-overall{display:inline-flex;align-items:center;gap:.35rem}
.jvgbd-game-reviews .jvgbd-overall .fas,
.jvgbd-game-reviews .jvgbd-overall .fa-solid{color:#ffd76a}
.jvgbd-game-reviews .jvgbd-review-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:var(--jvgbd-surface-alt);color:var(--jvgbd-muted);font-weight:700;flex:0 0 32px}
.jvgbd-game-reviews .jvgbd-avatar-fallback{font-size:.8rem}
.jvgbd-game-reviews .jvgbd-review .jvgbd-overall-badge{margin-left:auto;background:var(--jvgbd-accent);color:#fff;border-radius:999px;padding:.15rem .55rem;font-weight:700;min-width:44px;text-align:center;display:inline-flex;align-items:center;gap:.25rem}
.jvgbd-game-reviews .jvgbd-review .jvgbd-overall-badge .fas,
.jvgbd-game-reviews .jvgbd-review .jvgbd-overall-badge .fa-solid{color:#ffd76a}
.jvgbd-game-reviews .jvgbd-crit-overall .fas,
.jvgbd-game-reviews .jvgbd-crit-overall .fa-solid{color:#ffd76a}
.jvgbd-game-reviews .jvgbd-share{margin-top:1rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.jvgbd-game-reviews .jvgbd-share-label{font-weight:600;color:var(--jvgbd-text)}
.jvgbd-game-reviews .jvgbd-share .jvgbd-share-link{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--jvgbd-border);border-radius:50%;color:var(--jvgbd-accent);background:var(--jvgbd-surface)}
.jvgbd-game-reviews .jvgbd-share .jvgbd-share-link i{font-size:14px;line-height:1}
.jvgbd-game-reviews .jvgbd-share .jvgbd-share-link:hover{background:var(--jvgbd-accent);color:#fff;border-color:var(--jvgbd-accent)}
.jvgbd-game-reviews .jvgbd-share .jvgbd-share-copy.is-copied{background:#28a745 !important;border-color:#28a745 !important;color:#fff !important}
.jvgbd-game-reviews .jvgbd-review-criteria label{display:block;margin:.35rem 0}
.jvgbd-game-reviews .jvgbd-review-ratings ul{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.4rem}
.jvgbd-game-reviews .jvgbd-review-form input[type=text],
.jvgbd-game-reviews .jvgbd-review-form input[type=email],
.jvgbd-game-reviews .jvgbd-review-form textarea,
.jvgbd-game-reviews .jvgbd-review-form select{width:100%;max-width:480px}
.jvgbd-game-reviews .jvgbd-review-form textarea{max-width:none;width:100%}
.jvgbd-game-reviews .jvgbd-btn-submit{background:var(--jvgbd-accent);color:#fff;border:none;border-radius:6px;padding:.45rem .8rem;margin-top:.5rem}
.jvgbd-game-reviews .jvgbd-btn-submit:hover{background:var(--jvgbd-accent)}
.jvgbd-game-reviews .jvgbd-review-form{background:var(--jvgbd-surface-alt);border:1px solid var(--jvgbd-border);border-radius:10px;padding:1rem;margin-top:1rem}
.jvgbd-game-reviews .jvgbd-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem}
.jvgbd-game-reviews .jvgbd-form-group .jvgbd-field{padding:.5rem .6rem;border:1px solid var(--jvgbd-border);border-radius:8px;background:var(--jvgbd-surface);color:var(--jvgbd-text)}
.jvgbd-game-reviews .jvgbd-form-group .jvgbd-field:focus{outline:none;box-shadow:0 0 0 3px rgba(13,110,253,.2);border-color:var(--jvgbd-accent)}
.jvgbd-game-reviews .jvgbd-review-criteria{margin-top:.5rem}
.jvgbd-game-reviews .jvgbd-review-criteria-title{font-weight:700;margin-bottom:.25rem}
.jvgbd-game-reviews .jvgbd-review-criteria label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.5rem}
.jvgbd-game-reviews .jvgbd-review-criteria select{width:auto;min-width:72px}
.jvgbd-game-reviews .jvgbd-review-help{color:var(--jvgbd-muted);margin:.25rem 0 .5rem}
.jvgbd-game-reviews .jvgbd-review-feedback{margin-top:.5rem;min-height:1.25rem;color:var(--jvgbd-text)}
.jvgbd-game-reviews .jvgbd-editor{margin-top:.5rem;position:relative;z-index:1}
.jvgbd-game-reviews .jvgbd-editor-toolbar{display:flex;gap:.35rem;margin-bottom:.35rem}
.jvgbd-game-reviews .jvgbd-editor-toolbar .jvgbd-btn{background:var(--jvgbd-surface);border:1px solid var(--jvgbd-border);border-radius:6px;padding:.25rem .45rem;cursor:pointer;color:var(--jvgbd-text)}
.jvgbd-game-reviews .jvgbd-editor-toolbar .jvgbd-btn:hover{background:var(--jvgbd-surface-alt)}
.jvgbd-game-reviews .jvgbd-emoji{position:relative}
.jvgbd-game-reviews .jvgbd-emoji .jvgbd-emoji-pop{position:absolute;top:calc(100% + 4px);left:0;background:var(--jvgbd-surface);border:1px solid var(--jvgbd-border);border-radius:8px;padding:.35rem .45rem;display:none;gap:.25rem;z-index:999;box-shadow:0 6px 22px rgba(0,0,0,.18);min-width:220px}
.jvgbd-game-reviews .jvgbd-emoji .jvgbd-emoji-pop button{background:none;border:none;cursor:pointer;font-size:1.25rem;line-height:1;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:6px;box-sizing:border-box}
.jvgbd-game-reviews .jvgbd-emoji .jvgbd-emoji-pop button:hover{background:var(--jvgbd-surface-alt)}
.jvgbd-game-reviews .jvgbd-emoji.is-open .jvgbd-emoji-pop{display:grid !important;grid-template-columns:repeat(6, 2rem);gap:.35rem}
.jvgbd-game-reviews .jvgbd-review-form textarea{border:1px solid var(--jvgbd-border);border-radius:6px}
.jvgbd-game-reviews .jvgbd-review-form input[type=text],
.jvgbd-game-reviews .jvgbd-review-form input[type=email],
.jvgbd-game-reviews .jvgbd-review-form select{border:1px solid var(--jvgbd-border);border-radius:6px}
.jvgbd-hp{position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; pointer-events:none}

/* Editorial review (avis rédaction) – pros & cons */
.jvgbd-editorial-review .jvgbd-review-pros-cons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}
.jvgbd-editorial-review .jvgbd-review-pros,
.jvgbd-editorial-review .jvgbd-review-cons{background:var(--jvgbd-surface-alt);border:1px solid var(--jvgbd-border);border-radius:8px;padding:.75rem}
.jvgbd-editorial-review .jvgbd-review-pros{border-left:4px solid #28a745}
.jvgbd-editorial-review .jvgbd-review-cons{border-left:4px solid #dc3545}
.jvgbd-editorial-review .jvgbd-review-pros h4,
.jvgbd-editorial-review .jvgbd-review-cons h4{margin:0 0 .4rem;display:flex;align-items:center;gap:.4rem}
.jvgbd-editorial-review .jvgbd-review-pros h4{color:#28a745}
.jvgbd-editorial-review .jvgbd-review-cons h4{color:#dc3545}
.jvgbd-editorial-review .jvgbd-review-pros h4 i,
.jvgbd-editorial-review .jvgbd-review-cons h4 i{opacity:.9}
.jvgbd-editorial-review .jvgbd-review-pros ul,
.jvgbd-editorial-review .jvgbd-review-cons ul{list-style:none;margin:.25rem 0 0;padding:0;display:grid;gap:.25rem .5rem}
.jvgbd-editorial-review .jvgbd-review-pros li,
.jvgbd-editorial-review .jvgbd-review-cons li{position:relative;padding-left:1.2em;line-height:1.4}
.jvgbd-editorial-review .jvgbd-review-pros li::before{content:'✓';position:absolute;left:0;top:0;color:#28a745;font-weight:800}
.jvgbd-editorial-review .jvgbd-review-cons li::before{content:'✗';position:absolute;left:0;top:0;color:#dc3545;font-weight:800}
@media (max-width:700px){.jvgbd-editorial-review .jvgbd-review-pros-cons{grid-template-columns:1fr}}

/* Editorial review – summary (conclusion + global score) */
.jvgbd-editorial-review .jvgbd-review-summary{margin-top:1rem}
.jvgbd-editorial-review .jvgbd-summary-inner{background:var(--jvgbd-surface);border:1px solid var(--jvgbd-border);border-radius:10px;padding:.75rem .9rem;display:grid;grid-template-columns:1fr auto;gap:.75rem 1rem;align-items:center;width:100%}
.jvgbd-editorial-review .jvgbd-summary-title{margin:0 0 .25rem;font-weight:800}
.jvgbd-editorial-review .jvgbd-summary-paragraph{margin:0;color:var(--jvgbd-text)}
.jvgbd-editorial-review .jvgbd-summary-score{display:inline-flex;align-items:center;justify-content:center;min-width:64px;min-height:64px;border-radius:999px;color:#fff;font-weight:800;line-height:1;text-shadow:0 1px 1px rgba(0,0,0,.35);
  background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.15)), var(--summary-bg,var(--jvgbd-accent));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 6px 18px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.12);
}
.jvgbd-editorial-review .jvgbd-summary-score .jvgbd-score-number{font-size:24px}
@media (max-width:700px){.jvgbd-editorial-review .jvgbd-summary-inner{grid-template-columns:1fr;justify-items:center;text-align:center}}

/* Responsive enhancements */
@media (max-width:900px){
  .jvgbd-related-posts .jvgbd-related-item{grid-template-columns:80px 1fr}
}
@media (max-width:700px){
  .jvgbd-game-buy .jvgbd-buy-item{grid-template-columns:56px 1fr;grid-template-areas:"logo info" "logo cta"}
  .jvgbd-game-buy .jvgbd-buy-logo{grid-area:logo}
  .jvgbd-game-buy .jvgbd-buy-info{grid-area:info}
  .jvgbd-game-buy .jvgbd-buy-cta{grid-area:cta;justify-self:start;margin-top:.25rem}
  .jvgbd-game-reviews .jvgbd-reviews-avg ul{grid-template-columns:1fr}
  .jvgbd-game-reviews .jvgbd-crit-row{grid-template-columns:1fr 1fr 48px}
  .jvgbd-game-reviews .jvgbd-form-row{grid-template-columns:1fr}
}
@media (max-width:600px){
  .jvgbd-related-posts .jvgbd-related-item{grid-template-columns:72px 1fr}
  .jvgbd-tabs{margin:.75rem 0 1rem}
}
@media (max-width:480px){
  .jvgbd-game-hero .jvgbd-hero-inner{grid-template-columns:1fr}
  .jvgbd-game-hero .jvgbd-hero-cover{justify-self:center}
  .jvgbd-game-hero .jvgbd-hero-aside{align-items:flex-start}
  .jvgbd-tablist{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:.25rem}
  .jvgbd-tab{white-space:nowrap}
}

/* Touch target sizing */
.jvgbd-game-hero .jvgbd-hero-votes .jvgbd-vote{min-height:34px}

/* Social sharing icons - fallback for Twitter/X icon */
.jvgbd-share-twitter .fa-x-twitter::before{content:"\e61b"}
.jvgbd-share-twitter .fa-x-twitter:empty::before,
.jvgbd-share-twitter .fa-x-twitter:not([class*="fa-x-twitter"])::before{content:"\f099"}
/* Alternative: Use a simple X character if Font Awesome brand icons aren't loaded */
.jvgbd-share-twitter:not([class*="fab"]) .fa-x-twitter::before{content:"𝕏";font-family:inherit;font-weight:bold}

.jvgbd-game-reviews .jvgbd-review-avatar img{width:32px;height:32px;border-radius:50%;display:block}

/* Editorial review comments */
.jvgbd-editorial-comments{margin-top:1.5rem}
.jvgbd-editorial-comments .jvgbd-comments-title{font-size:1.1rem;margin:0 0 .6rem}
.jvgbd-editorial-comments .jvgbd-comment-notice{background:#f0f6ff;border:1px solid #cce1ff;color:#0a53be;padding:.5rem .75rem;border-radius:6px;margin-bottom:.75rem}
.jvgbd-editorial-comments .jvgbd-comment-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}
.jvgbd-editorial-comments .jvgbd-comment-item{border:1px solid var(--jvgbd-border);border-radius:8px;padding:.75rem 1rem;background:var(--jvgbd-surface);color:var(--jvgbd-text)}
.jvgbd-editorial-comments .jvgbd-comment-meta{font-size:.875rem;color:var(--jvgbd-muted);margin-bottom:.25rem;display:flex;gap:.5rem;flex-wrap:wrap}
.jvgbd-editorial-comments .jvgbd-comment-author{color:var(--jvgbd-text)}
.jvgbd-editorial-comments .jvgbd-no-comments{color:var(--jvgbd-muted);margin:.25rem 0 1rem}
.jvgbd-editorial-comments .jvgbd-comment-form-wrap{margin-top:1rem}
.jvgbd-editorial-comments .jvgbd-comment-form-title{font-size:1rem;margin:0 0 .5rem}
.jvgbd-editorial-comments .jvgbd-comment-form .jvgbd-field{margin-bottom:.5rem}
.jvgbd-editorial-comments .jvgbd-comment-form label{display:block;font-size:.875rem;margin-bottom:.25rem;color:var(--jvgbd-text)}
.jvgbd-editorial-comments .jvgbd-comment-form input[type="text"],
.jvgbd-editorial-comments .jvgbd-comment-form input[type="email"],
.jvgbd-editorial-comments .jvgbd-comment-form textarea{width:100%;padding:.5rem .6rem;border:1px solid var(--jvgbd-border);border-radius:6px;background:var(--jvgbd-surface);color:var(--jvgbd-text)}
.jvgbd-editorial-comments .jvgbd-comment-form textarea{min-height:100px}
.jvgbd-editorial-comments .jvgbd-comment-form .required{color:#ef4444}
.jvgbd-editorial-comments .jvgbd-comment-form .jvgbd-actions{margin-top:.75rem}
.jvgbd-editorial-comments .jvgbd-comment-form .jvgbd-btn{background:#0ea5e9;color:#fff;border:0;border-radius:6px;padding:.5rem .9rem;font-weight:600;cursor:pointer}
.jvgbd-editorial-comments .jvgbd-comment-form .jvgbd-btn:hover{background:#0284c7}

/* Sidebar spacing for Hype widget */
.jvgbd-hype-widget{margin-bottom:var(--jvgbd-widget-gap, 16px); margin-top:var(--jvgbd-widget-gap-top, 12px)}
:where(.widget, .widget-area, .sidebar, aside) .jvgbd-hype-widget{
  margin-bottom:var(--jvgbd-widget-gap, 20px);
  margin-top:var(--jvgbd-widget-gap-top, 16px);
  padding-top:var(--jvgbd-widget-sep-pad, 8px);
  border-top:1px solid var(--jvgbd-border, #e5e5e5);
}
/* Archive avec sidebar */
.jvgbd-content-sidebar-wrap{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:2rem;
  max-width:1400px;
  margin:0 auto;
  padding:0 1rem;
}

@media (max-width:1024px){
  .jvgbd-content-sidebar-wrap{
    grid-template-columns:1fr;
  }
  .jvgbd-sidebar{
    order:2;
  }
}

.jvgbd-archive.content-area{
  min-width:0;
}

.jvgbd-sidebar{
  position:sticky;
  top:2rem;
  align-self:start;
  max-height:calc(100vh - 4rem);
  overflow-y:auto;
}

.jvgbd-sidebar .widget{
  background:var(--jvgbd-surface);
  border:1px solid var(--jvgbd-border);
  border-radius:8px;
  padding:1.5rem;
  margin-bottom:1.5rem;
}

.jvgbd-sidebar .widget-title{
  font-size:1.2rem;
  font-weight:700;
  margin:0 0 1rem;
  padding-bottom:0.5rem;
  border-bottom:2px solid var(--jvgbd-border);
  color:var(--jvgbd-text);
  text-transform:uppercase;
  letter-spacing:0.5px;
}

.jvgbd-sidebar-posts{
  list-style:none;
  margin:0;
  padding:0;
}

.jvgbd-sidebar-posts li{
  display:flex;
  gap:0.75rem;
  margin-bottom:1rem;
  padding-bottom:1rem;
  border-bottom:1px solid var(--jvgbd-border);
}

.jvgbd-sidebar-posts li:last-child{
  border-bottom:none;
  margin-bottom:0;
  padding-bottom:0;
}

.jvgbd-sidebar-posts li a{
  color:var(--jvgbd-text);
  text-decoration:none;
  line-height:1.4;
}

.jvgbd-sidebar-posts li a:hover{
  color:var(--jvgbd-accent);
}

.jvgbd-sidebar-posts img{
  width:80px;
  height:80px;
  object-fit:cover;
  border-radius:6px;
  flex-shrink:0;
}

/* Pagination améliorée */
.jvgbd-pagination{
  margin:2.5rem 0;
  display:flex;
  justify-content:center;
  align-items:center;
}

.jvgbd-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:40px;
  padding:0 .75rem;
  margin:0 .25rem;
  border:1px solid var(--jvgbd-border);
  border-radius:6px;
  background:var(--jvgbd-surface);
  color:var(--jvgbd-text);
  text-decoration:none;
  font-weight:600;
  transition:all .2s ease;
}

.jvgbd-pagination .page-numbers:hover{
  background:var(--jvgbd-accent);
  border-color:var(--jvgbd-accent);
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 4px 12px rgba(13,110,253,.3);
}

.jvgbd-pagination .page-numbers.current{
  background:var(--jvgbd-accent);
  border-color:var(--jvgbd-accent);
  color:#fff;
  cursor:default;
  pointer-events:none;
}

.jvgbd-pagination .page-numbers.dots{
  border:none;
  background:transparent;
  cursor:default;
  pointer-events:none;
}

.jvgbd-pagination .page-numbers.prev,
.jvgbd-pagination .page-numbers.next{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:0 1rem;
}

.jvgbd-pagination .page-numbers.prev i,
.jvgbd-pagination .page-numbers.next i{
  font-size:.875rem;
}

.screen-reader-text{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Responsive pagination */
@media (max-width:600px){
  .jvgbd-pagination .page-numbers{
    min-width:36px;
    height:36px;
    padding:0 .5rem;
    margin:0 .15rem;
    font-size:.875rem;
  }
  
  .jvgbd-pagination .page-numbers.prev,
  .jvgbd-pagination .page-numbers.next{
    padding:0 .75rem;
  }
  
  /* Masquer certains numéros sur mobile */
  .jvgbd-pagination .page-numbers:not(.prev):not(.next):not(.current):not(.dots){
    display:none;
  }
  
  .jvgbd-pagination .page-numbers.current ~ .page-numbers:not(.next):not(.dots):nth-of-type(-n+2),
  .jvgbd-pagination .page-numbers:nth-last-of-type(-n+2):not(.next){
    display:inline-flex;
  }
}

@media (max-width:480px){
  .jvgbd-pagination .page-numbers.prev span:not(.screen-reader-text),
  .jvgbd-pagination .page-numbers.next span:not(.screen-reader-text){
    display:none;
  }
  
  .jvgbd-pagination .page-numbers.prev,
  .jvgbd-pagination .page-numbers.next{
    padding:0 .5rem;
  }
}

/* Amélioration responsive cartes de jeux */
@media (max-width:768px){
  .jvgbd-game-card{
    grid-template-columns:80px 1fr;
    gap:.75rem;
    padding:.75rem;
  }
  
  .jvgbd-game-card .jvgbd-game-thumb img{
    width:80px;
    height:80px;
  }
  
  .jvgbd-game-card .jvgbd-game-title{
    font-size:1rem;
  }
  
  .jvgbd-game-card .jvgbd-game-details{
    font-size:.875rem;
  }
  
  .jvgbd-card-platforms{
    right:6px;
    bottom:6px;
  }
}

@media (max-width:600px){
  .jvgbd-game-card{
    grid-template-columns:minmax(0,1fr);
    padding:.75rem;
    padding-bottom:1rem;
  }
  
  .jvgbd-game-card .jvgbd-game-thumb{
    flex-direction:column;
    align-items:center;
    gap:.5rem;
    margin-bottom:.5rem;
  }
  
  .jvgbd-game-card .jvgbd-game-thumb img{
    width:120px;
    height:120px;
  }
  
  .jvgbd-card-platforms{
    position:static;
    margin-top:.75rem;
    justify-content:center;
    max-width:100%;
  }
  
  .jvgbd-game-card .jvgbd-game-title{
    text-align:center;
    grid-template-columns:1fr;
  }
  
  .jvgbd-game-card .jvgbd-game-title .jvgbd-title-website{
    grid-column:1;
    justify-self:center;
    margin-top:.25rem;
  }
  
  .jvgbd-game-card .jvgbd-game-details{
    text-align:center;
  }
}

/* Responsive Hero de jeu */
@media (max-width:768px){
  .jvgbd-game-hero .jvgbd-hero-inner{
    grid-template-columns:120px 1fr;
    grid-template-areas:
      'cover meta'
      'aside aside';
    gap:.75rem;
    padding:1rem;
  }
  
  .jvgbd-game-hero .jvgbd-hero-cover img{
    width:120px;
  }
  
  .jvgbd-game-hero .jvgbd-hero-title{
    font-size:1.25rem;
  }
  
  .jvgbd-game-hero .jvgbd-hero-aside{
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    gap:.5rem;
  }
}

@media (max-width:600px){
  .jvgbd-game-hero .jvgbd-hero-inner{
    grid-template-columns:1fr;
    grid-template-areas:
      'cover'
      'meta'
      'aside';
    text-align:center;
  }
  
  .jvgbd-game-hero .jvgbd-hero-cover{
    align-items:center;
    margin:0 auto .75rem;
  }
  
  .jvgbd-game-hero .jvgbd-hero-cover img{
    width:140px;
  }
  
  .jvgbd-game-hero .jvgbd-hero-meta{
    text-align:center;
  }
  
  .jvgbd-game-hero .jvgbd-hero-details{
    justify-content:center;
  }
  
  .jvgbd-game-hero .jvgbd-hero-aside{
    flex-direction:column;
    align-items:center;
  }
  
  .jvgbd-game-hero .jvgbd-hero-platforms{
    justify-content:center;
  }
  
  .jvgbd-game-hero .jvgbd-hero-share{
    justify-content:center;
  }
  
  .jvgbd-game-hero .jvgbd-hero-votes{
    justify-content:center;
  }
}

/* Amélioration responsive onglets */
@media (max-width:768px){
  .jvgbd-tabs .jvgbd-tabs-header{
    gap:.35rem;
  }
  
  .jvgbd-tabs .jvgbd-tablist{
    gap:.35rem;
  }
  
  .jvgbd-tab{
    padding:.45rem .65rem;
    font-size:.875rem;
  }
  
  .jvgbd-tabs-panels{
    padding:.75rem;
  }
}

@media (max-width:480px){
  .jvgbd-tabs .jvgbd-tablist{
    gap:.25rem;
    padding-bottom:.25rem;
  }
  
  .jvgbd-tab{
    padding:.4rem .5rem;
    font-size:.8125rem;
  }
  
  .jvgbd-tab i{
    display:none;
  }
  
  .jvgbd-tabs-panels{
    padding:.5rem;
  }
}

/* Archive responsive */
@media (max-width:768px){
  .jvgbd-archive .page-title{
    font-size:1.5rem;
  }
  
  .jvgbd-archive .jvgbd-archive-grid{
    gap:.75rem;
  }
}

@media (max-width:600px){
  .jvgbd-archive .page-header{
    margin-bottom:1.5rem;
    padding-bottom:.75rem;
  }
  
  .jvgbd-archive .page-title{
    font-size:1.25rem;
  }
  
  .jvgbd-test-card{
    border-radius:6px;
  }
  
  .jvgbd-test-content{
    padding:1rem;
  }
  
  .jvgbd-test-title{
    font-size:1.1rem;
  }
}

/* Sidebar responsive */
@media (max-width:1024px){
  .jvgbd-content-sidebar-wrap{
    grid-template-columns:1fr;
    gap:1.5rem;
  }
  
  .jvgbd-sidebar{
    position:static;
    max-height:none;
    overflow-y:visible;
  }
  
  .jvgbd-sidebar .widget{
    padding:1.25rem;
    margin-bottom:1.25rem;
  }
}

@media (max-width:600px){
  .jvgbd-sidebar .widget{
    padding:1rem;
    margin-bottom:1rem;
  }
  
  .jvgbd-sidebar .widget-title{
    font-size:1.1rem;
    margin-bottom:.75rem;
  }
  
  .jvgbd-sidebar-posts li{
    gap:.5rem;
    margin-bottom:.75rem;
    padding-bottom:.75rem;
  }
  
  .jvgbd-sidebar-posts img{
    width:64px;
    height:64px;
  }
}

/* Touch improvements pour mobile */
@media (hover: none) and (pointer: coarse){
  .jvgbd-tab,
  .jvgbd-pagination .page-numbers,
  .jvgbd-share-link,
  .jvgbd-vote{
    min-height:44px;
    min-width:44px;
  }
  
  .jvgbd-platform-badge{
    min-height:32px;
    min-width:32px;
  }
}

/* Amélioration de la lisibilité sur petits écrans */
@media (max-width:480px){
  .jvgbd-single-game{
    padding:0 12px;
  }
  
  .jvgbd-game-card{
    margin:1rem 0;
  }
  
  .jvgbd-tabs{
    margin:.5rem 0 1rem;
  }
  
  .jvgbd-related-posts .jvgbd-related-item{
    grid-template-columns:64px 1fr;
    gap:.5rem;
  }
  
  .jvgbd-related-posts .jvgbd-related-thumb img,
  .jvgbd-related-posts .jvgbd-no-thumb{
    width:64px;
    height:48px;
  }
}

/* Pagination des articles liés */
.jvgbd-related-posts{position:relative}
.jvgbd-related-loading{
  display:none;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  z-index:10;
}
.jvgbd-spinner{
  display:inline-block;
  width:32px;
  height:32px;
  border:3px solid var(--jvgbd-border);
  border-top-color:var(--jvgbd-accent);
  border-radius:50%;
  animation:jvgbd-spin 0.6s linear infinite;
}
@keyframes jvgbd-spin{
  to{transform:rotate(360deg)}
}
.jvgbd-related-pagination{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:1.5rem;
  padding-top:1rem;
  border-top:1px solid var(--jvgbd-border);
  gap:1rem;
}
.jvgbd-pagination-btn{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.5rem 1rem;
  background:var(--jvgbd-surface);
  border:1px solid var(--jvgbd-border);
  border-radius:6px;
  color:var(--jvgbd-text);
  font-weight:500;
  cursor:pointer;
  transition:all 0.2s ease;
  font-size:.9rem;
}
.jvgbd-pagination-btn:not(:disabled):hover{
  background:var(--jvgbd-surface-alt);
  border-color:var(--jvgbd-accent);
  color:var(--jvgbd-accent);
}
.jvgbd-pagination-btn:disabled{
  opacity:0.4;
  cursor:not-allowed;
}
.jvgbd-pagination-info{
  font-size:.9rem;
  color:var(--jvgbd-muted);
  font-weight:500;
}
.jvgbd-pagination-current{
  color:var(--jvgbd-text);
  font-weight:700;
}

@media (max-width:600px){
  .jvgbd-related-pagination{
    flex-direction:column;
    gap:.75rem;
  }
  .jvgbd-pagination-btn{
    width:100%;
    justify-content:center;
  }
}