/* ICT Forum Gallery – albums as photo stacks, masonry album view, full-screen viewer */
.ictf-gal{scroll-margin-top:110px;--navy:#041A57;--red:#E92529;--ink:#3A4356;--line:#E4E8F3;font-family:Roboto,sans-serif;margin-top:14px}
.ictf-gal button{font:inherit;cursor:pointer}
.ictf-gal [hidden]{display:none!important}

/* Year chips */
.ictf-gal-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}
.ictf-gal .ictf-gal-chips button{padding:9px 18px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);font-weight:600;font-size:14px;transition:.2s}
.ictf-gal .ictf-gal-chips button:hover,.ictf-gal .ictf-gal-chips button:focus-visible{border-color:var(--navy);background:#fff;color:var(--navy)}
.ictf-gal .ictf-gal-chips button.is-active{background:var(--navy);border-color:var(--navy);color:#fff}

/* Album cards: a stack of prints that fans out on hover */
.ictf-gal-albums{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 36px;padding:14px 10px 0}
@media (max-width:1024px){.ictf-gal-albums{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.ictf-gal-albums{grid-template-columns:1fr;gap:44px}}
.ictf-gal .ictf-album{display:flex;flex-direction:column;gap:18px;padding:0;border:0;background:none;text-align:left;color:inherit}
.ictf-gal .ictf-album:hover,.ictf-gal .ictf-album:focus{background:none;color:inherit}
.ictf-album-stack{position:relative;display:block;aspect-ratio:4/3}
.ictf-album-print{position:absolute;inset:0;border-radius:14px;overflow:hidden;background:#dfe5f2;border:6px solid #fff;box-shadow:0 14px 34px rgba(4,26,87,.16);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.ictf-album-print img{width:100%;height:100%;object-fit:cover;display:block}
.ictf-album-print--2{transform:rotate(-6deg) translate(-8px,6px)}
.ictf-album-print--1{transform:rotate(4deg) translate(8px,2px)}
.ictf-album-print--0{z-index:2}
.ictf-album:hover .ictf-album-print--2,.ictf-album:focus-visible .ictf-album-print--2{transform:rotate(-11deg) translate(-26px,8px)}
.ictf-album:hover .ictf-album-print--1,.ictf-album:focus-visible .ictf-album-print--1{transform:rotate(9deg) translate(26px,0)}
.ictf-album:hover .ictf-album-print--0,.ictf-album:focus-visible .ictf-album-print--0{transform:translateY(-6px)}
.ictf-album-open{position:absolute;left:50%;bottom:16px;transform:translate(-50%,10px);opacity:0;padding:9px 18px;border-radius:999px;background:var(--red);color:#fff;font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;white-space:nowrap;transition:.3s}
.ictf-album:hover .ictf-album-open,.ictf-album:focus-visible .ictf-album-open{opacity:1;transform:translate(-50%,0)}
.ictf-album:focus-visible{outline:none}.ictf-album:focus-visible .ictf-album-print--0{outline:3px solid var(--red);outline-offset:3px}
.ictf-album-meta{display:flex;flex-direction:column;gap:4px;padding:0 4px}
.ictf-album-year{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:1.4px;color:var(--red)}
.ictf-album-title{font:700 20px/1.3 Poppins,sans-serif;color:var(--navy)}
.ictf-album-count{font-size:14px;color:#5F6877}

/* Album view */
.ictf-gal-view-head{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.ictf-gal-view-head>div{flex:1 1 300px}
.ictf-gal .ictf-gal-back{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;border:1px solid var(--navy);background:#fff;color:var(--navy);font-weight:600;font-size:14px}
.ictf-gal .ictf-gal-back::before{content:"←"}
.ictf-gal .ictf-gal-back:hover,.ictf-gal .ictf-gal-back:focus-visible{background:var(--navy);color:#fff}
.ictf-gal-view-title{margin:0;font:700 28px/1.2 Poppins,sans-serif;color:var(--navy)}
.ictf-gal-view-desc{margin:6px 0 0;color:var(--ink)}
.ictf-gal-view-desc:empty{display:none}
.ictf-gal-view-count{font-size:14px;font-weight:600;color:#5F6877}
/* Justified rows: every row fills the width, each photo keeps its own shape (--r = width/height) */
.ictf-gal-grid{display:flex;flex-wrap:wrap;gap:14px;--row:250px}
.ictf-gal-grid::after{content:"";flex-grow:999}
@media (max-width:767px){.ictf-gal-grid{--row:150px;gap:8px}}
.ictf-gal .ictf-gal-thumb{display:block;flex:var(--r) 1 calc(var(--r) * var(--row));aspect-ratio:var(--r);max-height:calc(var(--row) * 1.6);margin:0;padding:0;border:0;border-radius:12px;overflow:hidden;background:#e9edf6;position:relative}
.ictf-gal-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,filter .3s}
.ictf-gal-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.45));opacity:0;transition:.3s}
.ictf-gal-thumb:hover img,.ictf-gal-thumb:focus-visible img{transform:scale(1.05)}
.ictf-gal-thumb:hover::after,.ictf-gal-thumb:focus-visible::after{opacity:1}
.ictf-gal-thumb:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.ictf-gal-view.is-in .ictf-gal-thumb{animation:ictf-rise .5s both}
@keyframes ictf-rise{from{opacity:0;transform:translateY(18px)}}

/* Empty state */
.ictf-gal-empty{text-align:center;padding:60px 20px;border:2px dashed #D5DCEB;border-radius:18px;background:#F7F9FD}
.ictf-gal-empty h3{margin:16px 0 6px;font:700 24px Poppins,sans-serif;color:#041A57}
.ictf-gal-empty p{margin:0;color:#5F6877}
.ictf-gal-empty-icon{display:inline-block;width:64px;height:64px;border-radius:50%;background:#EEF0FA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23383F94' stroke-width='1.8'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Ccircle cx='9' cy='10' r='2'/%3E%3Cpath d='m21 16-5-5-8 8'/%3E%3C/svg%3E") center/30px no-repeat}

/* Full-screen viewer */
.ictf-lb{position:fixed;inset:0;z-index:99999;display:grid;grid-template-rows:auto 1fr auto;color:#fff;font-family:Roboto,sans-serif;opacity:0;transition:opacity .3s}
.ictf-lb.is-open{opacity:1}
.ictf-lb-bg{position:absolute;inset:-40px;background:#05081a center/cover;filter:blur(36px) brightness(.35) saturate(1.3);transform:scale(1.1);transition:background-image .5s}
.ictf-lb::before{content:"";position:absolute;inset:0;background:rgba(3,6,20,.55)}
.ictf-lb>*:not(.ictf-lb-bg):not(.ictf-lb-progress){position:relative}
.ictf-lb-progress{z-index:2}
.ictf-lb-top{display:flex;align-items:center;gap:14px;padding:14px 18px}
.ictf-lb-title{flex:1;min-width:0;font:600 15px Poppins,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ictf-lb-counter{font-variant-numeric:tabular-nums;font-size:14px;opacity:.85}
.ictf-lb button,.ictf-lb a.ictf-lb-btn{display:inline-grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;transition:background .2s;text-decoration:none}
.ictf-lb button:hover,.ictf-lb button:focus-visible,.ictf-lb a.ictf-lb-btn:hover{background:rgba(255,255,255,.26);color:#fff}
.ictf-lb button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ictf-lb svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ictf-lb-play.is-playing{background:var(--red,#E92529)}
.ictf-lb-stage{display:grid;place-items:center;min-height:0;padding:0 72px;touch-action:pan-y}
.ictf-lb-figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:100%;max-height:100%}
.ictf-lb-img{max-width:100%;max-height:calc(100vh - 210px);border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.5);object-fit:contain;transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1)}
.ictf-lb-img.is-leaving{opacity:0;transform:scale(.97)}
.ictf-lb-caption{max-width:760px;text-align:center;font-size:15px;opacity:.9}
.ictf-lb-caption:empty{display:none}
.ictf-lb .ictf-lb-prev,.ictf-lb .ictf-lb-next{position:absolute;top:50%;width:52px;height:52px;transform:translateY(-50%)}
.ictf-lb .ictf-lb-prev{left:14px}.ictf-lb .ictf-lb-next{right:14px}
.ictf-lb-strip{display:flex;gap:8px;padding:12px 18px 18px;overflow-x:auto;scrollbar-width:thin;scroll-behavior:smooth}
.ictf-lb .ictf-lb-strip button{flex:0 0 auto;width:72px;height:52px;border-radius:8px;overflow:hidden;opacity:.45;background:#111;transition:opacity .2s,transform .2s}
.ictf-lb .ictf-lb-strip button.is-active{opacity:1;outline:2px solid #fff;outline-offset:2px;transform:translateY(-2px)}
.ictf-lb .ictf-lb-strip button:hover{opacity:.85}
.ictf-lb-strip img{width:100%;height:100%;object-fit:cover;display:block}
.ictf-lb-progress{position:absolute;left:0;top:0;height:3px;width:0;background:var(--red,#E92529)}
.ictf-lb-progress.is-running{width:100%;transition:width linear}
@media (max-width:767px){
	.ictf-lb-stage{padding:0 8px}
	.ictf-lb .ictf-lb-prev,.ictf-lb .ictf-lb-next{top:auto;bottom:86px;transform:none;width:44px;height:44px}
	.ictf-lb-img{max-height:calc(100vh - 230px)}
	.ictf-lb .ictf-lb-strip button{width:56px;height:42px}
}
body.ictf-lb-locked{overflow:hidden}
@media (prefers-reduced-motion:reduce){.ictf-album-print,.ictf-gal-thumb img,.ictf-lb-img,.ictf-lb{transition:none!important}.ictf-gal-view.is-in .ictf-gal-thumb{animation:none}}
