/* CFI page photo slider + lightbox */
.cg{--cg-navy:#26324d;--cg-blue:#166ca8;--cg-red:#ea1f33;margin:6px 0 22px;font-family:OpenSans-Regular,'Segoe UI',Arial,sans-serif;text-align:left}
.cg[hidden]{display:none}

.cg-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.cg-filters button{border:1px solid #cfd8e6;background:#fff;color:var(--cg-navy);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer;transition:.2s;font-family:inherit}
.cg-filters button span{display:inline-block;min-width:18px;margin-left:4px;padding:0 6px;border-radius:9px;background:#eef2f8;font-size:11px;line-height:18px;text-align:center}
.cg-filters button:hover{border-color:var(--cg-blue);color:var(--cg-blue)}
.cg-filters button.on{background:var(--cg-navy);border-color:var(--cg-navy);color:#fff}
.cg-filters button.on span{background:var(--cg-red);color:#fff}

.cg-stage{position:relative;width:100%;aspect-ratio:16/10;background:#111a2b;border-radius:12px;overflow:hidden;box-shadow:0 10px 28px rgba(20,32,60,.25);outline:none}
@supports not (aspect-ratio:1){.cg-stage{height:0;padding-bottom:62.5%}}
.cg-stage:focus-visible{box-shadow:0 0 0 3px var(--cg-blue),0 10px 28px rgba(20,32,60,.25)}
.cg-layer{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;cursor:zoom-in}
.cg-layer.on{opacity:1;z-index:1}
.cg-bg{position:absolute;inset:-30px;background:center/cover no-repeat;filter:blur(24px) brightness(.55);transform:scale(1.1)}
.cg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform-origin:center}
.cg-layer.kb .cg-img{animation:cg-kb 6.5s ease-out both}
@keyframes cg-kb{from{transform:scale(1)}to{transform:scale(1.045)}}

.cg-nav{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.88);color:var(--cg-navy);font-size:18px;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.25);transition:.2s;opacity:.85}
.cg-nav:hover{background:#fff;opacity:1;transform:translateY(-50%) scale(1.08)}
.cg-prev{left:12px}.cg-next{right:12px}
.cg-top{position:absolute;top:10px;right:10px;z-index:3;display:flex;gap:6px}
.cg-ico{width:34px;height:34px;border:0;border-radius:8px;background:rgba(0,0,0,.45);color:#fff;font-size:14px;cursor:pointer;line-height:34px;padding:0}
.cg-ico:hover{background:rgba(0,0,0,.7)}
.cg-meta{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding:34px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.65));pointer-events:none}
.cg-cap{background:var(--cg-red);color:#fff;font-size:13px;padding:3px 10px;border-radius:4px;letter-spacing:.3px}
.cg-count{color:#fff;font-size:13px;margin-left:auto;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.cg-timer{position:absolute;left:0;right:0;bottom:0;height:3px;z-index:3;background:rgba(255,255,255,.15)}
.cg-timer i{display:block;height:100%;width:0;background:var(--cg-red)}

.cg-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding:4px 2px 8px;scroll-snap-type:x proximity;scrollbar-width:thin}
.cg-th{flex:0 0 auto;width:92px;height:62px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;background:#dde3ee;opacity:.6;transition:.2s;scroll-snap-align:center}
.cg-th img{width:100%;height:100%;object-fit:cover;display:block}
.cg-th:hover{opacity:.9}
.cg-th.on{opacity:1;border-color:var(--cg-red);transform:translateY(-2px)}

/* lightbox */
.cg-lb{position:fixed;inset:0;z-index:99999;background:rgba(8,12,22,.94);display:none;align-items:center;justify-content:center}
.cg-lb.on{display:flex}
.cg-lb-img{max-width:92vw;max-height:84vh;object-fit:contain;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.6)}
.cg-lb-x{position:absolute;top:14px;right:18px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:28px;cursor:pointer;line-height:40px}
.cg-lb-x:hover{background:rgba(255,255,255,.25)}
.cg-lb .cg-nav{position:fixed}
.cg-lb-meta{position:fixed;bottom:18px;left:0;right:0;display:flex;justify-content:center;gap:14px;align-items:center;color:#fff;font-size:14px}
.cg-lb-meta .cg-count{margin-left:0}

@media (max-width:768px){
  .cg-stage{border-radius:8px;aspect-ratio:4/3}
  .cg-nav{width:36px;height:36px;font-size:15px}
  .cg-prev{left:6px}.cg-next{right:6px}
  .cg-th{width:70px;height:48px}
  .cg-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
  .cg-filters button{flex:0 0 auto}
}
@media (prefers-reduced-motion:reduce){.cg-layer,.cg-th,.cg-nav{transition:none}.cg-layer.kb .cg-img{animation:none}}
