/* Liste "bandeaux" + carrousel en arc : onglet Catalogue des apps mobiles (noir, blanc, gris) */
.fv-list{display:block!important}
.fv-card{position:relative;height:172px;margin:0 0 14px;border-radius:22px;overflow:hidden;cursor:pointer;
  background:linear-gradient(160deg,#222226,#0B0B0C);border:1px solid rgba(255,255,255,.22);
  transition:transform .15s ease;-webkit-user-select:none;user-select:none}
.fv-card:active{transform:scale(.98)}
.fv-card.hid{border-color:rgba(255,255,255,.1)}
.fv-card.hid .fv-photo{opacity:.55}
.fv-card:after{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.3);border-radius:17px;pointer-events:none}
.fv-photo{position:absolute;top:0;bottom:0;width:64%}
.fv-card.fv-l .fv-photo{left:0;-webkit-mask-image:linear-gradient(to right,#000 55%,transparent);mask-image:linear-gradient(to right,#000 55%,transparent)}
.fv-card.fv-r .fv-photo{right:0;-webkit-mask-image:linear-gradient(to left,#000 55%,transparent);mask-image:linear-gradient(to left,#000 55%,transparent)}
.fv-photo .thumb{position:absolute;inset:0;aspect-ratio:auto;border-radius:0;border:0;background:none}
.fv-photo .thumb img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.fv-txt{position:absolute;bottom:34px;max-width:62%;line-height:.95;font-style:italic;font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-family:"Chakra Petch",system-ui,sans-serif}
.fv-card.fv-l .fv-txt{right:20px;text-align:right}
.fv-card.fv-r .fv-txt{left:20px;text-align:left}
.fv-first,.fv-rest{padding-right:8px;padding-left:2px}
.fv-first{display:block;font-size:30px;color:transparent;-webkit-text-stroke:1.2px #fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fv-rest{display:block;font-size:34px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fv-card.long .fv-first{font-size:22px}.fv-card.long .fv-rest{font-size:24px}
.fv-bar{position:absolute;top:18px;width:84px;height:34px;opacity:.9;background:repeating-linear-gradient(90deg,#fff 0 3px,transparent 3px 6px,#fff 6px 7px,transparent 7px 11px)}
.fv-card.fv-l .fv-bar{right:20px}.fv-card.fv-r .fv-bar{left:20px}
.fv-stripes{position:absolute;bottom:16px;width:64px;height:11px;background:repeating-linear-gradient(115deg,#fff 0 9px,transparent 9px 14px)}
.fv-card.fv-l .fv-stripes{left:18px}.fv-card.fv-r .fv-stripes{right:18px}
.fv-meta{position:absolute;bottom:13px;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#D4D4D8;max-width:62%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fv-meta b{color:#fff;font-family:"Orbitron",sans-serif;font-weight:600;margin-left:6px}
.fv-card.fv-l .fv-meta{right:22px;text-align:right}.fv-card.fv-r .fv-meta{left:22px}
.fv-num{position:absolute;top:18px;font-family:"Orbitron",sans-serif;font-size:13px;color:#B4B4BA;letter-spacing:2px}
.fv-card.fv-l .fv-num{left:20px}.fv-card.fv-r .fv-num{right:20px}
.fv-card .badge{left:auto;right:auto;top:auto;bottom:34px;z-index:2}
.fv-card.fv-l .badge{left:18px}.fv-card.fv-r .badge{right:18px}

/* ----- fiche : carrousel en arc ----- */
.fv-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.fv-title{line-height:.95;font-style:italic;font-weight:700;text-transform:uppercase;font-family:"Chakra Petch",system-ui,sans-serif}
.fv-title .a{display:block;font-size:30px;color:transparent;-webkit-text-stroke:1.2px #fff}
.fv-title .b{display:block;font-size:34px;color:#fff}
.fv-stage{position:relative;height:min(60vh,500px);margin:18px -14px 0;overflow:hidden;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab}
.fv-stage:active{cursor:grabbing}
.fv-item{position:absolute;left:50%;top:6%;width:62%;max-width:330px;height:84%;margin-left:calc(min(62%,330px)/-2);border-radius:24px;overflow:hidden;border:1px solid rgba(255,255,255,.3);background:#0E0E10;will-change:transform,opacity;box-shadow:0 18px 50px rgba(0,0,0,.55)}
.fv-item .thumb{position:absolute;inset:0;aspect-ratio:auto;border-radius:0;border:0}
.fv-item .thumb img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.fv-item.off .thumb img{opacity:.6}
.fv-count{text-align:center;margin-top:12px;font-family:"Orbitron",sans-serif;font-size:13px;letter-spacing:3px;color:#D4D4D8}
.fv-dots{display:flex;justify-content:center;gap:6px;margin-top:8px;flex-wrap:wrap}
.fv-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.28);display:block;transition:background .2s,transform .2s}
.fv-dots i.on{background:#fff;transform:scale(1.4)}
.fv-info{margin-top:16px;padding:14px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.22);background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03))}
.fv-light{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.96);display:flex;align-items:center;justify-content:center;padding:calc(var(--sat,0px) + 10px) 8px calc(var(--sab,0px) + 10px)}
.fv-light img{max-width:100%;max-height:100%;object-fit:contain}
.fv-light span{position:absolute;top:calc(var(--sat,0px) + 14px);right:16px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:20px;background:rgba(0,0,0,.5)}

.fv-info .pill.done{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.4)}.fv-info .pill.cancelled{background:transparent;color:#B4B4BA;border-color:rgba(255,255,255,.25)}

.fv-stl{display:block;margin:10px 0;padding:12px 16px;min-height:48px;box-sizing:border-box;word-break:break-all;line-height:1.3;text-align:center;border-radius:999px;background:#fff;color:#0A0A0B!important;font-weight:700;text-decoration:none}
.fv-copy{margin-top:8px;border-radius:999px;font-size:13px;min-height:40px}
.fv-info+.fv-info{margin-top:12px}

/* ----- SITE PUBLIC : sélection en bandeaux ----- */
#grid,#promoGrid,#favGrid,#homeGallery,#realizationsGallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
@media(max-width:820px){#grid,#promoGrid,#favGrid,#homeGallery,#realizationsGallery{grid-template-columns:1fr!important;gap:14px!important}}
.card.fv-card{position:relative;display:block!important;height:190px!important;margin:0!important;padding:0!important;border-radius:22px!important;overflow:hidden!important;background:linear-gradient(160deg,#222226,#0B0B0C)!important;border:1px solid rgba(255,255,255,.22)!important;cursor:pointer}
.card.fv-card:hover{border-color:#fff!important}
.card.fv-card .fv-photo{position:absolute;top:0;bottom:0;width:64%}
.card.fv-card .fv-photo .thumb{position:absolute;inset:0;width:100%!important;height:100%!important;flex:none!important;border:0!important;border-radius:0!important;background:none}
.card.fv-card .thumb img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}
.card.fv-card .fv-num,.card.fv-card .fv-bar{pointer-events:none}
.card.fv-card .fv-meta s{color:#8d8d94;margin-left:8px;font-size:11px}
.card.fv-card .fv-tag{position:absolute;z-index:3;top:54px;background:#fff;color:#0A0A0B;font-weight:700;font-size:12px;padding:3px 10px;border-radius:999px}
.card.fv-card.fv-l .fv-tag{left:20px}.card.fv-card.fv-r .fv-tag{right:20px}
.card.fv-card .fav-btn{position:absolute!important;z-index:3;top:auto!important;bottom:46px!important;width:44px;height:44px;min-height:44px;padding:0;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1}
.card.fv-card.fv-l .fav-btn{left:20px!important;right:auto!important}
.card.fv-card.fv-r .fav-btn{right:20px!important;left:auto!important}
@media(max-width:820px){.card.fv-card{height:172px!important}}
