/* Toutes les variables et tous les styles sont scopés sous .rg et
   .rg-viewer : rien n'est défini sur :root, body ou h1 tout seuls,
   pour ne jamais affecter le reste du site WordPress. */
.rg, .rg-viewer{
  --bg:#faf9f7;
  --surface:#ffffff;
  --ink:#141311;
  --ink-soft:#5b574f;
  --line:#e5e2db;
  --accent:#7a2430;
  --scrim:#0d0c0bf2;
}
@media (prefers-color-scheme: dark){
  .rg, .rg-viewer{
    --bg:#141311;
    --surface:#1c1a17;
    --ink:#f3f1ea;
    --ink-soft:#a39d90;
    --line:#332f29;
    --accent:#c96a74;
    --scrim:#0a0908f5;
  }
}

.rg *, .rg-viewer *{box-sizing:border-box;}

/* ---- teaser (ce qui reste visible dans l'article) ---- */
.rg{max-width:1040px;margin-inline:auto;}
.rg-teaser{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:3px;
}
@media (max-width:640px){
  .rg-teaser{grid-template-columns:repeat(2,1fr);}
}
.rg-tile{
  position:relative;
  aspect-ratio:2/3;
  border:0;
  padding:0;
  cursor:pointer;
  overflow:hidden;
  background:var(--surface);
  display:block;
  width:100%;
}
.rg-tile img{display:block;width:100%;height:100%;object-fit:cover;}
.rg-tile .rg-no{
  position:absolute;
  left:8px;
  bottom:8px;
  font-variant-numeric:tabular-nums;
  font-size:11px;
  letter-spacing:.06em;
  color:#fff;
  background:rgba(10,9,8,.55);
  padding:3px 7px;
}
.rg-tile:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;}
.rg-tile.rg-more::after{
  content:"";
  position:absolute;inset:0;
  background:rgba(10,9,8,.6);
}
.rg-more-label{
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:5px;color:#fff;z-index:1;text-align:center;
  font-size:12.5px;font-weight:600;letter-spacing:.03em;line-height:1.4;
}
.rg-more-label svg{width:20px;height:20px;}

.rg-status{
  margin-top:14px;
  font-size:11.5px;
  color:var(--ink-soft);
  letter-spacing:.02em;
}

/* ---- visionneuse plein écran ---- */
.rg-viewer{
  position:fixed;inset:0;
  background:var(--scrim);
  display:none;
  flex-direction:column;
  z-index:2147483000;
}
.rg-viewer.open{display:flex;}

.rgv-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  color:#f4f2ec;
}
.rgv-counter{
  font-variant-numeric:tabular-nums;
  font-size:12px;
  letter-spacing:.08em;
}
.rgv-counter b{font-weight:600;}
.rgv-icon-btn{
  background:transparent;
  border:1px solid rgba(244,242,236,.35);
  color:#f4f2ec;
  width:34px;height:34px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  font-size:16px;
  line-height:1;
}
.rgv-icon-btn:hover{background:rgba(244,242,236,.12);}

.rgv-body{
  flex:1;
  display:flex;
  min-height:0;
}

.rgv-stage{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding-inline:8px;
  min-height:0;
}
.rgv-stage-wrap{
  position:relative;
  max-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.rgv-stage-img{
  max-height:100%;
  max-width:min(600px, 86vw);
  aspect-ratio:2/3;
  background:var(--surface);
  overflow:hidden;
  transition:max-width .18s ease, max-height .18s ease;
}
.rgv-stage-img img{display:block;width:100%;height:100%;object-fit:cover;}
.rgv-stage-img.rgv-zoomed{
  max-width:min(1200px, 94vw);
  max-height:94vh;
  aspect-ratio:auto;
  overflow:auto;
  cursor:zoom-out;
}
.rgv-stage-img.rgv-zoomed img{
  width:auto;height:auto;max-width:none;max-height:none;object-fit:initial;
}
.rgv-zoom-btn{
  position:absolute;
  right:10px;bottom:10px;
  width:38px;height:38px;
  border-radius:50%;
  background:rgba(10,9,8,.55);
  border:1px solid rgba(244,242,236,.35);
  color:#f4f2ec;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  z-index:1;
}
.rgv-zoom-btn:hover{background:rgba(10,9,8,.75);}
.rgv-zoom-btn svg{width:18px;height:18px;}

.rgv-nav-btn{
  flex:0 0 auto;
  background:transparent;
  border:none;
  color:#f4f2ec;
  width:44px;height:44px;
  border-radius:50%;
  cursor:pointer;
  font-size:20px;
  display:flex;align-items:center;justify-content:center;
}
.rgv-nav-btn:hover{background:rgba(244,242,236,.12);}
.rgv-nav-btn:disabled{opacity:.25;cursor:default;}
.rgv-nav-btn:disabled:hover{background:transparent;}

/* ---- rail publicitaire ---- */
.rgv-ad-rail{
  flex:0 0 auto;
  width:300px;
  display:none;
  align-items:center;
  justify-content:center;
  padding:16px 16px 16px 0;
}
.rgv-ad-slot{
  width:300px;
  max-height:100%;
  min-height:250px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px dashed rgba(244,242,236,.3);
  background:rgba(244,242,236,.04);
  overflow:hidden;
}
.rgv-ad-slot .rgv-ad-label{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#8a8578;
}
.rgv-ad-item{width:100%;}
@media (min-width:960px){
  .rgv-ad-rail{display:flex;}
}

.rgv-caption{
  text-align:center;
  color:#f4f2ec;
  padding:14px 20px 6px;
}
.rgv-caption .rgv-look{
  font-size:15px;
  font-weight:600;
  margin:0 0 3px;
}
.rgv-caption .rgv-line{
  font-size:11.5px;
  color:#c9c4b8;
  margin:0;
}

.rgv-filmstrip{
  display:flex;
  gap:5px;
  overflow-x:auto;
  padding:10px 16px;
  scrollbar-width:none;
}
.rgv-filmstrip::-webkit-scrollbar{display:none;}
.rgv-film-item{
  flex:0 0 auto;
  width:42px;
  aspect-ratio:2/3;
  padding:0;border:0;
  cursor:pointer;
  opacity:.45;
  transition:opacity .12s ease;
}
.rgv-film-item img{display:block;width:100%;height:100%;object-fit:cover;}
.rgv-film-item.active{opacity:1;outline:1.5px solid #f4f2ec;outline-offset:1px;}

@media (max-width:520px){
  .rgv-stage-img{max-width:88vw;}
}

/* La galerie WordPress source ne doit jamais s'afficher :
   elle sert uniquement de réservoir d'images pour le script. */
#runway-source{display:none !important;}
