.ffg-gallery{--ffg-bg:#111111;--ffg-border:#dddddd;--ffg-gap:14px;--ffg-radius:10px;--ffg-border-width:2px;--ffg-accent:#e62117;--ffg-text:#ffffff;--ffg-featured-height:480px;--ffg-thumb-height:90px;max-width:100%;color:var(--ffg-text);background:var(--ffg-bg);border-radius:var(--ffg-radius);overflow:hidden;padding:0}
.ffg-gallery *{box-sizing:border-box}
.ffg-featured{overflow:hidden;border-radius:var(--ffg-radius);background:var(--ffg-bg);border:var(--ffg-border-width) solid var(--ffg-border)}
.ffg-featured-trigger{position:relative;display:block;width:100%;height:var(--ffg-featured-height);padding:0;border:0;background:var(--ffg-bg);cursor:pointer;line-height:0;overflow:hidden}
.ffg-featured-trigger:disabled{cursor:default}
.ffg-featured-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease;line-height:normal}
.ffg-featured-trigger:not(:disabled):hover .ffg-featured-image{transform:scale(1.015)}
.ffg-play-button{position:absolute;left:50%;top:50%;width:68px;height:48px;color:var(--ffg-accent);transform:translate(-50%,-50%);filter:drop-shadow(0 2px 8px rgba(0,0,0,.35));transition:transform .2s ease}
.ffg-featured-trigger:hover .ffg-play-button{transform:translate(-50%,-50%) scale(1.08)}
.ffg-play-button svg{display:block;width:100%;height:100%}
.ffg-featured-trigger:disabled .ffg-play-button{display:none}
.ffg-featured-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--ffg-bg);color:var(--ffg-text);line-height:1.4}
.ffg-featured-title{margin:0;color:inherit;font-size:clamp(18px,2.2vw,26px);line-height:1.3;font-weight:700}
.ffg-view-film{flex:0 0 auto;color:var(--ffg-text);text-decoration:underline;text-underline-offset:3px;font-size:14px}
.ffg-thumbnails{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--ffg-gap);margin-top:var(--ffg-gap);padding:0 var(--ffg-gap) var(--ffg-gap)}
.ffg-thumbnail{min-width:0;padding:0;border:var(--ffg-border-width) solid var(--ffg-border);border-radius:calc(var(--ffg-radius) - 2px);background:var(--ffg-bg);text-align:left;color:var(--ffg-text);cursor:pointer;overflow:hidden;transition:border-color .18s ease,transform .18s ease}
.ffg-thumbnail:hover{transform:translateY(-2px)}
.ffg-thumbnail.is-active{border-color:var(--ffg-accent)}
.ffg-thumbnail:focus-visible,.ffg-featured-trigger:focus-visible,.ffg-modal-close:focus-visible{outline:3px solid var(--ffg-accent);outline-offset:3px}
.ffg-thumbnail-image-wrap{display:block;height:var(--ffg-thumb-height);background:#eee;overflow:hidden}
.ffg-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}
.ffg-thumbnail-title{display:-webkit-box;padding:7px 7px 8px;color:var(--ffg-text);font-size:13px;line-height:1.35;font-weight:600;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ffg-modal[hidden]{display:none!important}
.ffg-modal{position:fixed;z-index:999999;inset:0;display:flex;align-items:center;justify-content:center;padding:24px}
.ffg-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.86)}
.ffg-modal-panel{position:relative;z-index:1;width:min(100%,1100px);background:#000;box-shadow:0 20px 80px rgba(0,0,0,.5)}
.ffg-video-frame{width:100%;aspect-ratio:16/9}
.ffg-video-frame iframe{display:block;width:100%;height:100%;border:0}
.ffg-modal-close{position:absolute;right:0;top:-46px;width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:#111;font-size:32px;line-height:1;cursor:pointer}
body.ffg-modal-open{overflow:hidden}
.ffg-empty{padding:16px;background:#f5f5f5;border-radius:8px}
@media(max-width:1024px){.ffg-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.ffg-gallery{--ffg-gap:9px}.ffg-featured-trigger{height:min(var(--ffg-featured-height),58vw);min-height:190px}.ffg-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}.ffg-thumbnail-image-wrap{height:clamp(58px,var(--ffg-thumb-height),110px)}.ffg-featured-caption{align-items:flex-start;flex-direction:column;gap:8px;padding:12px}.ffg-play-button{width:56px;height:40px}.ffg-modal{padding:12px}.ffg-modal-close{top:-42px;width:36px;height:36px;font-size:28px}.ffg-thumbnail-title{font-size:12px;padding:6px}}
@media(prefers-reduced-motion:reduce){.ffg-gallery *{transition:none!important}}
