
.me-fbpg-gallery { position: relative; width: 100%; }
.me-fbpg-gallery-header { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.me-fbpg-gallery-header.is-nav-only { justify-content:flex-end; }
.me-fbpg-folder-name { font-size:20px; font-weight:600; line-height:1.3; }
.me-fbpg-slider-nav { display:flex; align-items:center; gap:10px; margin-left:auto; }
.me-fbpg-slide-btn,.me-fbpg-lightbox-close,.me-fbpg-lightbox-nav,.me-fbpg-item { border:0; cursor:pointer; transition:opacity .2s ease, transform .2s ease; }
.me-fbpg-slide-btn { width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; background:#111; color:#fff; font-size:18px; line-height:1; }
.me-fbpg-slide-btn:hover,.me-fbpg-lightbox-close:hover,.me-fbpg-lightbox-nav:hover { opacity:.9; }
.me-fbpg-slide-status { min-width:52px; text-align:center; font-size:14px; }
.me-fbpg-slide { display:none; }
.me-fbpg-slide.is-active { display:block; }
.me-fbpg-grid { display:grid; gap:18px; }
.me-fbpg-columns-1 { grid-template-columns:repeat(1,minmax(0,1fr)); }
.me-fbpg-columns-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.me-fbpg-columns-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.me-fbpg-columns-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.me-fbpg-columns-5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.me-fbpg-columns-6 { grid-template-columns:repeat(6,minmax(0,1fr)); }
.me-fbpg-item { display:block; width:100%; padding:0; background:transparent; text-align:left; }
.me-fbpg-thumb-wrap { position:relative; display:block; overflow:hidden; background:#f2f2f2; }
.me-fbpg-thumb-wrap::after { content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.72) 0%, rgba(0,0,0,.18) 36%, rgba(0,0,0,0) 62%); opacity:0; transition:opacity .25s ease; pointer-events:none; }
.me-fbpg-thumb-wrap img { display:block; width:100%; aspect-ratio:1 / 1; object-fit:cover; transition:transform .25s ease; }
.me-fbpg-thumb-title { position:absolute; left:16px; right:16px; bottom:14px; z-index:2; color:#fff; font-size:15px; font-weight:600; line-height:1.35; opacity:0; transform:translateY(8px); transition:opacity .25s ease, transform .25s ease; text-shadow:0 2px 10px rgba(0,0,0,.45); pointer-events:none; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.me-fbpg-item:hover .me-fbpg-thumb-wrap img, .me-fbpg-item:focus-visible .me-fbpg-thumb-wrap img { transform:scale(1.025); }
.me-fbpg-item:hover .me-fbpg-thumb-wrap::after, .me-fbpg-item:focus-visible .me-fbpg-thumb-wrap::after { opacity:1; }
.me-fbpg-item:hover .me-fbpg-thumb-title, .me-fbpg-item:focus-visible .me-fbpg-thumb-title { opacity:1; transform:translateY(0); }
.me-fbpg-lightbox { position:fixed; inset:0; z-index:99999; background:rgba(0,0,0,.94); }
.me-fbpg-lightbox-backdrop { position:absolute; inset:0; }
.me-fbpg-lightbox-stage { position:relative; z-index:2; width:calc(100vw - 40px); height:calc(100vh - 40px); margin:20px auto 0; display:grid; grid-template-columns:64px minmax(0,1fr) 64px; align-items:center; gap:10px; }
.me-fbpg-lightbox-content { min-width:0; min-height:0; display:flex; align-items:center; justify-content:center; height:100%; }
.me-fbpg-lightbox-image { display:block; max-width:100%; max-height:calc(100vh - 170px); width:auto; height:auto; object-fit:contain; }
.me-fbpg-lightbox-close { position:absolute; top:-8px; right:0; z-index:5; width:40px; height:40px; background:transparent; color:#fff; font-size:34px; line-height:1; padding:0; }
.me-fbpg-lightbox-nav { width:56px; height:56px; background:transparent; color:#fff; font-size:54px; line-height:1; padding:0; display:inline-flex; align-items:center; justify-content:center; text-shadow:0 2px 8px rgba(0,0,0,.45); }
.me-fbpg-lightbox-prev { justify-self:start; }
.me-fbpg-lightbox-next { justify-self:end; }
.me-fbpg-lightbox-meta { position:absolute; left:50%; bottom:24px; transform:translateX(-50%); z-index:3; width:min(900px, calc(100vw - 48px)); margin:0 auto; text-align:center; color:#fff; pointer-events:none; background:linear-gradient(to top, rgba(0,0,0,.75), rgba(0,0,0,.35)); padding:14px 18px; border-radius:14px; backdrop-filter:blur(4px); }
.me-fbpg-lightbox-meta:empty { display:none; }
.me-fbpg-lightbox-title { font-size:18px; font-weight:700; line-height:1.35; }
.me-fbpg-lightbox-description { margin-top:6px; font-size:14px; line-height:1.6; opacity:.94; }
.me-fbpg-notice { padding:12px 14px; background:#f6f6f6; border-left:4px solid #111; }
.me-fbpg-notice-inline { margin-bottom:16px; }
body.me-fbpg-lightbox-open { overflow:hidden; }
@media (hover:none) and (pointer:coarse) { .me-fbpg-thumb-wrap::after { opacity:1; background:linear-gradient(to top, rgba(0,0,0,.56) 0%, rgba(0,0,0,0) 58%); } .me-fbpg-thumb-title { opacity:1; transform:none; font-size:14px; } }
@media (max-width:1024px) { .me-fbpg-columns-4,.me-fbpg-columns-5,.me-fbpg-columns-6 { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:767px) {
.me-fbpg-gallery-header { flex-direction:column; align-items:flex-start; }
.me-fbpg-gallery-header.is-nav-only { align-items:flex-end; }
.me-fbpg-slider-nav { align-self:flex-end; }
.me-fbpg-columns-2,.me-fbpg-columns-3,.me-fbpg-columns-4,.me-fbpg-columns-5,.me-fbpg-columns-6 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.me-fbpg-lightbox-stage { width:calc(100vw - 20px); height:calc(100vh - 20px); margin-top:10px; grid-template-columns:44px minmax(0,1fr) 44px; gap:6px; }
.me-fbpg-lightbox-nav { font-size:40px; width:44px; height:44px; }
.me-fbpg-lightbox-image { max-height:calc(100vh - 150px); }
.me-fbpg-lightbox-meta { bottom:14px; width:calc(100vw - 24px); padding:12px 14px; border-radius:12px; }
.me-fbpg-lightbox-title { font-size:16px; }
.me-fbpg-lightbox-description { font-size:13px; }
.me-fbpg-thumb-title { left:12px; right:12px; bottom:10px; font-size:13px; }
}
@media (max-width:480px) { .me-fbpg-columns-2,.me-fbpg-columns-3,.me-fbpg-columns-4,.me-fbpg-columns-5,.me-fbpg-columns-6 { grid-template-columns:1fr; } }
