/* Feed ala Facebook — dipakai admin/feed.php dan feed.php */
.fb-wrap{ max-width:640px; margin:0 auto; }
.fb-card{ background:#fff; border:1px solid var(--border,#D9EBC2); border-radius:18px; box-shadow:0 2px 10px rgba(10,90,28,.07); margin-bottom:14px; overflow:hidden; }
.fb-avatar{ width:44px; height:44px; border-radius:50%; background:var(--gold,#FFC81E); color:var(--primary-deep,#0A5A1C);
  display:flex; align-items:center; justify-content:center; font-weight:800; flex:none; overflow:hidden;
  box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--primary-bright,#4CD820); }
.fb-avatar img{ width:100%; height:100%; object-fit:cover; }

/* composer */
.fb-compose{ padding:14px 16px; }
.fb-compose-top{ display:flex; gap:10px; align-items:flex-start; }
.fb-compose textarea{ flex:1; border:none; background:#F0F2F5; border-radius:20px; padding:11px 16px; font:inherit; font-size:15px;
  resize:none; min-height:44px; max-height:260px; outline:none; }
.fb-compose textarea:focus{ background:#E9ECF0; }
.fb-previews{ display:grid; grid-template-columns:repeat(auto-fill,minmax(88px,1fr)); gap:8px; margin-top:12px; }
.fb-previews:empty{ display:none; }
.fb-prev{ position:relative; aspect-ratio:1; border-radius:10px; overflow:hidden; background:#eee; }
.fb-prev img{ width:100%; height:100%; object-fit:cover; display:block; }
.fb-prev button{ position:absolute; top:4px; right:4px; width:22px; height:22px; border:none; border-radius:50%;
  background:rgba(0,0,0,.6); color:#fff; cursor:pointer; font-size:12px; line-height:22px; padding:0; }
.fb-compose-bar{ display:flex; align-items:center; gap:10px; border-top:1px solid var(--border,#E0E7D9); margin-top:12px; padding-top:12px; }
.fb-photo-btn{ display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border-radius:9px; cursor:pointer;
  font-size:13.5px; font-weight:700; color:#2E8B57; }
.fb-photo-btn:hover{ background:#F0F2F5; }
.fb-photo-btn input{ display:none; }
.fb-opt{ display:flex; align-items:center; gap:5px; font-size:12.5px; color:var(--muted,#6C7C6F); font-weight:600; }
.fb-post-btn{ margin-left:auto; padding:9px 24px; border:none; border-radius:9px; background:var(--primary,#1E6B45); color:#fff;
  font-weight:700; font-size:14px; cursor:pointer; }
.fb-post-btn:disabled{ background:#CBD3CC; cursor:not-allowed; }
.fb-hint{ font-size:11.5px; color:var(--muted,#6C7C6F); margin-top:8px; }

/* post */
.fb-post-head{ display:flex; align-items:center; gap:12px; padding:14px 16px 8px; }
.fb-post-name{ font-weight:800; font-size:15px; line-height:1.25; display:flex; flex-wrap:wrap; align-items:center; gap:4px 6px; }
.fb-post-meta{ font-size:12px; color:var(--muted,#5F7A56); margin-top:2px; }
.fb-badge{ display:inline-block; font-size:10.5px; font-weight:800; padding:2px 8px; border-radius:999px; vertical-align:middle; letter-spacing:.2px; }
.fb-badge.pin{ background:#FFF3C4; color:#8A5200; }
.fb-badge.draft{ background:#FCE7E2; color:var(--danger,#DE5B3F); }
.fb-menu{ margin-left:auto; position:relative; }
.fb-menu > summary{ list-style:none; cursor:pointer; width:34px; height:34px; border-radius:50%; display:flex; align-items:center;
  justify-content:center; font-size:18px; color:var(--muted,#6C7C6F); }
.fb-menu > summary::-webkit-details-marker{ display:none; }
.fb-menu > summary:hover{ background:#F0F2F5; }
.fb-menu-list{ position:absolute; right:0; top:38px; z-index:10; min-width:190px; background:#fff; border:1px solid var(--border,#E0E7D9);
  border-radius:12px; box-shadow:0 8px 24px rgba(0,0,0,.14); padding:6px; }
.fb-menu-list a, .fb-menu-list button{ display:block; width:100%; text-align:left; background:none; border:none; padding:9px 12px;
  border-radius:8px; font:inherit; font-size:13.5px; font-weight:600; cursor:pointer; color:var(--text,#122017); }
.fb-menu-list a:hover, .fb-menu-list button:hover{ background:#F0F2F5; }
.fb-menu-list .danger{ color:var(--danger,#DE5B3F); }
.fb-menu-list form{ margin:0; }
.fb-text{ padding:4px 16px 14px; font-size:15px; line-height:1.6; color:var(--text,#10260F); word-wrap:break-word; overflow-wrap:anywhere; }
.fb-text.big{ font-size:21px; line-height:1.4; font-weight:700; font-family:'Space Grotesk','Manrope',sans-serif;
  margin:4px 12px 12px; padding:22px 18px; border-radius:14px; text-align:center;
  background:linear-gradient(135deg,#E4F3CF 0%,#F4FBE8 100%); color:var(--primary-deep,#0A5A1C); }
.fb-text a{ color:var(--primary,#14962A); font-weight:700; word-break:break-all; }
.fb-text a:hover{ text-decoration:underline; }

/* grid foto */
.fb-photos{ display:grid; gap:3px; background:#fff; margin:0 12px; border-radius:14px; overflow:hidden; }
.fb-photos a, .fb-photos .ph{ position:relative; display:block; overflow:hidden; background:#EEF1EC; cursor:zoom-in; }
.fb-photos img{ width:100%; height:100%; object-fit:cover; display:block; }
.fb-photos.n1 img{ max-height:520px; height:auto; object-fit:contain; background:#EEF1EC; }
.fb-photos.n2{ grid-template-columns:1fr 1fr; aspect-ratio:2/1; }
.fb-photos.n3{ grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; aspect-ratio:3/2; }
.fb-photos.n3 a:first-child{ grid-row:1 / span 2; }
.fb-photos.n4, .fb-photos.n5{ grid-template-columns:1fr 1fr; aspect-ratio:1/1; }
.fb-photos.n5{ grid-template-columns:repeat(6,1fr); grid-template-rows:1fr 1fr; aspect-ratio:6/4; }
.fb-photos.n5 a:nth-child(-n+2){ grid-column:span 3; }
.fb-photos.n5 a:nth-child(n+3){ grid-column:span 2; }
.fb-more::after{ content:attr(data-more); position:absolute; inset:0; background:rgba(0,0,0,.55); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:28px; font-weight:800; backdrop-filter:blur(2px); }

/* edit */
.fb-edit{ padding:14px 16px 16px; }
.fb-edit textarea{ width:100%; border:1px solid var(--border,#E0E7D9); border-radius:12px; padding:11px 14px; font:inherit; font-size:15px; min-height:90px; resize:vertical; }
.fb-edit-photos{ display:grid; grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); gap:8px; margin:12px 0; }
.fb-edit-photos label{ position:relative; display:block; aspect-ratio:1; border-radius:10px; overflow:hidden; cursor:pointer; }
.fb-edit-photos img{ width:100%; height:100%; object-fit:cover; display:block; }
.fb-edit-photos input{ position:absolute; top:6px; left:6px; width:18px; height:18px; z-index:2; }
.fb-edit-photos .del{ position:absolute; inset:0; background:rgba(222,91,63,.55); color:#fff; font-size:12px; font-weight:700;
  display:none; align-items:center; justify-content:center; }
.fb-edit-photos input:checked ~ .del{ display:flex; }
.fb-edit-actions{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }

.fb-empty{ text-align:center; padding:56px 20px; color:var(--muted,#5F7A56); font-weight:600; }
.fb-empty .ico{ font-size:42px; margin-bottom:8px; }
.fb-more-btn{ display:block; margin:6px 12px 14px; text-align:center; padding:14px; border-radius:14px; background:var(--primary,#14962A);
  color:#fff; font-weight:800; font-size:14px; text-decoration:none; box-shadow:0 4px 12px rgba(20,150,42,.28); }
.fb-more-btn:active{ transform:scale(.98); }

/* lightbox */
.fb-lb{ position:fixed; inset:0; background:rgba(0,0,0,.92); z-index:1000; display:none; align-items:center; justify-content:center; }
.fb-lb.open{ display:flex; }
.fb-lb img{ max-width:100vw; max-height:86vh; object-fit:contain; touch-action:pan-y; user-select:none; -webkit-user-drag:none; }
.fb-lb button{ position:absolute; background:rgba(255,255,255,.14); color:#fff; border:none; width:44px; height:44px; border-radius:50%; font-size:20px; cursor:pointer; }
.fb-lb .x{ top:calc(env(safe-area-inset-top,0px) + 14px); right:14px; } .fb-lb .pv{ left:16px; top:50%; } .fb-lb .nx{ right:16px; top:50%; }
.fb-lb .ct{ position:absolute; bottom:calc(env(safe-area-inset-bottom,0px) + 18px); left:0; right:0; text-align:center; color:#fff; font-size:13px; }


/* animasi muncul halus */
@keyframes fbIn{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
.fb-view-anim .fb-card{ animation:fbIn .4s ease both; }
.fb-view-anim .fb-card:nth-child(2){ animation-delay:.05s; } .fb-view-anim .fb-card:nth-child(3){ animation-delay:.1s; }
@media (prefers-reduced-motion:reduce){ .fb-view-anim .fb-card{ animation:none; } }

@media (max-width:760px){
  .fb-wrap{ padding:0 10px; }
  .fb-text.big{ font-size:19px; }
  .fb-menu > summary{ width:40px; height:40px; }
  .fb-compose-bar{ flex-wrap:wrap; }
}

/* --- SEO: permalink per postingan, H1, kabar terkait --- */
.fb-h1{ margin:4px 14px 12px; font:700 22px/1.35 'Space Grotesk','Manrope',sans-serif; color:var(--text,#10260F); overflow-wrap:anywhere; }
.fb-post-meta a{ color:inherit; text-decoration:none; }
.fb-post-meta a:hover{ text-decoration:underline; }
.feed-view .crumbs{ margin:2px 14px 10px; font-size:12.5px; }
.fb-rel-title{ margin:18px 14px 8px; font:700 15px 'Space Grotesk','Manrope',sans-serif; color:var(--text,#10260F); }
.fb-rel{ display:block; margin:0 12px 8px; padding:12px 14px; background:#fff; border-radius:14px; color:inherit; text-decoration:none; box-shadow:0 1px 3px rgba(0,0,0,.06); }
.fb-rel b{ display:block; font-size:14px; margin-bottom:2px; overflow-wrap:anywhere; }
.fb-rel span{ font-size:12.5px; opacity:.75; }
