/* FAMEEN GROUP — Portfolio « par entreprise » + lightbox carrousel.
   Fichier au chemin neuf (contourne le cache CDN). Utilise les variables :root du thème. */

/* ---------- Filtres ---------- */
.fg-rfilter{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:0 0 30px}
.fg-rbtn{padding:9px 18px;border:1px solid #e6e8ef;background:#fff;border-radius:999px;font-weight:600;font-size:.86rem;color:var(--navy,#28326D);cursor:pointer;transition:.2s;font-family:inherit}
.fg-rbtn:hover{border-color:var(--orange,#E9A124)}
.fg-rbtn.is-active{background:var(--navy,#28326D);color:#fff;border-color:var(--navy,#28326D)}

/* ---------- Grille d'entreprises ---------- */
.fg-rgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.fg-rcard{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;
  box-shadow:0 10px 30px rgba(27,35,80,.08);cursor:pointer;transition:transform .3s,box-shadow .3s;outline:none}
.fg-rcard:hover,.fg-rcard:focus-visible{transform:translateY(-8px);box-shadow:0 28px 64px rgba(27,35,80,.20)}
.fg-rcard:focus-visible{box-shadow:0 0 0 3px rgba(233,161,36,.55),0 28px 64px rgba(27,35,80,.20)}
.fg-rcard.fg-rhide{display:none}

.fg-rthumb{position:relative;height:210px;overflow:hidden;background:#f5f7fb}
.fg-rthumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.fg-rcard:hover .fg-rthumb img{transform:scale(1.07)}
.fg-rthumb::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(14,20,48,.55));opacity:0;transition:.35s}
.fg-rcard:hover .fg-rthumb::after{opacity:1}
/* badge nombre de réalisations */
.fg-rcount{position:absolute;top:12px;left:12px;z-index:2;background:var(--navy,#28326D);color:#fff;
  font-size:.72rem;font-weight:600;padding:5px 11px;border-radius:999px;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.fg-rcount b{color:var(--gold-2,#F6B93B)}
/* icône loupe au survol */
.fg-rzoom{position:absolute;right:12px;bottom:12px;z-index:2;width:40px;height:40px;border-radius:50%;
  background:var(--orange,#E9A124);color:var(--navy,#28326D);display:grid;place-items:center;font-size:22px;font-weight:700;
  transform:scale(.6);opacity:0;transition:.3s}
.fg-rcard:hover .fg-rzoom{transform:scale(1);opacity:1}

.fg-rbody{padding:18px 18px 22px;display:flex;flex-direction:column;flex:1}
.fg-rtags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:11px}
.fg-rtag{font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--orange-deep,#c8861b);
  background:rgba(233,161,36,.14);padding:4px 9px;border-radius:6px}
.fg-rcard h3{font-family:'Sora',sans-serif;font-size:1.05rem;margin:0 0 12px;color:var(--navy,#28326D);line-height:1.25}
.fg-rmore{margin-top:auto;color:var(--orange-deep,#c8861b);font-weight:700;font-size:.84rem}
.fg-rcard:hover .fg-rmore{color:var(--navy,#28326D)}

/* ---------- Lightbox carrousel ---------- */
.fg-rlb{position:fixed;inset:0;z-index:99999;background:rgba(12,17,45,.94);display:flex;align-items:center;justify-content:center;padding:24px}
.fg-rlb[hidden]{display:none}
.fg-rlb-box{width:min(920px,96vw);max-height:92vh;display:flex;flex-direction:column;align-items:center}
.fg-rlb-head{display:flex;align-items:baseline;gap:14px;margin-bottom:14px;color:#fff;text-align:center;flex-wrap:wrap;justify-content:center}
.fg-rlb-name{font-family:'Sora',sans-serif;font-size:1.5rem;margin:0;color:#fff}
.fg-rlb-counter{color:var(--gold-2,#F6B93B);font-weight:700;font-size:.9rem}
.fg-rlb-fig{margin:0;width:100%;display:flex;flex-direction:column;align-items:center}
.fg-rlb-fig img{max-width:100%;max-height:70vh;border-radius:14px;box-shadow:0 30px 90px rgba(0,0,0,.55);background:#fff;object-fit:contain}
.fg-rlb-fig figcaption{color:#e7ebf7;margin-top:14px;font-size:.98rem;text-align:center;max-width:760px}
/* boutons */
.fg-rlb-x{position:absolute;top:18px;right:22px;width:48px;height:48px;border:0;border-radius:50%;
  background:rgba(255,255,255,.16);color:#fff;font-size:30px;line-height:1;cursor:pointer;transition:.2s}
.fg-rlb-x:hover{background:var(--orange,#E9A124);color:var(--navy,#28326D)}
.fg-rlb-nav{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border:0;border-radius:50%;
  background:rgba(255,255,255,.14);color:#fff;font-size:34px;line-height:1;cursor:pointer;transition:.2s;display:grid;place-items:center}
.fg-rlb-nav:hover{background:var(--orange,#E9A124);color:var(--navy,#28326D)}
.fg-rlb-prev{left:20px}.fg-rlb-next{right:20px}
/* pastilles */
.fg-rlb-dots{display:flex;gap:9px;margin-top:18px}
.fg-rdot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:.2s}
.fg-rdot.on{background:var(--orange,#E9A124);transform:scale(1.25)}

/* ---------- Responsive ---------- */
@media(max-width:980px){.fg-rgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){
  .fg-rgrid{grid-template-columns:1fr}
  .fg-rlb{padding:14px}
  .fg-rlb-name{font-size:1.2rem}
  .fg-rlb-nav{width:44px;height:44px;font-size:28px}
  .fg-rlb-prev{left:8px}.fg-rlb-next{right:8px}
  .fg-rlb-x{top:10px;right:12px}
}
@media(prefers-reduced-motion:reduce){.fg-rcard,.fg-rthumb img,.fg-rzoom{transition:none}}
