.bf-wrap{--bf-accent:#d32f2f;margin:2em 0;clear:both}
.bf-wrap *{box-sizing:border-box}
.bf-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;border-bottom:3px solid var(--bf-accent);padding-bottom:8px;margin-bottom:14px}
.bf-title{margin:0;font-size:1.25em}
.bf-title small{font-weight:400;opacity:.65;font-size:.7em}
.bf-switch{display:flex;flex-wrap:wrap;gap:4px}
.bf-switch button{border:1px solid #ccc;background:#fff;color:#333;font-size:12px;padding:5px 10px;border-radius:3px;cursor:pointer;line-height:1.2}
.bf-switch button[aria-pressed=true]{background:var(--bf-accent);border-color:var(--bf-accent);color:#fff}
.bf-stage{position:relative}
.bf-track{display:grid;gap:12px}
.bf-item{margin:0;position:relative;min-width:0}
.bf-link{display:block;line-height:0;overflow:hidden;border-radius:3px;background:#111}
.bf-img{display:block;width:100%;height:auto;margin:0;transition:transform .35s}
.bf-link:hover .bf-img{transform:scale(1.03)}
.bf-cap{display:block;font-size:.85em;line-height:1.45;color:#444;padding:8px 2px 0}
.bf-credit{display:block;font-size:.85em;color:#888;margin-top:2px;font-style:italic}
.bf-nav,.bf-count{display:none}

/* Foto Unggulan + Galeri */
.bf-layout-unggulan .bf-track{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.bf-layout-unggulan .is-featured{grid-column:1/-1}
.bf-layout-unggulan .is-featured .bf-cap{font-size:1.05em;color:#222;padding-top:10px}
.bf-layout-unggulan .bf-item:not(.is-featured) .bf-img{aspect-ratio:4/3;object-fit:cover}
.bf-layout-unggulan .bf-item:not(.is-featured) .bf-cap-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bf-layout-unggulan .bf-item:not(.is-featured) .bf-credit{display:none}

/* Grid */
.bf-layout-grid .bf-track{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.bf-layout-grid .bf-img{aspect-ratio:4/3;object-fit:cover}
.bf-layout-grid .bf-cap-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Mosaik */
.bf-layout-mosaik .bf-track{grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;grid-auto-flow:dense;gap:6px}
.bf-layout-mosaik .is-featured{grid-column:span 2;grid-row:span 2}
.bf-layout-mosaik .bf-link,.bf-layout-mosaik .bf-img{height:100%;border-radius:0}
.bf-layout-mosaik .bf-img{object-fit:cover}
.bf-layout-mosaik .bf-cap{position:absolute;left:0;right:0;bottom:0;color:#fff;padding:26px 10px 8px;background:linear-gradient(transparent,rgba(0,0,0,.8));pointer-events:none;opacity:0;transition:opacity .25s}
.bf-layout-mosaik .bf-item:hover .bf-cap,.bf-layout-mosaik .is-featured .bf-cap{opacity:1}
.bf-layout-mosaik .bf-cap-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bf-layout-mosaik .bf-credit{color:#ddd}
@media(max-width:700px){.bf-layout-mosaik .bf-track{grid-template-columns:repeat(2,1fr);grid-auto-rows:130px}.bf-layout-mosaik .bf-cap{opacity:1}}

/* Daftar */
.bf-layout-daftar .bf-track{grid-template-columns:1fr;gap:28px}
.bf-layout-daftar .is-featured .bf-cap{font-size:1.05em}

/* Slide */
.bf-layout-slide .bf-track{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.bf-layout-slide .bf-track::-webkit-scrollbar{display:none}
.bf-layout-slide .bf-item{flex:0 0 100%;scroll-snap-align:center}
.bf-layout-slide .bf-link{background:#111;border-radius:3px 3px 0 0}
.bf-layout-slide .bf-img{max-height:70vh;object-fit:contain;margin:0 auto;width:auto;max-width:100%}
.bf-layout-slide .bf-cap{background:#f5f5f5;padding:12px 14px;border-radius:0 0 3px 3px;min-height:4.5em}
.bf-layout-slide .bf-stage>.bf-nav{display:flex;position:absolute;top:calc(50% - 40px);width:42px;height:42px;align-items:center;justify-content:center;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:28px;line-height:1;cursor:pointer;z-index:2;padding:0}
.bf-layout-slide .bf-stage>.bf-nav:hover{background:var(--bf-accent)}
.bf-layout-slide .bf-stage>.bf-prev{left:10px}.bf-layout-slide .bf-stage>.bf-next{right:10px}
.bf-layout-slide .bf-stage>.bf-count{display:block;position:absolute;top:10px;right:10px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;padding:3px 9px;border-radius:12px;z-index:2}

/* Lightbox */
.bf-lb{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.93);display:none;flex-direction:column;color:#fff}
.bf-lb.open{display:flex}
.bf-lb-img{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:44px 56px 8px}
.bf-lb-img img{max-width:100%;max-height:100%;object-fit:contain}
.bf-lb-cap{max-width:900px;margin:0 auto;padding:10px 20px 22px;text-align:center;font-size:.95em;line-height:1.5}
.bf-lb-cap a{color:#fff}
.bf-lb-cap .bf-credit{color:#bbb}
.bf-lb button{position:absolute;background:none;border:0;color:#fff;font-size:34px;cursor:pointer;padding:8px 14px;line-height:1}
.bf-lb button:hover{color:var(--bf-accent,#f55)}
.bf-lb-x{top:4px;right:8px}.bf-lb-p{left:4px;top:45%}.bf-lb-n{right:4px;top:45%}
.bf-lb-c{position:absolute;top:14px;left:18px;font-size:13px;opacity:.8}
@media(max-width:600px){.bf-lb-img{padding:44px 8px 8px}}

/* Galeri (gaya Antara Foto): foto utama besar + strip thumbnail */
.bf-hero{display:none}
.bf-layout-galeri .bf-hero{display:block}
.bf-hwrap{position:relative}
.bf-hlink{display:block;line-height:0;background:#111;border-radius:3px;cursor:zoom-in;overflow:hidden}
.bf-himg{display:block;width:100%;height:auto;max-height:78vh;object-fit:contain;margin:0 auto}
.bf-hcap{padding:12px 2px 6px;font-size:1em;line-height:1.55;color:#222}
.bf-hcap .bf-credit{margin-top:4px}
.bf-layout-galeri .bf-hwrap .bf-nav{display:flex;position:absolute;top:calc(50% - 21px);width:42px;height:42px;align-items:center;justify-content:center;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:28px;line-height:1;cursor:pointer;z-index:2;padding:0}
.bf-layout-galeri .bf-hwrap .bf-nav:hover{background:var(--bf-accent)}
.bf-layout-galeri .bf-hwrap .bf-prev{left:10px}.bf-layout-galeri .bf-hwrap .bf-next{right:10px}
.bf-layout-galeri .bf-hwrap .bf-count{display:block;position:absolute;top:10px;right:10px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;padding:3px 9px;border-radius:12px;z-index:2}
.bf-layout-galeri .bf-track{display:flex;flex-wrap:nowrap;gap:6px;margin-top:8px;overflow-x:auto;overflow-y:hidden;position:relative;padding-bottom:6px;scroll-snap-type:x proximity;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.bf-layout-galeri .bf-item{flex:0 0 112px;scroll-snap-align:start}
@media(max-width:600px){.bf-layout-galeri .bf-item{flex-basis:88px}}
.bf-layout-galeri .bf-item .bf-cap{display:none}
.bf-layout-galeri .bf-link{border-radius:0}
.bf-layout-galeri .bf-img{aspect-ratio:4/3;object-fit:cover;opacity:.55;transition:opacity .2s}
.bf-layout-galeri .bf-item:hover .bf-img,.bf-layout-galeri .bf-item.is-active .bf-img{opacity:1}
.bf-layout-galeri .bf-item.is-active .bf-link{outline:3px solid var(--bf-accent);outline-offset:-3px}
.bf-layout-galeri .bf-link:hover .bf-img{transform:none}

/* ===== Tampilan profesional (v1.2) ===== */
.bf-wrap{margin:1.6em 0 2em;border-top:3px solid var(--bf-accent);padding-top:16px;position:relative}
.bf-hlink{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;background:#0e1013;border-radius:4px;overflow:hidden;box-shadow:0 6px 22px rgba(0,0,0,.18)}
.bf-hlink::before{content:"";position:absolute;inset:-30px;background:var(--bf-bg) center/cover no-repeat;filter:blur(26px) brightness(.55);transform:scale(1.1)}
.bf-himg{position:relative;z-index:1;width:100%;height:100%;max-height:none;object-fit:contain}
@media(max-width:600px){.bf-hlink{aspect-ratio:4/3}}
.bf-layout-galeri .bf-hwrap .bf-nav{background:rgba(15,17,21,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.25);width:44px;height:44px;transition:background .2s,transform .2s}
.bf-layout-galeri .bf-hwrap .bf-nav:hover{background:var(--bf-accent);transform:scale(1.06)}
.bf-layout-galeri .bf-hwrap .bf-count{top:12px;right:12px;background:rgba(15,17,21,.65);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:12px;letter-spacing:.06em;padding:4px 11px}
.bf-hcap{padding:14px 2px 4px;font-size:1.02em;line-height:1.65;color:#1d2125}
.bf-hcap .bf-cap-text{display:block}
.bf-hcap .bf-credit{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:.72em;font-style:normal;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#6b7280}
.bf-hcap .bf-credit::before{content:"";width:8px;height:8px;background:var(--bf-accent);flex:none}
.bf-layout-galeri .bf-track{margin-top:12px;gap:8px;padding-bottom:8px;scrollbar-color:var(--bf-accent) #e5e7eb}
.bf-layout-galeri .bf-track::-webkit-scrollbar{height:5px}
.bf-layout-galeri .bf-track::-webkit-scrollbar-track{background:#e5e7eb;border-radius:3px}
.bf-layout-galeri .bf-track::-webkit-scrollbar-thumb{background:var(--bf-accent);border-radius:3px}
.bf-layout-galeri .bf-item{flex:0 0 120px}
@media(max-width:600px){.bf-layout-galeri .bf-item{flex-basis:92px}}
.bf-layout-galeri .bf-link{position:relative;border-radius:3px;outline:0}
.bf-layout-galeri .bf-img{aspect-ratio:16/10;opacity:.6}
.bf-layout-galeri .bf-item.is-active .bf-link{outline:0}
.bf-layout-galeri .bf-item.is-active .bf-link::after{content:"";position:absolute;inset:0;border:3px solid var(--bf-accent);border-radius:3px;pointer-events:none}

/* ===== v1.3: latar transparan & foto lebih rapat ke judul ===== */
.bf-wrap{background:transparent;margin-top:10px;padding-top:12px}
.bf-link,.bf-hlink,.bf-layout-slide .bf-link{background:transparent}
.bf-hlink{display:block;aspect-ratio:auto;box-shadow:none}
.bf-hlink::before{display:none}
.bf-himg{height:auto;max-height:78vh;margin:0 auto}
.bf-layout-slide .bf-cap{background:transparent}
.bf-layout-galeri .bf-track{scrollbar-color:var(--bf-accent) transparent}
.bf-layout-galeri .bf-track::-webkit-scrollbar-track{background:transparent}

/* ===== v1.3.2: foto utama tampil sesuai ukuran asli ===== */
.bf-hlink{display:block;line-height:0;text-align:center}
.bf-himg{display:block;width:auto;max-width:100%;height:auto;max-height:none;margin:0 auto}
