/* =========================================================
 *  JHIDEX CMS — SINGLE POST GLOBAL ALL-IN-ONE CSS (FINAL v4)
 *  Berlaku untuk: Posts | Pages | Slots | Slot Demos
 *  Maintain di: /jhi-content/themes/global/css/single-post-all.css
 *  Urutan merge (cascade menang terakhir):
 *    1) post.css         - Base layout single post + prose styles
 *    2) blog.css         - Blog module styles
 *    3) slots.css        - Slots module styles
 *    4) slot-demos.css   - Slot Demos module styles
 *    5) FINAL GLOBAL SINGLE v4 - (Final layout fix: Cover transform, Sidebar sticky, Related 4 cols)
 *         * Final fix: Cover transform 70px + mb 100px, Sidebar 64px, Related 200px, Body wrap 180px, Sidebar sticky
 * =========================================================


/* -------------------- SECTION: post.css -------------------- */
.post-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 2rem;
  align-items: start;
}
@media (max-width: 980px) {
  .post-layout { grid-template-columns: 1fr; }
}

/* ===== FIX: 3-COL POST LAYOUT WITH LEFT HOME SIDEBAR ===== */
.container.post-layout.post-layout-with-sidebar-left {
  max-width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: clamp(0.75rem, 2vw, 2rem) !important;
}
.post-layout.post-layout-with-sidebar-left {
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) 340px;
  gap: 1.25rem 1.5rem;
  align-items: start;
}
.post-layout.post-layout-with-sidebar-left > .post-content-wrap,
.post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > .post-content-wrap,
.post-layout.post-layout-with-sidebar-left > .post-main-three-col > .post-content-wrap {
  grid-column: 2;
  min-width: 0;
  width: 100%;
}
.post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
.post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
.post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar {
  grid-column: 3;
  min-width: 0;
}
/* Template variants with post-sidebar hidden â†’ 2 columns: home-sidebar + content */
body.post-layout--nosidebar .post-layout.post-layout-with-sidebar-left,
body.template-wide .post-layout.post-layout-with-sidebar-left,
body.template-landing .post-layout.post-layout-with-sidebar-left,
body.template-minimal .post-layout.post-layout-with-sidebar-left,
html.post-template-wide .post-layout.post-layout-with-sidebar-left,
html.post-template-landing .post-layout.post-layout-with-sidebar-left,
html.post-template-minimal .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) !important;
}
body.post-layout--nosidebar .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.post-layout--nosidebar .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.post-layout--nosidebar .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar,
body.template-wide .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.template-wide .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.template-wide .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar,
body.template-landing .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.template-landing .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.template-landing .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar,
body.template-minimal .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.template-minimal .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.template-minimal .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar {
  display: none !important;
}
/* Template landing full-width â†’ optional hide home-sidebar too for true edge-to-edge */
body.template-landing .post-layout.post-layout-with-sidebar-left > .home-sidebar,
html.post-template-landing .post-layout.post-layout-with-sidebar-left > .home-sidebar {
  display: none;
}
body.template-landing .post-layout.post-layout-with-sidebar-left,
html.post-template-landing .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: minmax(0, 1fr) !important;
}
/* Responsive: tablet collapse post-sidebar ke bawah */
@media (max-width: 1180px) {
  .post-layout.post-layout-with-sidebar-left { grid-template-columns: minmax(0, auto) minmax(0, 1fr); }
  .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
  .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
  .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar {
    grid-column: 1 / -1;
  }
}
/* Mobile: collapse home-sidebar ke row 1, content full, sidebar bawah */
@media (max-width: 980px) {
  .post-layout.post-layout-with-sidebar-left { grid-template-columns: 1fr; }
  .post-layout.post-layout-with-sidebar-left > .home-sidebar,
  .post-layout.post-layout-with-sidebar-left > .post-content-wrap,
  .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > .post-content-wrap,
  .post-layout.post-layout-with-sidebar-left > .post-main-three-col > .post-content-wrap,
  .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
  .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
  .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar {
    grid-column: 1 / -1;
  }
}

/* =========================================================
   ðŸ§± UNIFIED SINGLE-POST WRAPPER â€” 1 kesatuan visual (hero+body+footer)
   ========================================================= */
.single-post-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  isolation: isolate;
}
.single-post-wrap > * { min-width: 0; }
.post-acf-slot,
.post-author-slot,
.post-subscribe-slot { width: 100%; }
.related-posts-section {
  padding-top: 1rem !important;
  margin-top: 0.25rem;
}
.related-posts-section .section-wrap { padding-top: 0 !important; }

/* ===== DEFENSE: BLOCK OVERLAP TEXT + ISOLATE HERO/CONTENT ===== */
.post-content-wrap {
  position: relative !important;
  isolation: isolate !important;
  contain: layout paint;
}
.post-hero {
  position: relative !important;
  z-index: 3 !important;
  isolation: isolate !important;
}
.post-hero .hero-inner {
  position: relative !important;
  z-index: 10 !important;
}

/* ===== CLEANUP: AUTHOR CARD UNIFY (HINDARI DUPLIKAT 3 LOKASI) =====
   Default + Blog dengan sidebar VISIBLE: cukup 1 lokasi = sidebar author-card
   Wide/Minimal/Blog TANPA sidebar: tampilkan hero author-mini + footer author
   Landing: TANPA author info dimanapun (sesuai matrix template) */
.hero-meta > .author-mini { display: none; }
#post-footer-author { display: none; }
body.post-layout--nosidebar .hero-meta > .author-mini,
body.global-layout--nosidebar .hero-meta > .author-mini,
body.page-layout--nosidebar .hero-meta > .author-mini,
body.template-wide .hero-meta > .author-mini,
body.template-minimal .hero-meta > .author-mini,
body.template-blog .hero-meta > .author-mini,
html.post-template-wide .hero-meta > .author-mini,
html.post-template-minimal .hero-meta > .author-mini,
html.post-template-blog .hero-meta > .author-mini { display: flex; }
body.post-layout--nosidebar #post-footer-author,
body.global-layout--nosidebar #post-footer-author,
body.page-layout--nosidebar #post-footer-author,
body.template-wide #post-footer-author,
body.template-blog #post-footer-author,
html.post-template-wide #post-footer-author,
html.post-template-blog #post-footer-author { display: block; }
body.template-landing .hero-meta > .author-mini,
body.template-landing #post-footer-author,
body.template-landing #author-card,
html.post-template-landing .hero-meta > .author-mini,
html.post-template-landing #post-footer-author,
html.post-template-landing #author-card { display: none !important; }

/* ===== POST / PAGE TEMPLATE LAYOUT VARIANTS ===== */
body.post-layout--nosidebar .post-layout,
body.page-layout--nosidebar .post-layout,
body.global-layout--nosidebar .post-layout,
body.template-wide .post-layout,
body.template-landing .post-layout,
body.template-minimal .post-layout,
html.post-template-wide .post-layout,
html.post-template-landing .post-layout,
html.post-template-minimal .post-layout {
  grid-template-columns: minmax(0, 1fr) !important;
}
body.post-layout--nosidebar #author-card,
body.post-layout--nosidebar #toc-card,
body.page-layout--nosidebar #author-card,
body.page-layout--nosidebar #toc-card,
body.global-layout--nosidebar #author-card,
body.global-layout--nosidebar #toc-card {
  display: none !important;
}
body.template-wide .post-layout,
body.page-template-wide .post-layout,
html.post-template-wide .post-layout { max-width: 1280px; margin: 0 auto; }
body.template-landing { overflow-x: hidden; }
body.template-landing .page-wrap { max-width: 100% !important; padding: 0 !important; }
body.template-landing #app-breadcrumb,
body.post-template-landing #app-breadcrumb,
body.page-template-landing #app-breadcrumb { display: none !important; }
body.template-minimal .post-layout,
body.post-template-minimal .post-layout,
body.page-template-minimal .post-layout,
html.post-template-minimal .post-layout { max-width: 880px; margin: 0 auto; }
body.template-blog .post-layout,
html.post-template-blog .post-layout { max-width: 1280px; margin: 0 auto; }
body.template-blog .post-hero,
body.post-template-blog .post-hero {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 40px -12px rgba(0,0,0,0.2);
}

.post-hero {
  border-radius: var(--radius-xl);
  overflow: hidden;
  position: relative;
  background: var(--bg-secondary);
  border: 1px solid var(--border-default);
  isolation: isolate;
}
.post-hero .hero-thumb {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  background-image: linear-gradient(135deg, rgba(124, 92, 255, 0.45), rgba(255, 77, 157, 0.38));
  z-index: 0;
}
.post-hero .hero-thumb[style*="url("]::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,8,32,0.25) 0%, rgba(10,8,32,0.62) 100%),
              radial-gradient(120% 80% at 20% 20%, rgba(124,92,255,0.2), transparent 55%);
  pointer-events: none;
}
.post-hero .hero-inner {
  position: relative; z-index: 2;
  padding: clamp(1.8rem, 5vw, 3.75rem) clamp(1.1rem, 4vw, 2.5rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: clamp(240px, 42vw, 420px);
}
.post-hero .cat-links {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
  margin-bottom: 1rem;
}
.post-hero .cat-link {
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.02em;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: rgba(0,0,0,0.4);
  color: #fff;
  text-decoration: none;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.1);
}
.post-hero h1 {
  font-family: var(--font-display);
  font-weight: 800;
  line-height: 1.15;
  font-size: clamp(1.8rem, 4.2vw, 2.8rem);
  margin: 0 0 1rem 0;
  color: white;
  text-shadow: 0 2px 20px rgba(0,0,0,0.4);
}
.post-hero .hero-meta {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: 0.85rem;
  color: rgba(255,255,255,0.88);
  font-size: 0.9rem;
}
.post-hero .hero-meta .author-mini {
  display: flex; align-items: center; gap: 0.55rem;
}
.post-hero .hero-meta .mini-avatar {
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--bg-tertiary);
  background-size: cover; background-position: center;
  display: grid; place-items: center;
  color: white; font-weight: 700; font-size: 0.8rem;
  border: 2px solid rgba(255,255,255,0.2);
}
.post-hero .dot-sep { opacity: 0.6; }
/* ðŸ‘‡ TAG CHIPS (render di bawah meta row hero, mirip cat-link tapi warna per-tag) */
.tag-chip-row {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  vertical-align: middle;
  align-items: center;
}
.tag-chip {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.22rem 0.62rem;
  border-radius: 999px;
  line-height: 1.35;
  backdrop-filter: blur(8px);
  text-transform: capitalize;
  word-break: break-word;
  overflow-wrap: anywhere;
  -webkit-font-smoothing: antialiased;
  text-shadow: 0 1px 2px rgba(0,0,0,0.25);
}
.tag-chip:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
  transition: all 0.15s ease;
}
@media (max-width: 620px) {
  .tag-chip { font-size: 0.62rem; padding: 0.2rem 0.5rem; }
}

/* =========================================================
   ðŸ“– POST-PROSE â€” Standard Typography untuk Article Content
   (dipakai oleh #post-body dan semua custom template GLOBAL POST)
   ========================================================= */
.post-prose,
.post-body {
  color: var(--text);
  font-size: 1.02rem;
  line-height: 1.8;
  font-feature-settings: "kern", "liga";
  -webkit-font-smoothing: antialiased;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.post-prose > *:first-child,
.post-body > *:first-child { margin-top: 0 !important; }
.post-prose > *:last-child,
.post-body > *:last-child { margin-bottom: 0 !important; }
.post-prose > * + *,
.post-body > * + * { margin-top: 1.25rem; }

/* Headings */
.post-prose h1, .post-prose h2, .post-prose h3,
.post-prose h4, .post-prose h5, .post-prose h6,
.post-body h1, .post-body h2, .post-body h3,
.post-body h4, .post-body h5, .post-body h6 {
  color: var(--text-strong);
  font-family: var(--font-display);
  font-weight: 750;
  line-height: 1.25;
  letter-spacing: -0.01em;
  scroll-margin-top: 96px;
}
.post-prose h1, .post-body h1 {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  margin-top: 2.2rem !important;
  margin-bottom: 0.8rem;
}
.post-prose h2, .post-body h2 {
  font-size: clamp(1.4rem, 2.6vw, 1.85rem);
  margin-top: 2.2em !important;
  margin-bottom: 0.7rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid rgba(124,92,255,0.14);
}
.post-prose h3, .post-body h3 {
  font-size: clamp(1.2rem, 2.2vw, 1.45rem);
  margin-top: 1.8rem !important;
  margin-bottom: 0.55rem;
}
.post-prose h4, .post-body h4 {
  font-size: 1.1rem;
  margin-top: 1.5rem !important;
  margin-bottom: 0.45rem;
}
.post-prose h5, .post-body h5 { font-size: 1rem; color: var(--accent-purple); margin-top: 1.3rem; }
.post-prose h6, .post-body h6 { font-size: 0.95rem; color: var(--accent-pink); margin-top: 1.2rem; text-transform: uppercase; letter-spacing: 0.04em; }

/* Paragraphs & Text */
.post-prose p, .post-body p {
  color: var(--text);
  margin: 0;
}
.post-prose strong, .post-body strong {
  color: var(--text-strong);
  font-weight: 700;
}
.post-prose em, .post-body em { color: var(--text); }
.post-prose mark, .post-body mark {
  background: linear-gradient(180deg, transparent 62%, rgba(255,77,157,0.22) 62%);
  color: inherit;
  padding: 0 2px;
}
.post-prose small, .post-body small { font-size: 0.85em; color: var(--text-muted); }

/* Links */
.post-prose a, .post-body a {
  color: var(--accent-pink);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: all 0.15s ease;
}
.post-prose a:hover, .post-body a:hover {
  color: var(--accent-purple);
  text-decoration-thickness: 2px;
}

/* Lists */
.post-prose ul, .post-prose ol,
.post-body ul, .post-body ol {
  padding-left: 1.6rem;
  margin: 0;
}
.post-prose ul li, .post-prose ol li,
.post-body ul li, .post-body ol li {
  margin-bottom: 0.5rem;
  line-height: 1.7;
}
.post-prose ul li::marker, .post-body ul li::marker {
  color: var(--accent-pink);
  font-size: 1em;
}
.post-prose ol li::marker, .post-body ol li::marker {
  color: var(--accent-purple);
  font-weight: 700;
}
.post-prose li > ul, .post-prose li > ol,
.post-body li > ul, .post-body li > ol {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem;
}

/* Blockquote */
.post-prose blockquote, .post-body blockquote {
  border-left: 4px solid var(--accent-pink);
  background: linear-gradient(90deg, rgba(255,77,157,0.09), rgba(124,92,255,0.05));
  margin: 1.6rem 0 !important;
  padding: 1.1rem 1.35rem;
  border-radius: 0 14px 14px 0;
  font-style: italic;
  color: var(--text-strong);
  position: relative;
}
.post-prose blockquote > * + *,
.post-body blockquote > * + * { margin-top: 0.75rem !important; }
.post-prose blockquote::before,
.post-body blockquote::before {
  content: "â";
  position: absolute;
  top: 4px;
  left: 10px;
  font-size: 2.2rem;
  line-height: 1;
  color: rgba(255,77,157,0.18);
  font-family: Georgia, serif;
  pointer-events: none;
}
.post-prose blockquote cite,
.post-body blockquote cite {
  display: block;
  margin-top: 0.75rem;
  font-size: 0.88rem;
  color: var(--text-muted);
  font-style: normal;
  font-weight: 600;
}

/* Code / Pre */
.post-prose code, .post-body code,
.post-prose kbd, .post-body kbd,
.post-prose samp, .post-body samp {
  padding: 0.18rem 0.45rem;
  background: var(--bg-tertiary);
  border-radius: 7px;
  font-size: 0.88em;
  font-family: ui-monospace, "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;
  color: #f9a8d4;
  border: 1px solid rgba(255,255,255,0.05);
}
.post-prose kbd, .post-body kbd {
  border-bottom-width: 2px;
  border-color: rgba(124,92,255,0.3);
  font-weight: 600;
  color: #c4b5fd;
}
.post-prose pre, .post-body pre {
  background: linear-gradient(180deg, rgba(20,16,48,0.95), rgba(12,10,32,0.95));
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 14px;
  padding: 1.15rem 1.25rem;
  overflow-x: auto;
  margin: 1.5rem 0 !important;
  position: relative;
}
.post-prose pre::before,
.post-body pre::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, #ec4899, #8b5cf6);
  border-radius: 14px 14px 0 0;
}
.post-prose pre code, .post-body pre code {
  padding: 0;
  background: transparent !important;
  border: 0 !important;
  font-size: 0.86rem;
  line-height: 1.65;
  color: #e2e8f0;
}

/* Images & Figures */
.post-prose img, .post-body img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md, 12px);
  box-shadow: 0 10px 28px -16px rgba(0,0,0,0.5);
}
.post-prose figure, .post-body figure {
  margin: 1.6rem 0 !important;
}
.post-prose figure img, .post-body figure img {
  display: block;
  margin: 0 auto;
}
.post-prose figcaption, .post-body figcaption {
  text-align: center;
  color: var(--text-muted);
  font-size: 0.85rem;
  margin-top: 0.75rem;
  font-style: italic;
}
.post-prose a > img, .post-body a > img {
  display: block;
  transition: transform 0.3s cubic-bezier(.2,.8,.2,1);
}
.post-prose a:hover > img, .post-body a:hover > img {
  transform: translateY(-2px);
  box-shadow: 0 16px 38px -18px rgba(124,92,255,0.4);
}

/* HR / Divider */
.post-prose hr, .post-body hr {
  border: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(124,92,255,0.3), rgba(255,77,157,0.3), transparent);
  margin: 2.2rem 0 !important;
}

/* Tables */
.post-prose table, .post-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0 !important;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.07);
  font-size: 0.95rem;
}
.post-prose thead, .post-body thead {
  background: linear-gradient(135deg, rgba(124,92,255,0.18), rgba(255,77,157,0.14));
}
.post-prose th, .post-body th {
  padding: 0.75rem 1rem;
  text-align: left;
  color: #fff;
  font-weight: 700;
  font-family: var(--font-display);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.post-prose td, .post-body td {
  padding: 0.7rem 1rem;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  color: var(--text);
}
.post-prose tbody tr:last-child td,
.post-body tbody tr:last-child td { border-bottom: 0; }
.post-prose tbody tr:hover td,
.post-body tbody tr:hover td {
  background: rgba(255,255,255,0.025);
}

/* Details / Summary */
.post-prose details, .post-body details {
  background: var(--bg-secondary);
  border: 1px solid var(--border-default);
  border-radius: 12px;
  padding: 0.6rem 1rem;
  margin: 1.2rem 0 !important;
}
.post-prose summary, .post-body summary {
  cursor: pointer;
  font-weight: 650;
  color: var(--text-strong);
  padding: 0.3rem 0;
  list-style: none;
  user-select: none;
}
.post-prose summary::-webkit-details-marker,
.post-body summary::-webkit-details-marker { display: none; }
.post-prose summary::before,
.post-body summary::before {
  content: "â–¶";
  display: inline-block;
  margin-right: 0.6rem;
  font-size: 0.7em;
  color: var(--accent-pink);
  transition: transform 0.2s;
}
.post-prose details[open] summary::before,
.post-body details[open] summary::before {
  transform: rotate(90deg);
}
.post-prose details > * + *,
.post-body details > * + * { margin-top: 0.6rem; }

/* Iframe / Video Embeds */
.post-prose iframe, .post-body iframe,
.post-prose video, .post-body video {
  max-width: 100%;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.07);
  aspect-ratio: 16 / 9;
  display: block;
  margin: 1.5rem auto;
}

.sticky-col { position: sticky; top: 92px; }
@media (max-width: 980px) { .sticky-col { position: static; } }

.sidebar-author {
  border-radius: var(--radius-xl);
  padding: 1.25rem;
  display: flex; flex-direction: column; align-items: center;
  text-align: center;
  background: var(--bg-card);
  border: 1px solid var(--border-default);
}
.sidebar-author .big-avatar {
  width: 72px; height: 72px; border-radius: 50%;
  background-size: cover; background-position: center;
  display: grid; place-items: center;
  color: white; font-weight: 800; font-size: 1.4rem;
  border: 3px solid var(--accent-gradient);
  background: var(--bg-tertiary);
  margin-bottom: 0.75rem;
}
.sidebar-author h5 { margin: 0 0 0.15rem 0; font-size: 1rem; color: var(--text-strong); }
.sidebar-author .author-title { color: var(--text-muted); font-size: 0.8rem; margin-bottom: 0.5rem; }
.sidebar-author .author-bio { color: var(--text-muted); font-size: 0.85rem; line-height: 1.5; margin-bottom: 0.75rem; }

.toc-card h5 { font-size: 0.95rem; margin: 0 0 0.75rem 0; color: var(--text-strong); font-weight: 700; display: flex; align-items: center; gap: 0.4rem; overflow-wrap: anywhere; word-break: break-word; hyphens: auto; }
.toc-card ul { list-style: none; padding: 0; margin: 0; }
.toc-card li + li { margin-top: 0.3rem; }
.toc-card, .toc-card.p-5 {
  padding: 1.25rem 1.1rem !important;
  overflow: visible !important;
}
.toc-card a {
  display: block; padding: 0.5rem 0.6rem;
  color: var(--text-muted); text-decoration: none;
  font-size: 0.85rem;
  border-radius: var(--radius-sm);
  transition: all 0.18s;
  border-left: 2px solid transparent;
  line-height: 1.45;
  overflow-wrap: anywhere;
  word-break: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  white-space: normal !important;
}
.toc-card a:hover {
  background: var(--bg-secondary);
  color: var(--text);
  border-left-color: var(--accent-pink);
}
.toc-card .empty-toc { color: var(--text-muted); font-size: 0.85rem; }

.cta-card, .cta-card.p-5 {
  background: linear-gradient(135deg, rgba(255, 77, 157, 0.12), rgba(124, 92, 255, 0.12));
  position: relative;
  overflow: visible !important;
  padding: 1.25rem 1.1rem 1.3rem !important;
  border: 1px solid rgba(255,77,157,0.12) !important;
}
.cta-card .cta-glow { position: absolute; inset: -20%; pointer-events: none; background: radial-gradient(300px 180px at 90% 10%, rgba(255, 77, 157, 0.2), transparent 60%), radial-gradient(300px 180px at 10% 90%, rgba(124, 92, 255, 0.2), transparent 60%); }
.cta-card .cta-title { margin: 0 0 0.4rem 0; font-size: 1rem; color: var(--text-strong); font-weight: 700; overflow-wrap: anywhere; word-break: break-word; }
.cta-card .cta-desc { color: var(--text-muted); font-size: 0.85rem; margin: 0 0 0.6rem 0; line-height: 1.55; overflow-wrap: anywhere; word-break: break-word; }
.cta-card .cta-code { font-size: 0.9rem; color: var(--text-strong); margin: 0; overflow-wrap: anywhere; word-break: break-word; }
.cta-card .cta-code strong {
  font-family: var(--font-condensed);
  padding: 0.15rem 0.55rem;
  border-radius: 6px;
  background: var(--bg-primary);
  border: 1px solid var(--border-default);
  color: var(--accent-pink);
  letter-spacing: 0.03em;
}

/* ðŸ‘‡ SIDEBAR RIGHT: wrap card agar rapi & TIDAK ada gap berantakan */
.post-sidebar .sticky-col {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.post-sidebar .home-card + .home-card { margin-top: 0 !important; }
aside.post-sidebar { min-width: 0; }

/* =========================================================
   ðŸŽ¨ UNIFORM SHADOW SYSTEM â€” SIDEBAR CARDS (MODERN 2026 DEPTH)
   3 Levels: Level 1 Base, Level 2 Info Glow, Level 3 Promo Glow
   ========================================================= */

/* LEVEL 1: BASE HOME CARD (semua sidebar cards inherit ini â€” backdrop blur + soft elevation) */
.post-sidebar .home-card,
.post-sidebar .home-card.p-4,
.post-sidebar .home-card.p-5,
.post-sidebar aside.home-card,
.post-sidebar div.home-card {
  backdrop-filter: blur(10px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(140%) !important;
  background: linear-gradient(180deg, rgba(31,26,66,0.92) 0%, rgba(21,18,46,0.88) 100%) !important;
  border: 1px solid rgba(255,255,255,0.075) !important;
  border-top: 1px solid rgba(255,255,255,0.11) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.055),
    0 18px 42px -22px rgba(0,0,0,0.72),
    0 10px 20px -16px rgba(124,92,255,0.22) !important;
  border-radius: 18px !important;
  position: relative !important;
  overflow: visible !important;
}
.post-sidebar .home-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(124,92,255,0.055), rgba(255,77,157,0.045) 60%, transparent 90%);
  z-index: 0;
}
.post-sidebar .home-card > * { position: relative; z-index: 1; }

/* LEVEL 2: INFO CARD (TOC + Author + Newsletter Sidebar) â€” extra purple soft glow */
.toc-card,
.toc-card.p-5,
.sidebar-author.post-author-card-modern,
.newsletter-sidebar-card {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.07),
    0 20px 48px -24px rgba(0,0,0,0.75),
    0 14px 28px -18px rgba(124,92,255,0.34),
    0 6px 14px -10px rgba(236,72,153,0.22) !important;
  border: 1px solid rgba(124,92,255,0.11) !important;
  border-top: 1px solid rgba(255,255,255,0.13) !important;
  background: linear-gradient(180deg, rgba(35,29,78,0.93) 0%, rgba(21,18,46,0.9) 100%) !important;
}

/* LEVEL 3: CTA PROMO CARD (Bonus Welcome) â€” dual pink/purple glow ELEGAN, TIDAK TEBEL */
.cta-card,
.cta-card.p-5 {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.09),
    inset 0 0 0 1px rgba(255,77,157,0.07),
    0 22px 50px -26px rgba(236,72,153,0.62),
    0 18px 38px -22px rgba(124,92,255,0.52),
    0 10px 20px -14px rgba(0,0,0,0.68) !important;
  border: 1px solid rgba(255,77,157,0.16) !important;
  border-top: 1px solid rgba(255,192,231,0.22) !important;
  background:
    radial-gradient(140% 80% at 10% 10%, rgba(255,77,157,0.135), transparent 55%),
    radial-gradient(120% 70% at 90% 90%, rgba(124,92,255,0.13), transparent 60%),
    linear-gradient(180deg, rgba(34,26,65,0.94) 0%, rgba(22,18,48,0.9) 100%) !important;
  position: relative;
  overflow: visible !important;
}
.cta-card::after {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(255,77,157,0.55) 50%, transparent 100%);
  pointer-events: none;
  border-radius: 999px;
  filter: blur(0.3px);
}
/* Override inline class .cta-card background-image lama (gradient flat) dengan bg radial baru */
.cta-card.p-5.cta-card,
.cta-card.home-card {
  background-image:
    radial-gradient(140% 80% at 10% 10%, rgba(255,77,157,0.135), transparent 55%),
    radial-gradient(120% 70% at 90% 90%, rgba(124,92,255,0.13), transparent 60%),
    linear-gradient(180deg, rgba(34,26,65,0.94) 0%, rgba(22,18,48,0.9) 100%) !important;
}

.post-layout-home-container {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
  position: relative;
}
.post-layout-home-container > .post-sidebar-right {
  display: none;
}
.post-layout-home-container.home-layout-has-right {
  grid-template-columns: 300px minmax(0, 1fr) 340px;
}
.post-layout-home-container.home-layout-has-right > .post-sidebar-right {
  display: block;
}
.post-nosidebar-layout {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media (max-width: 1023px) {
  .post-layout-home-container {
    grid-template-columns: 1fr;
  }
  .post-layout-home-container > .post-sidebar-right {
    display: block;
  }
}

/* ðŸ‘‡ MODERN AUTHOR SIDEBAR CARD ðŸ‘‡ */
.sidebar-author.post-author-card-modern {
  position: relative;
  overflow: hidden;
  padding: 1.6rem 1.4rem 1.5rem !important;
  text-align: center;
}
.author-card-top-gradient {
  position: absolute;
  inset: 0 0 auto 0;
  height: 100px;
  background: linear-gradient(180deg, rgba(236,72,153,0.22) 0%, rgba(139,92,246,0.12) 55%, transparent 100%);
  z-index: 0;
  pointer-events: none;
}
.sidebar-author.post-author-card-modern > * { position: relative; z-index: 1; }
.author-avatar-modern {
  margin: 0 auto 1rem;
  border: 3px solid rgba(255,255,255,0.14);
  box-shadow: 0 12px 24px -10px rgba(236,72,153,0.55);
  width: 86px;
  height: 86px;
  font-size: 1.5rem;
  font-weight: 800;
  color: #fff;
}
.author-name-modern {
  font-size: 1.15rem;
  font-weight: 750;
  margin-bottom: 0.2rem;
  letter-spacing: -0.01em;
  color: #fff;
}
.post-author-card-modern .author-title {
  font-size: 0.82rem;
  color: #e879f9;
  background: rgba(168,85,247,0.08);
  padding: 3px 10px;
  border-radius: 999px;
  display: inline-block;
  margin-bottom: 1rem;
  font-weight: 600;
}
.author-stats-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 0.85rem 0.2rem;
  margin: 0 -0.4rem 0.9rem;
  border-top: 1px solid rgba(255,255,255,0.07);
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.author-stat { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 62px; }
.as-num { font-weight: 800; font-size: 1.05rem; color: #fff; line-height: 1; }
.as-label { font-size: 0.72rem; color: var(--text-muted); font-weight: 500; text-transform: uppercase; letter-spacing: 0.06em; }
.author-stat-divider { width: 1px; height: 28px; background: linear-gradient(180deg, transparent, rgba(255,255,255,0.18), transparent); }
.post-author-card-modern .author-bio {
  text-align: center;
  margin: 0 0 0.9rem;
  color: var(--text-muted);
  font-size: 0.82rem;
  line-height: 1.65;
}
.post-author-socials { display: flex; justify-content: center; gap: 0.5rem; margin: 0 0 1rem; }
.pa-social-btn {
  width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 10px; font-size: 0.85rem; font-weight: 700; text-decoration: none;
  background: rgba(255,255,255,0.045); color: var(--text-muted);
  border: 1px solid rgba(255,255,255,0.07);
  transition: all 0.22s ease;
}
.pa-social-btn:hover {
  color: #fff; border-color: rgba(236,72,153,0.45);
  background: linear-gradient(135deg, rgba(236,72,153,0.18), rgba(139,92,246,0.18));
  transform: translateY(-2px);
}

/* ðŸ‘‡ POST FOOTER AUTHOR BIO BOX ðŸ‘‡ */
.post-author-footer-box {
  position: relative;
  overflow: hidden;
  padding: 1.8rem;
  border-radius: 20px;
}
.paf-gradient {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 90% 60% at 90% -10%, rgba(236,72,153,0.18), transparent 60%),
    radial-gradient(ellipse 60% 60% at 0% 100%, rgba(139,92,246,0.16), transparent 60%);
  pointer-events: none; z-index: 0;
}
.post-author-footer-box > * { position: relative; z-index: 1; }
.paf-avatar-wrap {
  position: absolute;
  top: 1.8rem;
  left: 1.8rem;
  z-index: 2;
}
.paf-avatar {
  width: 88px; height: 88px;
  border-radius: 20px;
  background: linear-gradient(135deg, #ec4899 0%, #8b5cf6 100%);
  color: #fff; font-weight: 800; font-size: 1.65rem;
  display: flex; align-items: center; justify-content: center;
  box-shadow:
    0 14px 30px -12px rgba(236,72,153,0.55),
    0 0 0 3px rgba(255,255,255,0.1),
    0 0 0 6px rgba(236,72,153,0.18);
  background-size: cover; background-position: center;
}
.paf-content {
  margin-left: calc(88px + 1.6rem);
  min-height: 88px;
}
.paf-head {
  display: flex; justify-content: space-between; align-items: flex-start;
  flex-wrap: wrap; gap: 1rem;
  margin-bottom: 1rem;
}
.paf-role-label {
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: #e879f9; margin-bottom: 0.35rem;
}
.paf-name {
  font-size: 1.45rem; font-weight: 850; letter-spacing: -0.02em;
  margin-bottom: 0.18rem; line-height: 1.1;
  background: linear-gradient(135deg, #fff 0%, #f5d0fe 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.paf-title {
  font-size: 0.88rem; color: var(--text-muted); font-weight: 500;
}
.paf-stats {
  display: flex; gap: 0.6rem; align-items: stretch;
}
.paf-stat {
  padding: 0.6rem 0.9rem;
  background: rgba(255,255,255,0.035);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  display: flex; flex-direction: column; align-items: center; min-width: 84px;
}
.paf-num {
  font-size: 1.1rem; font-weight: 850; color: #fff; line-height: 1; margin-bottom: 0.25rem;
}
.paf-lbl {
  font-size: 0.68rem; color: var(--text-muted);
  font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase;
}
.paf-bio {
  color: var(--text-muted);
  line-height: 1.7;
  font-size: 0.94rem;
  margin-bottom: 1.1rem;
  padding-right: 1rem;
}
.paf-foot {
  display: flex; align-items: center; flex-wrap: wrap; gap: 0.7rem;
}
.pa-footer-social {
  width: 38px; height: 38px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 11px; font-weight: 700; text-decoration: none;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
  color: var(--text-muted);
  transition: all 0.2s ease;
}
.pa-footer-social:hover {
  transform: translateY(-2px);
  color: #fff; border-color: rgba(236,72,153,0.4);
  background: linear-gradient(135deg, rgba(236,72,153,0.2), rgba(139,92,246,0.2));
}
.paf-btn-follow {
  margin-left: auto;
  gap: 0.45rem;
  font-weight: 650;
}
@media (max-width: 640px) {
  .paf-avatar-wrap { position: static; margin-bottom: 1rem; }
  .paf-content { margin-left: 0; }
  .paf-head { flex-direction: column; }
  .paf-bio { padding-right: 0; }
  .post-author-footer-box { padding: 1.3rem; border-radius: 18px; }
  .paf-btn-follow { margin-left: 0; width: 100%; justify-content: center; }
}

/* ðŸ‘‡ NEWSLETTER SIDEBAR CARD ðŸ‘‡ */
.newsletter-sidebar-card {
  position: relative; overflow: hidden;
  padding: 1.4rem 1.15rem 1.25rem;
  text-align: center;
}
.nsc-gradient {
  position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(ellipse 100% 70% at 50% -30%, rgba(236,72,153,0.22), transparent 60%),
    radial-gradient(ellipse 80% 60% at 10% 110%, rgba(139,92,246,0.18), transparent 60%);
}
.newsletter-sidebar-card > * { position: relative; z-index: 1; }
.nsc-icon {
  width: 56px; height: 56px; margin: 0 auto 0.9rem;
  border-radius: 18px; font-size: 1.5rem;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(236,72,153,0.25), rgba(139,92,246,0.25));
  box-shadow: 0 0 0 1px rgba(236,72,153,0.3), 0 10px 22px -10px rgba(139,92,246,0.65);
  animation: nscFloat 4s ease-in-out infinite;
}
@keyframes nscFloat { 0%,100%{ transform: translateY(0);} 50% { transform: translateY(-8px);} }
.nsc-title {
  font-size: 1.05rem; font-weight: 800; margin-bottom: 0.45rem;
  background: linear-gradient(135deg, #fff 0%, #f9a8d4 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.nsc-desc {
  font-size: 0.78rem; color: var(--text-muted); line-height: 1.55;
  margin-bottom: 1rem; padding: 0 0.2rem;
}
.nsc-form { display: flex; flex-direction: column; gap: 0.55rem; }
.nsc-field {
  width: 100%; display: block;
}
.nsc-field input {
  width: 100%;
  padding: 0.68rem 0.9rem;
  border-radius: 11px;
  background: rgba(255,255,255,0.045);
  border: 1px solid rgba(255,255,255,0.09);
  color: #fff;
  font-size: 0.86rem;
  outline: none;
  transition: all 0.2s ease;
}
.nsc-field input::placeholder { color: rgba(255,255,255,0.35); }
.nsc-field input:focus {
  border-color: rgba(236,72,153,0.55);
  background: rgba(236,72,153,0.05);
  box-shadow: 0 0 0 4px rgba(236,72,153,0.12);
}
.nsc-submit { gap: 0.5rem; font-weight: 700; font-size: 0.9rem; padding-top: 0.7rem; padding-bottom: 0.7rem; }
.nsc-status {
  font-size: 0.74rem;
  padding: 0.4rem 0.55rem;
  border-radius: 8px;
  line-height: 1.4;
  text-align: left;
  min-height: 0;
}
.nsc-status.is-ok {
  background: rgba(34,197,94,0.12);
  color: #86efac;
  border: 1px solid rgba(34,197,94,0.25);
}
.nsc-status.is-err {
  background: rgba(239,68,68,0.12);
  color: #fca5a5;
  border: 1px solid rgba(239,68,68,0.25);
}
.nsc-foot {
  font-size: 0.7rem; color: var(--text-muted);
  margin-top: 0.3rem; padding-top: 0.6rem;
  border-top: 1px dashed rgba(255,255,255,0.08);
  font-weight: 500;
}

/* ðŸ‘‡ NEWSLETTER POST FOOTER CARD (COMPACT + MODERN) ðŸ‘‡ */
.post-newsletter-footer,
.post-newsletter-footer.home-card {
  position: relative !important;
  overflow: hidden !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0.95rem 1.15rem 1.05rem !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255,77,157,0.18) !important;
  background:
    linear-gradient(180deg, rgba(236,72,153,0.08) 0%, rgba(139,92,246,0.08) 100%),
    rgba(255,255,255,0.02) !important;
  background-color: transparent !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.08),
    0 18px 50px -28px rgba(236,72,153,0.6),
    0 10px 30px -20px rgba(139,92,246,0.6) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}
.post-newsletter-footer .pnf-bg-orb,
.post-newsletter-footer.home-card .pnf-bg-orb,
.pnf-bg-orb {
  position: absolute !important;
  border-radius: 999px !important;
  filter: blur(45px) !important;
  opacity: 0.42 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  display: block !important;
}
.pnf-o1 {
  width: 190px !important; height: 190px !important;
  left: -45px !important; top: -60px !important;
  background: radial-gradient(circle, #ec4899 0%, transparent 70%) !important;
  animation: pnfFloat 12s ease-in-out infinite;
}
.pnf-o2 {
  width: 170px !important; height: 170px !important;
  right: -25px !important; bottom: -55px !important;
  background: radial-gradient(circle, #8b5cf6 0%, transparent 70%) !important;
  animation: pnfFloat 14s 3s ease-in-out infinite;
}
@keyframes pnfFloat { 0%,100%{ transform: translateY(0);} 50% { transform: translateY(-8px);} }
.post-newsletter-footer > *:not(.pnf-bg-orb),
.post-newsletter-footer.home-card > *:not(.pnf-bg-orb) { position: relative !important; z-index: 1 !important; }
.pnf-grid {
  display: grid; grid-template-columns: 1.08fr 1fr;
  gap: 1.2rem; align-items: center;
}
.pnf-eyebrow {
  font-size: 0.68rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #f0abfc;
  background: rgba(236,72,153,0.10);
  padding: 4px 11px;
  border-radius: 999px;
  display: inline-flex; align-items: center; gap: 0.35rem;
  margin-bottom: 0.5rem;
  border: 1px solid rgba(236,72,153,0.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}
.pnf-title {
  font-size: clamp(1.25rem, 2.1vw, 1.65rem);
  font-weight: 850; letter-spacing: -0.02em; line-height: 1.18;
  margin-bottom: 0.35rem;
}
.pnf-title .text-gradient {
  background: linear-gradient(135deg, #f472b6 0%, #c084fc 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.pnf-desc {
  color: var(--text-muted); line-height: 1.55;
  font-size: 0.85rem; margin-bottom: 0;
  padding-right: 0.5rem;
}
.pnf-form { display: flex; flex-direction: column; gap: 0.45rem; }
.pnf-form-row {
  display: flex; gap: 0.5rem; align-items: stretch;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.09);
  padding: 0.28rem;
  border-radius: 13px;
  transition: all 0.25s ease;
}
.pnf-form-row:focus-within {
  border-color: rgba(236,72,153,0.55);
  box-shadow: 0 0 0 4px rgba(236,72,153,0.12), 0 14px 38px -20px rgba(236,72,153,0.55);
  transform: translateY(-1px);
}
.pnf-field-wrap {
  flex: 1;
  display: flex; align-items: center; gap: 0.45rem;
  padding: 0 0.15rem 0 0.65rem;
  min-width: 0;
}
.pnf-field-icon {
  font-size: 0.92rem; opacity: 0.85; flex-shrink: 0;
}
.pnf-field-wrap input {
  flex: 1; width: 100%; min-width: 0;
  background: transparent; border: 0; outline: 0;
  padding: 0.55rem 0.3rem;
  color: #fff; font-size: 0.86rem;
}
.pnf-field-wrap input::placeholder { color: rgba(255,255,255,0.4); }
.pnf-submit {
  gap: 0.42rem; font-weight: 720; flex-shrink: 0;
  padding: 0.6rem 1rem; border-radius: 10px;
  font-size: 0.86rem;
}
.pnf-note {
  font-size: 0.7rem; color: var(--text-muted);
  display: flex; align-items: center; gap: 0.3rem;
  opacity: 0.92;
}
.pnf-status {
  font-size: 0.76rem;
  padding: 0.45rem 0.7rem;
  border-radius: 10px;
  line-height: 1.45;
  min-height: 0;
}
.pnf-status.is-ok {
  background: rgba(34,197,94,0.12);
  color: #86efac;
  border: 1px solid rgba(34,197,94,0.25);
}
.pnf-status.is-err {
  background: rgba(239,68,68,0.12);
  color: #fca5a5;
  border: 1px solid rgba(239,68,68,0.25);
}
@media (max-width: 820px) {
  .pnf-grid { grid-template-columns: 1fr; gap: 1rem; }
  .pnf-desc { padding-right: 0; }
  .post-newsletter-footer { padding: 1rem 1.05rem 1.08rem; border-radius: 18px; }
  .pnf-form-row { padding: 0.3rem; }
}
@media (max-width: 520px) {
  .post-newsletter-footer { padding: 1.4rem 1.1rem; border-radius: 18px; }
  .pnf-form-row { flex-direction: column; padding: 0.45rem; }
  .pnf-submit { width: 100%; justify-content: center; }
}

/* =============================================================
   POST TEMPLATE VARIANTS (wide / landing / minimal / blog)
   Injected by JS: body.template-{slug}  html.post-template-{slug}
   ============================================================= */

/* â€” Shared post-card modern hover (SharedUI.renderPostCard) â€” */
.post-card.home-card:hover {
  transform: translateY(-3px);
  border-color: rgba(255, 77, 157, 0.48) !important;
  box-shadow: 0 18px 44px rgba(255, 77, 157, 0.18), 0 0 0 1px rgba(124, 92, 255, 0.22) inset, 0 1px 0 rgba(255,255,255,.08) inset !important;
}
.post-card.home-card:hover .read-more { gap: .55rem !important; }
.post-card.home-card:hover .post-title a { color: #ff86ba !important; }
.post-card.home-card:hover .post-thumb-link .post-thumb { transform: scale(1.04); }
.post-card.home-card .post-thumb { transition: transform .5s cubic-bezier(.22,.61,.36,1); }

/* â€” TEMPLATE: WIDE / FULLWIDTH â€” hide sidebar, widen content â€” */
body.post-layout--nosidebar aside.post-sidebar,
body.template-wide aside.post-sidebar,
html.post-template-wide aside.post-sidebar { display: none !important; }
body.post-layout--nosidebar .post-content-wrap,
body.template-wide .post-content-wrap,
html.post-template-wide .post-content-wrap { width: 100%; max-width: 1080px; margin-inline: auto; }
body.post-layout--nosidebar .post-layout,
body.template-wide .post-layout,
html.post-template-wide .post-layout { max-width: 1280px; }
body.template-wide #post-body,
html.post-template-wide #post-body { font-size: 1rem; line-height: 1.8; padding: 1.6rem !important; }

/* â€” TEMPLATE: LANDING PAGE â€” big hero, no meta, CTA focus â€” */
body.template-landing #post-hero,
body.template-landing #post-hero > .post-hero,
html.post-template-landing #post-hero,
html.post-template-landing #post-hero > .post-hero {
  padding-bottom: 1rem;
  border-bottom: none !important;
}
body.template-landing #post-hero .hero-meta,
body.template-landing #post-hero > .post-hero .hero-meta,
html.post-template-landing #post-hero .hero-meta,
html.post-template-landing #post-hero > .post-hero .hero-meta { display: none !important; }
body.template-landing #post-hero h1,
body.template-landing #post-hero > .post-hero h1,
html.post-template-landing #post-hero h1,
html.post-template-landing #post-hero > .post-hero h1 {
  font-size: clamp(2rem, 4.6vw, 3.2rem) !important;
  line-height: 1.08 !important;
  background: linear-gradient(120deg, #ff7fb8 0%, #7c5cff 55%, #56c3ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: -.02em;
}
body.template-landing #post-hero .hero-inner > p,
body.template-landing #post-hero .hero-excerpt,
body.template-landing #post-hero > .post-hero .hero-inner > p,
html.post-template-landing #post-hero .hero-excerpt {
  font-size: 1.12rem;
  line-height: 1.7;
  color: #c8bfef;
  max-width: 68ch;
}
body.template-landing aside.post-sidebar,
html.post-template-landing aside.post-sidebar { display: none !important; }
body.template-landing .post-content-wrap,
html.post-template-landing .post-content-wrap { width: 100%; max-width: 1180px; margin-inline: auto; }
body.template-landing #post-body,
html.post-template-landing #post-body {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-size: 1.02rem;
  line-height: 1.78;
  color: #d8d2f6;
}
body.template-landing #post-body h2,
html.post-template-landing #post-body h2 {
  font-size: 1.85rem;
  margin-top: 2.2rem;
  padding-bottom: .6rem;
  border-bottom: 1px solid rgba(124,92,255,.18);
  color: #fff;
}

/* â€” TEMPLATE: MINIMAL ARTICLE â€” typography focus, no extras â€” */
body.template-minimal aside.post-sidebar,
html.post-template-minimal aside.post-sidebar { display: none !important; }
body.template-minimal .post-content-wrap,
html.post-template-minimal .post-content-wrap { width: 100%; max-width: 760px; margin-inline: auto; }
body.template-minimal #post-hero,
body.template-minimal #post-hero > .post-hero,
html.post-template-minimal #post-hero,
html.post-template-minimal #post-hero > .post-hero {
  padding: 1.8rem 0 1rem;
  border-bottom: 1px solid rgba(124,92,255,.14);
  margin-bottom: 1.8rem;
}
body.template-minimal #post-hero h1,
body.template-minimal #post-hero > .post-hero h1,
html.post-template-minimal #post-hero h1,
html.post-template-minimal #post-hero > .post-hero h1 {
  font-size: clamp(1.8rem, 3.6vw, 2.5rem);
  line-height: 1.2;
  letter-spacing: -.015em;
  font-weight: 800;
}
body.template-minimal #post-body,
html.post-template-minimal #post-body {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-size: 1.1rem !important;
  line-height: 1.95 !important;
  color: #d8d2f6 !important;
  font-feature-settings: "ss01", "ss02";
}
body.template-minimal #post-body h2,
html.post-template-minimal #post-body h2 {
  font-size: 1.55rem;
  margin-top: 2rem;
  color: #fff;
  letter-spacing: -.01em;
}
body.template-minimal #post-body h3,
html.post-template-minimal #post-body h3 { color: #fff; font-size: 1.22rem; }
body.template-minimal #post-body p,
html.post-template-minimal #post-body p { margin: 0 0 1.2rem; }
body.template-minimal #post-hero .hero-thumb,
body.template-minimal #post-hero > .post-hero .hero-thumb,
html.post-template-minimal .post-hero-featured-image {
  border-radius: 14px;
  box-shadow: 0 18px 52px rgba(0,0,0,.55);
  margin-bottom: 2rem;
  overflow: hidden;
}

/* â€” TEMPLATE: BLOG STYLE â€” card excerpt feel, list-ish look â€” */
body.template-blog #post-hero,
body.template-blog #post-hero > .post-hero,
html.post-template-blog #post-hero,
html.post-template-blog #post-hero > .post-hero {
  background: rgba(24, 20, 60, .7);
  border: 1px solid rgba(124,92,255,.22);
  border-radius: 20px;
  padding: 1.8rem;
  margin-bottom: 2rem;
  box-shadow: 0 14px 40px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05);
}
body.template-blog #post-hero h1,
body.template-blog #post-hero > .post-hero h1,
html.post-template-blog #post-hero h1,
html.post-template-blog #post-hero > .post-hero h1 { font-size: clamp(1.8rem, 3vw, 2.4rem); }
body.template-blog #post-hero .hero-inner > p,
body.template-blog #post-hero .hero-excerpt,
html.post-template-blog #post-hero > .post-hero .hero-excerpt {
  padding: 1rem 1.2rem;
  background: rgba(124, 92, 255, .1);
  border-left: 3px solid #ff4d9d;
  border-radius: 8px;
  color: #c7bfff;
  margin: 1.2rem 0 0;
  font-size: .98rem;
}
body.template-blog .post-content-wrap,
html.post-template-blog .post-content-wrap { max-width: 1180px; }

/* â€” Related posts modern polish (grid 3 col) â€” */
.section-wrap:has(#related-posts) { padding-top: 3rem; }
.posts-grid, #related-posts > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  padding-top: 1.6rem;
}
@media (max-width: 1040px) { .posts-grid, #related-posts > div { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .posts-grid, #related-posts > div { grid-template-columns: 1fr; gap: 1.2rem; } }

/* ===== RESPONSIVE HERO + RELATED POSTS (POST/PAGES) ===== */
@media (max-width: 1100px) {
  .post-hero .hero-inner { padding: 2rem 1.4rem; }
}
@media (max-width: 768px) {
  .post-hero { min-height: auto; border-radius: 16px; }
  .post-hero .hero-inner { padding: 1.6rem 1.2rem; }
  .post-hero .hero-inner > h1 { font-size: clamp(1.5rem, 4.6vw, 2.1rem) !important; line-height: 1.22 !important; }
  .post-body { padding: 1.1rem !important; }
  #post-body.p-5, #post-body.md\:p-10 { padding: 1.2rem !important; }
}
@media (max-width: 620px) {
  .post-hero .hero-inner { padding: 1.3rem 1rem; min-height: auto; }
  .post-hero .hero-inner > h1 { font-size: clamp(1.4rem, 6.4vw, 1.85rem) !important; letter-spacing: -0.01em; }
  .posts-grid, #related-posts > div { grid-template-columns: 1fr !important; gap: 1rem; }
  .section-wrap:has(#related-posts) { padding-top: 1.6rem !important; }
}
@media (max-width: 480px) {
  .post-layout { gap: 1rem !important; padding-inline: 0 !important; }
  .container.post-layout { padding: 0 .8rem !important; }
}

/* =============================================================
   ðŸŽ¨ CUSTOM POSTS â€” 5 Template Variants (custom-posts.html)
   Semua inline style lama dipindah kesini agar maintainability.
   Prefix class: `global-` (Global Post Template - universal posts/pages/slots/slot-demos)
   ============================================================= */

/* --- Shared base wrapper */
.global-wrap.global-layout {
  max-width: 1280px;
  margin: 0 auto;
  padding: 1.5rem 1rem;
}
.global-wrap.global-landing {
  max-width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}
.global-wrap.global-minimal {
  max-width: 760px;
  padding: clamp(2rem, 6vw, 5rem) 1.25rem;
}
.global-wrap.global-blog { max-width: 1280px; }
.global-article { width: 100%; }

/* --- TEMPLATE #1: DEFAULT */
.global-default .global-hero-outer { margin-bottom: 2rem; }
.global-default .global-hero-image {
  width: 100%;
  height: 360px;
  border-radius: 16px;
  background-size: cover;
  background-position: center;
  margin-bottom: 1.5rem;
  box-shadow: 0 10px 40px -12px rgba(124,92,255,0.25);
}
.global-default .global-header { margin-bottom: 1.5rem; }
.global-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.global-cat-chip {
  display: inline-block;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(124,92,255,0.18), rgba(255,77,157,0.18));
  color: #c4b5fd;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  border: 1px solid rgba(124,92,255,0.3);
}
.global-title {
  font-size: clamp(1.8rem, 3.8vw, 2.8rem);
  margin: 0 0 0.75rem;
  line-height: 1.15;
  font-family: var(--font-display);
  font-weight: 800;
  background: linear-gradient(135deg, #fff 0%, #e0d7ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.global-excerpt {
  color: var(--text-muted);
  font-size: 1.05rem;
  line-height: 1.6;
  margin: 0 0 1rem;
  max-width: 680px;
}
.global-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
  color: var(--text-muted);
  font-size: 0.9rem;
  padding: 0.75rem 0;
  border-top: 1px solid var(--border-default);
  border-bottom: 1px solid var(--border-default);
}
.global-meta-author {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.global-author-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7c5cff, #ff4d9d);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #fff;
  font-size: 0.85rem;
  background-size: cover;
  background-position: center;
  border: 2px solid rgba(255,255,255,0.08);
}
.global-author-name { color: var(--text-strong); font-weight: 600; }
.global-meta-sep { color: var(--border-default); }
.global-meta-icon {
  display: inline-block;
  vertical-align: -2px;
  margin-right: 2px;
}
.global-grid.global-with-sidebar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 2.2rem;
  align-items: flex-start;
}
.global-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.global-tags {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border-default);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.global-tags-label {
  color: var(--text-muted);
  font-weight: 600;
  align-self: center;
  margin-right: 0.25rem;
}
.global-tag-pill {
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-default);
  color: var(--text);
  font-size: 0.82rem;
  text-decoration: none;
  transition: all 0.2s ease;
}
.global-tag-pill:hover {
  border-color: rgba(124,92,255,0.5);
  color: #c4b5fd;
}

/* --- TEMPLATE #2: WIDE */
.global-wide { max-width: 1400px !important; }
.global-wide .global-hero-outer--wide {
  margin-bottom: 2.5rem;
  text-align: center;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.global-wide .global-hero-image--wide {
  width: 100%;
  height: 420px;
  border-radius: 20px;
  background-size: cover;
  background-position: center;
  margin-bottom: 2rem;
  box-shadow: 0 20px 60px -16px rgba(124,92,255,0.35);
}
.global-header--wide { text-align: center; }
.global-categories--wide { justify-content: center; margin-bottom: 1rem; }
.global-cat-chip--wide { padding: 0.35rem 0.85rem; font-size: 0.8rem; border: 1px solid rgba(124,92,255,0.35); }
.global-title--wide {
  font-size: clamp(2.2rem, 5vw, 3.6rem);
  line-height: 1.1;
  font-weight: 900;
  background: none;
  -webkit-text-fill-color: var(--text-strong);
  color: var(--text-strong);
}
.global-excerpt--wide { margin: 0 auto 1.5rem; max-width: 720px; font-size: 1.15rem; line-height: 1.65; }
.global-meta--wide {
  justify-content: center;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin: 0 auto;
  border-radius: 14px;
  background: var(--bg-secondary);
  font-size: 0.92rem;
}
.global-author-avatar--wide { width: 36px; height: 36px; font-size: 0.9rem; }
.global-main--wide { max-width: 860px; margin: 0 auto; }
.global-content--wide { line-height: 1.85; font-size: 1.08rem; }
.global-tags--wide {
  margin-top: 3rem;
  padding-top: 2rem;
  gap: 0.6rem;
  justify-content: center;
}
.global-tag-pill--wide { padding: 0.45rem 1rem; font-size: 0.88rem; }

/* --- TEMPLATE #3: LANDING PAGE --- */
.global-landing-hero {
  position: relative;
  padding: clamp(3rem, 8vw, 7rem) 1.5rem;
  text-align: center;
  background:
    radial-gradient(ellipse at top, rgba(124,92,255,0.18) 0%, transparent 55%),
    radial-gradient(ellipse at bottom, rgba(255,77,157,0.12) 0%, transparent 55%),
    var(--bg-primary);
  border-bottom: 1px solid var(--border-default);
}
.global-landing-hero-inner { max-width: 960px; margin: 0 auto; }
.global-landing-badge {
  display: inline-block;
  padding: 0.4rem 1rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(124,92,255,0.18), rgba(255,77,157,0.18));
  color: #c4b5fd;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  border: 1px solid rgba(124,92,255,0.35);
}
.global-landing-title {
  font-size: clamp(2.4rem, 6vw, 4.4rem);
  margin: 0 0 1.25rem;
  line-height: 1.05;
  font-family: var(--font-display);
  font-weight: 900;
  background: linear-gradient(135deg, #ffffff 0%, #c4b5fd 40%, #f9a8d4 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.global-landing-lead {
  color: var(--text-muted);
  font-size: clamp(1rem, 1.8vw, 1.25rem);
  line-height: 1.65;
  margin: 0 auto 2.25rem;
  max-width: 720px;
}
.global-landing-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  justify-content: center;
  margin-bottom: 2rem;
}
.global-landing-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.9rem 1.75rem;
  border-radius: 14px;
  font-weight: 700;
  text-decoration: none;
  font-size: 1rem;
  transition: all 0.2s ease;
}
.global-landing-cta--primary {
  background: linear-gradient(135deg, #7c5cff, #ff4d9d);
  color: #fff;
  box-shadow: 0 10px 30px -8px rgba(124,92,255,0.55);
}
.global-landing-cta--primary:hover { transform: translateY(-2px); box-shadow: 0 14px 36px -10px rgba(124,92,255,0.65); }
.global-landing-cta--outline {
  background: transparent;
  color: #fff;
  font-weight: 600;
  border: 1.5px solid rgba(255,255,255,0.22);
}
.global-landing-cta--outline:hover {
  border-color: rgba(196,181,253,0.6);
  background: rgba(124,92,255,0.08);
}
.global-landing-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  font-size: 0.9rem;
}
.global-author-avatar--landing { width: 30px; height: 30px; font-size: 0.8rem; }
.global-landing-featured {
  max-width: 1200px;
  margin: 3rem auto 0;
  padding: 0 1rem;
}
.global-landing-featured-inner {
  width: 100%;
  height: clamp(260px, 42vw, 520px);
  border-radius: 24px;
  background-size: cover;
  background-position: center;
  box-shadow: 0 30px 80px -20px rgba(124,92,255,0.4);
  border: 1px solid rgba(255,255,255,0.08);
}
.global-landing-content {
  max-width: 860px;
  margin: 0 auto;
  padding: clamp(2.5rem, 5vw, 5rem) 1.25rem;
}
.global-content--landing { line-height: 1.9; font-size: 1.1rem; }
.global-landing-bottom-cta {
  margin-top: 4rem;
  padding: 2.5rem;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(124,92,255,0.12), rgba(255,77,157,0.12));
  border: 1px solid rgba(124,92,255,0.25);
  text-align: center;
}
.global-landing-bottom-cta h3 {
  margin: 0 0 0.5rem;
  font-size: 1.6rem;
  font-family: var(--font-display);
  color: var(--text-strong);
}
.global-landing-bottom-cta p {
  color: var(--text-muted);
  margin: 0 0 1.5rem;
}
.global-landing-bottom-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}
.global-landing-bottom-btn {
  padding: 0.75rem 1.5rem;
  border-radius: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.18s ease;
}
.global-landing-bottom-btn--primary {
  background: linear-gradient(135deg, #7c5cff, #ff4d9d);
  color: #fff;
}
.global-landing-bottom-btn--primary:hover { transform: translateY(-1px); }
.global-landing-bottom-btn--outline {
  border: 1px solid var(--border-default);
  color: var(--text);
}

/* --- TEMPLATE #4: BLOG STYLE --- */
.global-blog-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 2.5rem;
  align-items: flex-start;
}
.global-blog-card {
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  border-radius: 18px;
  padding: 2rem;
  box-shadow: 0 4px 24px -8px rgba(0,0,0,0.2);
}
.global-blog-thumb {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 14px;
  background-size: cover;
  background-position: center;
  margin-bottom: 1.75rem;
  box-shadow: 0 8px 30px -12px rgba(0,0,0,0.35);
  transition: transform 0.3s ease;
}
.global-blog-thumb:hover { transform: translateY(-2px); }
.global-blog-meta-top {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin-bottom: 0.85rem;
}
.global-blog-cat-chip {
  display: inline-block;
  padding: 0.28rem 0.7rem;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(124,92,255,0.18), rgba(255,77,157,0.12));
  color: #c4b5fd;
  font-size: 0.76rem;
  font-weight: 700;
  border: 1px solid rgba(124,92,255,0.3);
}
.global-blog-title {
  font-size: clamp(1.7rem, 3.2vw, 2.4rem);
  margin: 0 0 1rem;
  line-height: 1.2;
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--text-strong);
}
.global-blog-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
  color: var(--text-muted);
  font-size: 0.88rem;
  padding-bottom: 1.25rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--border-default);
}
.global-blog-byline-author { display: flex; align-items: center; gap: 0.5rem; }
.global-blog-byline-avatar {
  width: 28px; height: 28px; border-radius: 50%;
  background: linear-gradient(135deg, #7c5cff, #ff4d9d);
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 700; color: #fff; font-size: 0.78rem;
  background-size: cover; background-position: center;
  border: 2px solid rgba(255,255,255,0.08);
}
.global-blog-byline-name { color: var(--text-strong); font-weight: 600; }
.global-blog-byline-sep { color: var(--border-default); }
.global-blog-content { line-height: 1.75; }
.global-blog-tags {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border-default);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.global-blog-tags-label { color: var(--text-muted); font-weight: 600; align-self: center; font-size: 0.88rem; margin-right: 0.25rem; }
.global-blog-tag-pill {
  padding: 0.3rem 0.75rem; border-radius: 999px;
  background: var(--bg-secondary); border: 1px solid var(--border-default);
  color: var(--text); font-size: 0.8rem;
}
.global-blog-author-card {
  margin-top: 2.5rem;
  padding: 1.5rem;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(124,92,255,0.08), rgba(255,77,157,0.08));
  border: 1px solid var(--border-default);
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  flex-wrap: wrap;
}
.global-blog-author-avatar {
  width: 56px; height: 56px; border-radius: 16px;
  background: linear-gradient(135deg, #7c5cff, #ff4d9d);
  flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center;
  font-weight: 800; color: #fff; font-size: 1.15rem;
  background-size: cover; background-position: center;
  border: 2px solid rgba(255,255,255,0.08);
}
.global-blog-author-info { flex: 1; min-width: 200px; }
.global-blog-author-info h4 { margin: 0 0 0.25rem; font-size: 1.05rem; color: var(--text-strong); }
.global-blog-author-role { color: var(--text-muted); font-size: 0.82rem; margin-bottom: 0.5rem; }
.global-blog-author-bio { color: var(--text-muted); font-size: 0.9rem; margin: 0; line-height: 1.55; }
.global-blog-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  position: sticky;
  top: 88px;
}

/* --- TEMPLATE #5: MINIMAL --- */
.global-minimal-header { margin-bottom: 2.5rem; }
.global-minimal-cat {
  color: #7c5cff;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.global-minimal-title {
  font-size: clamp(2rem, 4.4vw, 3rem);
  margin: 0 0 1.25rem;
  line-height: 1.15;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--text-strong);
}
.global-minimal-subtitle {
  color: var(--text-muted);
  font-size: 1.1rem;
  line-height: 1.65;
  margin: 0 0 1.5rem;
  font-style: italic;
}
.global-minimal-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  color: var(--text-muted);
  font-size: 0.88rem;
  padding: 1rem 0;
  border-top: 1px solid var(--border-default);
  border-bottom: 1px solid var(--border-default);
}
.global-minimal-author { color: var(--text-strong); font-weight: 600; }
.global-minimal-byline-dash { color: var(--border-default); }
.global-minimal-figure { margin: 0 0 2.5rem; }
.global-minimal-figure img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  display: block;
  box-shadow: 0 6px 24px -10px rgba(0,0,0,0.4);
}
.global-minimal-figure figcaption {
  text-align: center;
  color: var(--text-muted);
  font-size: 0.82rem;
  margin-top: 0.75rem;
  font-style: italic;
}
.global-content--minimal {
  line-height: 1.9;
  font-size: 1.06rem;
  font-family: Georgia, 'Times New Roman', serif;
}
.global-minimal-footer {
  margin-top: 3.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--border-default);
}
.global-minimal-tags { margin-bottom: 1.5rem; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.global-minimal-tag { color: var(--text-muted); font-size: 0.86rem; }
.global-minimal-signoff {
  display: flex;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
  padding: 1.25rem;
  border-radius: 12px;
  background: var(--bg-secondary);
}
.global-minimal-avatar {
  width: 44px; height: 44px; border-radius: 50%;
  background: linear-gradient(135deg, #7c5cff, #ff4d9d);
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 700; color: #fff; font-size: 0.95rem;
  background-size: cover; background-position: center;
  border: 2px solid rgba(255,255,255,0.08);
}
.global-minimal-signoff-label { color: var(--text-strong); font-weight: 600; }
.global-minimal-signoff-date { color: var(--text-muted); font-size: 0.85rem; }

/* --- Responsive Global Post templates --- */
@media (max-width: 1180px) {
  .global-grid.global-with-sidebar,
  .global-blog-grid { grid-template-columns: 1fr; }
  .global-blog-sidebar { position: static; }
}
@media (max-width: 768px) {
  .global-wrap.global-layout { padding: 1rem 0.75rem; }
  .global-blog-card { padding: 1.25rem; border-radius: 14px; }
  .global-default .global-hero-image { height: 240px; }
  .global-wide .global-hero-image--wide { height: 280px; }
  .global-landing-bottom-cta { padding: 1.5rem; }
  .global-blog-author-card { padding: 1rem; }
  .global-blog-author-avatar { width: 48px; height: 48px; font-size: 1rem; }
}
@media (max-width: 520px) {
  .global-landing-cta { width: 100%; justify-content: center; }
  .global-landing-bottom-btn { width: 100%; justify-content: center; text-align: center; }
}

/* ============================================================
   # TEMPLATE LANDING POSTS â€” KHUSUS NATIVE POST (post_type=post)
   Prefix class : post-landing-*
   Source HTML  : jhi-content/themes/landing-posts.html
   Engine       : post.js _loadLandingPostTemplateString()
   ============================================================ */

/* ---- Wrapper global + body class flags ---- */
body.post-template-landing {
  --pl-grad-start: #7c5cff;
  --pl-grad-mid: #5b44ff;
  --pl-grad-end: #ff4d9d;
  --pl-hero-min: 520px;
}
body.post-template-landing .main-content-inner,
body.post-template-landing #post-main-grid {
  grid-template-columns: minmax(0,1fr) !important;
  max-width: 100% !important;
  gap: 0 !important;
  padding: 0 !important;
}
body.post-template-landing .home-sidebar-col,
body.post-template-landing .post-sidebar-col {
  display: none !important;
}
body.post-template-landing .single-post-wrap {
  gap: 0;
  padding: 0;
  max-width: 100%;
}
body.post-template-landing #post-hero,
body.post-template-landing #post-acf,
body.post-template-landing #post-footer-author,
body.post-template-landing #post-footer-subscribe,
body.post-template-landing #related-posts {
  display: none;
}
body.post-template-landing #post-body {
  padding: 0 !important;
  margin: 0 !important;
}
body.post-template-landing .post-body--landing-wrap {
  padding: 0;
  margin: 0;
}

/* ---- Skeleton loading (saat fetch template async) ---- */
.post-landing-skeleton {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 1.25rem;
}
.pl-sk-hero {
  min-height: var(--pl-hero-min);
  background: linear-gradient(135deg, rgba(124,92,255,0.18), rgba(255,77,157,0.14));
  border-radius: 18px;
  margin: 1.5rem 0 2rem;
  animation: pl-sk-pulse 1.8s ease-in-out infinite;
}
.pl-sk-body {
  min-height: 480px;
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
  border-radius: 14px;
  animation: pl-sk-pulse 1.8s ease-in-out infinite 0.3s;
}
@keyframes pl-sk-pulse {
  0%,100% { opacity: 0.55; }
  50% { opacity: 0.85; }
}

/* ---- Wrap luar template landing ---- */
.post-landing-wrap {
  width: 100%;
  color: var(--text, #f5f5f7);
}

/* ==================================================
   [1] HERO JUMBO SECTION
   ================================================== */
.post-landing-hero {
  position: relative;
  overflow: hidden;
  min-height: clamp(440px, 56vw, 620px);
  display: flex;
  align-items: center;
  padding: clamp(3.5rem, 7vw, 6rem) clamp(1rem, 4vw, 3.5rem);
  background:
    radial-gradient(1200px 600px at 85% 10%, rgba(255,77,157,0.18), transparent 60%),
    radial-gradient(900px 520px at 10% 90%, rgba(124,92,255,0.22), transparent 62%),
    linear-gradient(135deg, #1a1140 0%, #2a145c 48%, #3d135a 100%);
  border-bottom: 1px solid rgba(124,92,255,0.18);
}
.post-landing-hero-veil {
  position: absolute; inset: 0;
  pointer-events: none;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.25'/%3E%3C/svg%3E") top left/cover;
  mix-blend-mode: soft-light;
  opacity: 0.35;
}
.post-landing-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
}
.post-landing-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(124,92,255,0.22), rgba(255,77,157,0.18));
  border: 1px solid rgba(124,92,255,0.38);
  color: #e8dfff;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.04), 0 8px 28px -12px rgba(124,92,255,0.6);
}
.post-landing-title {
  margin: 0.25rem 0 0;
  font-family: var(--font-display, -apple-system, sans-serif);
  font-weight: 800;
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 1.08;
  letter-spacing: -0.015em;
  color: #fff;
  max-width: 960px;
  text-shadow: 0 6px 36px rgba(0,0,0,0.25);
}
.post-landing-lead {
  margin: 0;
  max-width: 760px;
  font-size: clamp(0.98rem, 1.4vw, 1.18rem);
  line-height: 1.6;
  color: rgba(245,243,255,0.8);
}

/* ---- CTA Row ---- */
.post-landing-cta-row {
  margin-top: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  align-items: center;
}
.post-landing-cta {
  all: unset;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.8rem 1.5rem;
  border-radius: 12px;
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(.2,.8,.2,1);
  color: #fff;
  text-decoration: none;
}
.post-landing-cta:focus-visible {
  outline: 2px solid rgba(255,77,157,0.65);
  outline-offset: 3px;
}
.post-landing-cta--primary {
  background: linear-gradient(135deg, var(--pl-grad-start), var(--pl-grad-end));
  box-shadow: 0 10px 30px -12px rgba(255,77,157,0.6), 0 6px 18px -12px rgba(124,92,255,0.5);
  border: 1px solid rgba(255,255,255,0.12);
}
.post-landing-cta--primary:hover {
  transform: translateY(-1.5px);
  box-shadow: 0 16px 40px -12px rgba(255,77,157,0.7), 0 10px 26px -14px rgba(124,92,255,0.6);
}
.post-landing-cta--outline {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.22);
  color: #fff;
  backdrop-filter: blur(8px);
}
.post-landing-cta--outline:hover {
  transform: translateY(-1.5px);
  border-color: rgba(124,92,255,0.6);
  background: rgba(124,92,255,0.12);
}
.post-landing-cta.is-copied {
  background: linear-gradient(135deg, #16a34a, #22c55e);
  border-color: rgba(34,197,94,0.35);
  color: #fff;
}
.post-landing-cta-ic { width: 18px; height: 18px; display: block; }

/* ---- Meta bar (Author Â· Date Â· Read) ---- */
.post-landing-meta {
  margin-top: 1.25rem;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 1rem;
  border-radius: 999px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.08);
  backdrop-filter: blur(6px);
  color: rgba(245,243,255,0.88);
  font-size: 0.86rem;
}
.post-landing-meta-author {
  display: inline-flex; align-items: center; gap: 0.5rem;
}
.post-landing-author-avatar {
  width: 28px; height: 28px; border-radius: 50%;
  background: linear-gradient(135deg, var(--pl-grad-start), var(--pl-grad-end));
  color: #fff; font-weight: 700; font-size: 0.72rem;
  display: inline-flex; align-items: center; justify-content: center;
  border: 2px solid rgba(255,255,255,0.14);
  background-size: cover; background-position: center;
  flex-shrink: 0;
}
.post-landing-author-name { font-weight: 600; color: #fff; }
.post-landing-meta-sep { color: rgba(255,255,255,0.25); }
.post-landing-meta-date,
.post-landing-meta-readtime {
  display: inline-flex; align-items: center; gap: 0.3rem;
}
.post-landing-meta-icon { width: 14px; height: 14px; opacity: 0.8; }

/* ---- Featured image overlay layer (parallax feel) ---- */
.post-landing-featured {
  position: absolute; inset: 0;
  z-index: 0;
  pointer-events: none;
}
.post-landing-featured-inner {
  position: absolute; inset: -8% -6%;
  background-size: cover;
  background-position: center;
  filter: saturate(1.05) contrast(1.05) blur(0.3px);
  opacity: 0.28;
  mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
}

/* ==================================================
   [2] CONTENT BODY SECTION
   ================================================== */
.post-landing-content-section {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
  padding: clamp(2rem, 5vw, 3.75rem) clamp(1rem, 3vw, 1.5rem) clamp(2rem, 4vw, 3rem);
  position: relative;
  z-index: 1;
}
.post-landing-breadcrumb {
  margin-bottom: 1.5rem;
  color: var(--text-muted);
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}
.post-landing-breadcrumb a {
  color: rgba(124,92,255,0.95);
  text-decoration: none;
  transition: color 0.15s;
}
.post-landing-breadcrumb a:hover { color: var(--pl-grad-end); }
.post-landing-bc-sep { color: var(--border-default); }
.post-landing-bc-current { color: var(--text-strong); font-weight: 500; }

/* Content extend post-prose agar max-width 100% (ikuti parent content-section) */
.post-landing-wrap .post-landing-content.post-prose {
  max-width: 100%;
  padding: 0;
}

/* ---- Tags bar ---- */
.post-landing-tags {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border-default);
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  flex-wrap: wrap;
}
.post-landing-tags-label {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding-top: 0.3rem;
}
.post-landing-tags-list {
  display: flex; flex-wrap: wrap; gap: 0.4rem;
}
.post-landing-tag {
  all: unset;
  box-sizing: border-box;
  display: inline-flex;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  background: rgba(124,92,255,0.08);
  border: 1px solid rgba(124,92,255,0.22);
  color: #cdbfff;
  font-size: 0.82rem;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.16s cubic-bezier(.2,.8,.2,1);
}
.post-landing-tag:hover {
  transform: translateY(-0.5px);
  background: linear-gradient(135deg, rgba(124,92,255,0.16), rgba(255,77,157,0.14));
  border-color: rgba(255,77,157,0.45);
  color: #fff;
  box-shadow: 0 6px 18px -10px rgba(255,77,157,0.5);
}
.post-landing-tag:focus-visible {
  outline: 2px solid rgba(124,92,255,0.6);
  outline-offset: 2px;
}

/* ==================================================
   [3] BOTTOM CTA BANNER
   ================================================== */
.post-landing-cta-bottom {
  max-width: 920px;
  margin: 0 auto 3.5rem;
  padding: 0 clamp(1rem, 3vw, 1.5rem);
}
.post-landing-cta-bottom-inner {
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border-radius: 18px;
  background:
    radial-gradient(600px 240px at 100% 0%, rgba(255,77,157,0.22), transparent 60%),
    radial-gradient(500px 220px at 0% 100%, rgba(124,92,255,0.26), transparent 60%),
    linear-gradient(135deg, #1c1246, #2f175a 60%, #381650);
  border: 1px solid rgba(124,92,255,0.26);
  box-shadow: 0 18px 50px -22px rgba(124,92,255,0.55);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}
.post-landing-cta-bottom-title {
  margin: 0;
  font-size: clamp(1.3rem, 2.2vw, 1.75rem);
  font-weight: 800;
  font-family: var(--font-display, -apple-system, sans-serif);
  color: #fff;
  letter-spacing: -0.01em;
}
.post-landing-cta-bottom-sub {
  margin: 0;
  max-width: 520px;
  color: rgba(245,243,255,0.78);
  font-size: 0.96rem;
  line-height: 1.6;
}
.post-landing-cta-bottom-row {
  margin-top: 0.5rem;
  display: flex;
  gap: 0.7rem;
  flex-wrap: wrap;
  justify-content: center;
}
.post-landing-bottom-btn {
  all: unset;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.35rem;
  border-radius: 11px;
  font-weight: 700;
  font-size: 0.92rem;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.18s cubic-bezier(.2,.8,.2,1);
  color: #fff;
}
.post-landing-bottom-btn:focus-visible {
  outline: 2px solid rgba(255,77,157,0.6);
  outline-offset: 3px;
}
.post-landing-bottom-btn--primary {
  background: linear-gradient(135deg, var(--pl-grad-start), var(--pl-grad-end));
  box-shadow: 0 10px 26px -12px rgba(255,77,157,0.6);
  border: 1px solid rgba(255,255,255,0.1);
}
.post-landing-bottom-btn--primary:hover {
  transform: translateY(-1.5px);
  box-shadow: 0 16px 38px -12px rgba(255,77,157,0.72);
}
.post-landing-bottom-btn--outline {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.22);
  backdrop-filter: blur(6px);
}
.post-landing-bottom-btn--outline:hover {
  transform: translateY(-1.5px);
  border-color: rgba(124,92,255,0.55);
  background: rgba(124,92,255,0.1);
}

/* ==================================================
   RESPONSIVE BREAKPOINTS POST-LANDING
   ================================================== */
@media (max-width: 980px) {
  .post-landing-hero { padding: clamp(2.5rem, 8vw, 4rem) 1.1rem; }
  .post-landing-meta { width: 100%; border-radius: 14px; }
  .post-landing-content-section { padding-top: 2rem; }
}
@media (max-width: 640px) {
  .post-landing-cta { width: 100%; }
  .post-landing-bottom-btn { width: 100%; }
  .post-landing-tags { gap: 0.65rem; }
  .post-landing-tags-label { width: 100%; padding-top: 0; }
  .post-landing-cta-bottom { margin-bottom: 2rem; }
}
@media (max-width: 420px) {
  .post-landing-badge { font-size: 0.72rem; padding: 0.32rem 0.75rem; }
  .post-landing-cta-bottom-inner { padding: 1.35rem 1.1rem; border-radius: 15px; }
}

/* ============================================================ */
/* === BLOG POST TEMPLATE (Template: ðŸ“° Blog List Style) === */
/* ============================================================ */
body.post-template-blog,
body.post-using-blog-template { --pb-grad-start:#7c5cff; --pb-grad-mid:#5b44ff; --pb-grad-end:#ff4d9d; }

/* ---- Sembunyikan semua slot luar yang TIDAK digunakan oleh blog template ----
   (blog template punya hero, content, sidebar, related posts SENDIRI di dalam #post-body) */
body.post-template-blog #post-hero,
body.post-template-blog #post-hero > .post-hero,
body.post-template-blog #author-card,
body.post-template-blog #toc-card,
body.post-template-blog #newsletter-sidebar-card,
body.post-template-blog #cta-card,
body.post-template-blog #pages-recent-cards,
body.post-template-blog #post-acf,
body.post-template-blog #post-footer-author,
body.post-template-blog #post-footer-subscribe,
body.post-template-blog #related-posts,
body.post-template-blog #app-breadcrumb,
body.post-using-blog-template #post-hero,
body.post-using-blog-template #post-hero > .post-hero,
body.post-using-blog-template #author-card,
body.post-using-blog-template #toc-card,
body.post-using-blog-template #newsletter-sidebar-card,
body.post-using-blog-template #cta-card,
body.post-using-blog-template #pages-recent-cards,
body.post-using-blog-template #post-acf,
body.post-using-blog-template #post-footer-author,
body.post-using-blog-template #post-footer-subscribe,
body.post-using-blog-template #related-posts,
body.post-using-blog-template #app-breadcrumb { display: none !important; }

/* ============================================================
   BLOG TEMPLATE LAYOUT â€” 2 OPSI:
   ------------------------------------------------------------
   OPSI 1 (DEFAULT): Tampilkan LEFT HOME SIDEBAR + BLOG CONTENT
   (Layout: [HOME NAV | CONTENT 2-KOL (main + blog-right-sidebar])
   Ini agar user tetap bisa navigasi sambil baca artikel.
   ------------------------------------------------------------
   OPSI 2 (edge-to-edge): Sembunyikan HOME SIDEBAR juga & fullwidth
   aktifkan baris opsi 2 dan comment-out opsi 1.
   ============================================================ */

/* ---------- OPSI 1: TIDAK sembunyikan .home-sidebar â€” tetap tampil rapi ---------- */
/* Grid: 2 kolom = [home-sidebar | post-main-three-col]  (hilangkan kolom ke-3 aside.post-sidebar YANG KOSONG) */
html.post-template-blog .post-layout.post-layout-with-sidebar-left,
body.post-template-blog .post-layout.post-layout-with-sidebar-left,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) !important;
  gap: 1.25rem 1.5rem !important;
}
/* Sembunyikan kolom ke-3 = outer aside.post-sidebar (KOSONG, hanya makan space) */
html.post-template-blog .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
html.post-template-blog .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
html.post-template-blog .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar,
body.post-template-blog .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.post-template-blog .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.post-template-blog .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar {
  display: none !important;
}
/* Pastikan post-main-three-col & post-content-wrap full kolom 2, tidak menyisakan space */
html.post-template-blog .post-layout.post-layout-with-sidebar-left > .post-main-three-col,
body.post-template-blog .post-layout.post-layout-with-sidebar-left > .post-main-three-col,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left > .post-main-three-col {
  grid-column: 2;
  min-width: 0;
  display: block;
}
html.post-template-blog .post-layout.post-layout-with-sidebar-left > .post-content-wrap,
body.post-template-blog .post-layout.post-layout-with-sidebar-left > .post-content-wrap,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left > .post-content-wrap {
  grid-column: 2;
  min-width: 0;
  width: 100%;
}

/* ---------- OPSI 2 (Fullwidth edge-to-edge): Hilangkan comment untuk hide home-sidebar juga ---------- */
/*
html.post-template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar,
body.post-template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left > .home-sidebar { display: none !important; }
html.post-template-blog .post-layout.post-layout-with-sidebar-left,
body.post-template-blog .post-layout.post-layout-with-sidebar-left,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: minmax(0, 1fr) !important;
}
*/

/* ---------- Tablet: collapse outer right sidebar ke bawah (tapi karena hidden tidak efek) ---------- */
@media (max-width: 1180px) {
  html.post-template-blog .post-layout.post-layout-with-sidebar-left,
  body.post-template-blog .post-layout.post-layout-with-sidebar-left,
  body.post-using-blog-template .post-layout.post-layout-with-sidebar-left {
    grid-template-columns: minmax(0, auto) minmax(0, 1fr) !important;
  }
}
/* ---------- Mobile: home-sidebar + post-main-three-col stack ---------- */
@media (max-width: 980px) {
  html.post-template-blog .post-layout.post-layout-with-sidebar-left,
  body.post-template-blog .post-layout.post-layout-with-sidebar-left,
  body.post-using-blog-template .post-layout.post-layout-with-sidebar-left {
    grid-template-columns: 1fr !important;
  }
  html.post-template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar,
  html.post-template-blog .post-layout.post-layout-with-sidebar-left > .post-main-three-col,
  html.post-template-blog .post-layout.post-layout-with-sidebar-left > .post-content-wrap,
  body.post-template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar,
  body.post-template-blog .post-layout.post-layout-with-sidebar-left > .post-main-three-col,
  body.post-template-blog .post-layout.post-layout-with-sidebar-left > .post-content-wrap,
  body.post-using-blog-template .post-layout.post-layout-with-sidebar-left > .home-sidebar,
  body.post-using-blog-template .post-layout.post-layout-with-sidebar-left > .post-main-three-col,
  body.post-using-blog-template .post-layout.post-layout-with-sidebar-left > .post-content-wrap {
    grid-column: 1 / -1 !important;
  }
}

/* ---------- post-layout max-width & post-body bersih tanpa padding/margin default karena blog template ---------- */
html.post-template-blog .post-layout.post-layout-with-sidebar-left,
body.post-template-blog .post-layout,
body.post-using-blog-template .post-layout {
  padding: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
}
body.post-template-blog .main-content-inner,
body.post-template-blog .main-col,
body.post-using-blog-template .main-content-inner,
body.post-using-blog-template .main-col {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.post-template-blog #post-body,
body.post-using-blog-template #post-body,
body.post-template-blog #post-body.post-body--blog-wrap,
body.post-using-blog-template #post-body.post-body--blog-wrap,
html.post-template-blog #post-body,
html.post-template-blog #post-body.post-body--blog-wrap {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-top: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  position: static !important;
  isolation: auto !important;
}
/* Hilangkan juga ::before gradient overlay dari .home-card di #post-body */
body.post-template-blog #post-body::before,
body.post-using-blog-template #post-body::before,
html.post-template-blog #post-body::before {
  display: none !important;
  content: none !important;
}

/* ============================================================
   ðŸ  HOME SIDEBAR (LEFT NAV) â€” RAPI & TERINTEGRASI DENGAN BLOG TEMPLATE
   ============================================================
   Default 3-kol layout punya: margin-top:-58px (untuk align dengan hero default).
   Di blog template: hero ADA DI DALAM #post-body, jadi sidebar TIDAK perlu
   margin negatif. Reset agar posisi sidebar rapi sejajar konten blog. */
html.post-template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar,
body.post-template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left > .home-sidebar {
  margin-top: 0 !important;
  scroll-margin-top: 68px !important;
  top: 68px !important;
  max-height: calc(100vh - 68px - 0.5rem) !important;
}
/* Hilangkan override left-padding 0 & right-padding clamp dari container default 3-kol,
   agar blog template punya ruang kanan-kiri konsisten. */
html.post-template-blog .container.post-layout.post-layout-with-sidebar-left,
body.post-template-blog .container.post-layout.post-layout-with-sidebar-left,
body.post-using-blog-template .container.post-layout.post-layout-with-sidebar-left {
  padding-left: clamp(0.75rem, 2vw, 2rem) !important;
  padding-right: clamp(0.75rem, 2vw, 2rem) !important;
}
/* Section wrap di luar post-layout: padding section disesuaikan agar tidak tabrakan */
html.post-template-blog section.section-wrap,
body.post-template-blog section.section-wrap,
body.post-using-blog-template section.section-wrap {
  padding-top: 0.5rem !important;
  padding-bottom: 0 !important;
}

/* ---------- Pastikan post-blog-wrap tidak ada gangguan layout ---------- */
.post-blog-wrap {
  position: relative;
  z-index: 1;
}

/* ---- Skeleton loading (saat fetch template blog async) ---- */
.post-blog-skeleton {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(1rem, 2vw, 1.75rem);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.pb-sk-hero {
  min-height: 520px;
  background: linear-gradient(135deg, rgba(124,92,255,0.1), rgba(255,77,157,0.08), rgba(124,92,255,0.05));
  border-radius: 18px;
  border: 1px solid rgba(196,181,253,0.1);
  animation: pulseGrad 1.8s ease-in-out infinite;
}
.pb-sk-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) 300px;
  gap: 2rem;
}
.pb-sk-main {
  min-height: 900px;
  background: linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.01));
  border-radius: 16px;
  border: 1px solid var(--border-soft, rgba(196,181,253,0.12));
  animation: pulseGrad 2.1s ease-in-out infinite 0.1s;
}
.pb-sk-side {
  min-height: 540px;
  background: linear-gradient(180deg, rgba(124,92,255,0.06), rgba(255,77,157,0.04));
  border-radius: 16px;
  border: 1px solid var(--border-soft, rgba(196,181,253,0.12));
  animation: pulseGrad 2.4s ease-in-out infinite 0.2s;
}

/* ---- Wrap luar template blog ---- */
.post-blog-wrap {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  color: var(--text, #e7e4ff);
}

/* ---- [1] HERO CARD ---- */
.post-blog-hero { width: 100%; margin-bottom: 2rem; }
.post-blog-hero-card {
  background: var(--bg-card, rgba(20,18,40,0.6));
  border: 1px solid var(--border-soft, rgba(196,181,253,0.14));
  border-radius: 22px;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  box-shadow: 0 16px 50px -20px rgba(124,92,255,0.25);
  backdrop-filter: blur(8px);
}

/* Breadcrumb */
.post-blog-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  color: var(--text-muted, #9da4b9);
  font-size: 0.85rem;
  margin-bottom: 1.5rem;
}
.post-blog-breadcrumb a {
  color: var(--text-muted, #9da4b9);
  text-decoration: none;
  transition: color 0.2s;
}
.post-blog-breadcrumb a:hover { color: #c4b5fd; }
.post-blog-bc-sep { color: var(--border-soft, rgba(196,181,253,0.3)); opacity: 0.7; }
.post-blog-bc-current { color: var(--text-strong, #fff); font-weight: 600; }

/* Featured Image */
.post-blog-featured { margin: 0 0 1.75rem; padding: 0; }
.post-blog-featured-inner {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 18px;
  background-size: cover;
  background-position: center;
  box-shadow: 0 14px 44px -14px rgba(124,92,255,0.3);
  border: 1px solid var(--border-soft, rgba(196,181,253,0.12));
}

/* Category chips */
.post-blog-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.post-blog-cat-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.9rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--pb-grad-start), var(--pb-grad-end));
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: 0 6px 18px -8px rgba(124,92,255,0.5);
}
.post-blog-cat-ic { width: 13px; height: 13px; }

/* Title */
.post-blog-title {
  font-size: clamp(1.9rem, 3.8vw, 2.9rem);
  margin: 0 0 0.85rem;
  line-height: 1.15;
  font-weight: 800;
  color: var(--text-strong, #fff);
  letter-spacing: -0.01em;
}

/* Excerpt */
.post-blog-excerpt {
  color: var(--text-muted, #9da4b9);
  font-size: 1.08rem;
  line-height: 1.65;
  margin: 0 0 1.25rem;
  max-width: 720px;
}

/* Meta byline */
.post-blog-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  align-items: center;
  color: var(--text-muted, #9da4b9);
  font-size: 0.9rem;
  padding: 1rem 0;
  border-top: 1px solid var(--border-soft, rgba(196,181,253,0.12));
  border-bottom: 1px solid var(--border-soft, rgba(196,181,253,0.12));
}
.post-blog-byline-author {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
.post-blog-author-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pb-grad-start), var(--pb-grad-end));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #fff;
  font-size: 0.92rem;
  background-size: cover;
  background-position: center;
  border: 2px solid rgba(255,255,255,0.1);
  flex-shrink: 0;
}
.post-blog-byline-author-meta { display: flex; flex-direction: column; line-height: 1.25; }
.post-blog-author-name { color: var(--text-strong, #fff); font-weight: 700; }
.post-blog-author-role { color: var(--text-muted, #9da4b9); font-size: 0.76rem; }
.post-blog-byline-sep {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--border-soft, rgba(196,181,253,0.3));
  display: inline-block;
}
.post-blog-byline-date,
.post-blog-byline-readtime,
.post-blog-byline-views {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.post-blog-byline-ic { width: 14px; height: 14px; opacity: 0.8; }

/* ---- [2] MAIN GRID 2-COL ---- */
.post-blog-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 2.25rem;
  align-items: flex-start;
}

/* ---- [2A] MAIN CONTENT ---- */
.post-blog-main { min-width: 0; }

/* Content inherit post-prose + extend full width */
.post-blog-content.post-prose {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 0 2.5rem;
}
.post-blog-toc-inline {
  margin: 0 0 2rem;
  padding: 1.25rem 1.5rem;
  background: var(--bg-soft, rgba(124,92,255,0.06));
  border: 1px solid var(--border-soft, rgba(196,181,253,0.12));
  border-radius: 14px;
}
.post-blog-toc-inline a,
.post-blog-toc-link {
  display: block;
  padding: 0.45rem 0.6rem;
  color: var(--text-muted, #9da4b9);
  text-decoration: none;
  font-size: 0.88rem;
  border-radius: 8px;
  transition: all 0.18s;
  line-height: 1.5;
}
.post-blog-toc-inline a:hover,
.post-blog-toc-link:hover {
  background: rgba(124,92,255,0.12);
  color: #c4b5fd;
  transform: translateX(2px);
}

/* Tags */
.post-blog-tags {
  margin-top: 2.5rem;
  padding-top: 1.75rem;
  border-top: 1px solid var(--border-soft, rgba(196,181,253,0.12));
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
}
.post-blog-tags-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--text-muted, #9da4b9);
  font-weight: 600;
  font-size: 0.9rem;
  margin-right: 0.25rem;
}
.post-blog-tags-ic { width: 15px; height: 15px; color: #ff4d9d; }
.post-blog-tags-list { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.post-blog-tag {
  padding: 0.4rem 1rem;
  border-radius: 999px;
  background: var(--bg-soft, rgba(255,255,255,0.03));
  border: 1px solid var(--border-soft, rgba(196,181,253,0.12));
  color: var(--text, #e7e4ff);
  font-size: 0.84rem;
  text-decoration: none;
  transition: all 0.2s;
}
.post-blog-tag:hover {
  border-color: rgba(124,92,255,0.5);
  color: #c4b5fd;
  background: rgba(124,92,255,0.08);
  transform: translateY(-1px);
}

/* Author Bio Box */
.post-blog-author-box {
  margin-top: 2.75rem;
  padding: 1.75rem;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(124,92,255,0.1), rgba(255,77,157,0.08));
  border: 1px solid rgba(124,92,255,0.25);
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 1.25rem;
  align-items: flex-start;
}
.post-blog-author-avatar-box {
  width: 80px;
  height: 80px;
  border-radius: 20px;
  background: linear-gradient(135deg, var(--pb-grad-start), var(--pb-grad-end));
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  color: #fff;
  font-size: 1.65rem;
  background-size: cover;
  background-position: center;
  box-shadow: 0 10px 30px -8px rgba(124,92,255,0.45);
}
.post-blog-author-details { min-width: 0; }
.post-blog-author-name-box {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
  color: var(--text-strong, #fff);
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
.post-blog-author-badge { display: inline-block; }
.post-blog-author-role-box {
  margin: 0 0 0.6rem;
  color: var(--text-muted, #9da4b9);
  font-size: 0.82rem;
}
.post-blog-author-bio {
  margin: 0 0 0.9rem;
  color: var(--text-muted, #9da4b9);
  font-size: 0.92rem;
  line-height: 1.6;
}
.post-blog-author-actions { display: flex; flex-wrap: wrap; gap: 0.55rem; }
.post-blog-author-btn {
  padding: 0.52rem 1.05rem;
  border-radius: 10px;
  font-size: 0.86rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s;
  display: inline-flex;
  align-items: center;
}
.post-blog-author-btn--primary {
  background: linear-gradient(135deg, var(--pb-grad-start), var(--pb-grad-end));
  color: #fff;
  border: 1px solid transparent;
  box-shadow: 0 6px 18px -8px rgba(124,92,255,0.5);
}
.post-blog-author-btn--primary:hover { transform: translateY(-1px); box-shadow: 0 10px 24px -10px rgba(124,92,255,0.6); }
.post-blog-author-btn--outline {
  background: transparent;
  color: var(--text-strong, #fff);
  border: 1px solid var(--border-soft, rgba(196,181,253,0.2));
}
.post-blog-author-btn--outline:hover { border-color: rgba(124,92,255,0.5); color: #c4b5fd; }

/* ---- [2B] RIGHT SIDEBAR ---- */
.post-blog-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  position: sticky;
  top: 88px;
}
.post-blog-side-card {
  background: var(--bg-card, rgba(20,18,40,0.6));
  border: 1px solid var(--border-soft, rgba(196,181,253,0.14));
  border-radius: 16px;
  padding: 1.25rem;
  backdrop-filter: blur(8px);
}
.post-blog-side-card-title {
  margin: 0 0 1rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--text-strong, #fff);
  display: flex;
  align-items: center;
  gap: 0.55rem;
}
.post-blog-side-card-ic { width: 18px; height: 18px; }
.post-blog-side-card--toc .post-blog-side-card-ic { color: #ff4d9d; }
.post-blog-side-card--newsletter .post-blog-side-card-ic { color: var(--pb-grad-start); }
.post-blog-side-card--share .post-blog-side-card-ic { color: #22d3ee; }

.post-blog-side-card-sub {
  margin: -0.35rem 0 1rem;
  color: var(--text-muted, #9da4b9);
  font-size: 0.86rem;
  line-height: 1.5;
}

/* TOC list (sidebar) */
.post-blog-toc-list { display: flex; flex-direction: column; gap: 2px; max-height: 380px; overflow-y: auto; }
.post-blog-toc-list::-webkit-scrollbar { width: 5px; }
.post-blog-toc-list::-webkit-scrollbar-thumb { background: rgba(124,92,255,0.3); border-radius: 999px; }

/* Newsletter form */
.post-blog-newsletter-form { display: flex; flex-direction: column; gap: 0.6rem; }
.post-blog-newsletter-input {
  width: 100%;
  padding: 0.72rem 0.95rem;
  border-radius: 11px;
  background: var(--bg-soft, rgba(255,255,255,0.03));
  border: 1px solid var(--border-soft, rgba(196,181,253,0.14));
  color: var(--text, #e7e4ff);
  font-size: 0.9rem;
  box-sizing: border-box;
  min-height: 40px;
  transition: all 0.2s;
}
.post-blog-newsletter-input:focus {
  outline: none;
  border-color: rgba(124,92,255,0.5);
  background: rgba(124,92,255,0.06);
}
.post-blog-newsletter-btn {
  width: 100%;
  padding: 0.75rem;
  border-radius: 11px;
  background: linear-gradient(135deg, var(--pb-grad-start), var(--pb-grad-end));
  color: #fff;
  font-weight: 700;
  font-size: 0.9rem;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  transition: all 0.2s;
  box-shadow: 0 6px 20px -8px rgba(124,92,255,0.55);
}
.post-blog-newsletter-btn:hover { transform: translateY(-1px); box-shadow: 0 10px 26px -10px rgba(124,92,255,0.65); }
.post-blog-newsletter-btn.is-copied { background: linear-gradient(135deg, #10b981, #059669); }
.post-blog-newsletter-btn-ic { width: 15px; height: 15px; }

/* Share card */
.post-blog-share-row { display: flex; flex-direction: column; gap: 0.55rem; }
.post-blog-share-btn {
  width: 100%;
  padding: 0.7rem;
  border-radius: 11px;
  background: var(--bg-soft, rgba(255,255,255,0.03));
  border: 1px solid var(--border-soft, rgba(196,181,253,0.14));
  color: var(--text, #e7e4ff);
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: all 0.2s;
}
.post-blog-share-btn:hover {
  border-color: rgba(34,211,238,0.5);
  background: rgba(34,211,238,0.08);
  color: #67e8f9;
  transform: translateY(-1px);
}
.post-blog-share-btn svg { width: 15px; height: 15px; }
.post-blog-share-btn.is-copied { background: rgba(16,185,129,0.15); border-color: rgba(16,185,129,0.4); color: #6ee7b7; }

/* ---- [3] RELATED POSTS SECTION ---- */
.post-blog-related { margin-top: 3.5rem; padding-top: 0.5rem; }
.post-blog-related-head { margin-bottom: 1.5rem; }
.post-blog-related-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.85rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(124,92,255,0.15), rgba(255,77,157,0.12));
  color: #c4b5fd;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  margin-bottom: 0.6rem;
}
.post-blog-related-title {
  margin: 0;
  font-size: clamp(1.4rem, 2.4vw, 1.85rem);
  font-weight: 800;
  color: var(--text-strong, #fff);
}
.post-blog-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1.25rem;
}
.post-blog-related-card {
  background: var(--bg-card, rgba(20,18,40,0.6));
  border: 1px solid var(--border-soft, rgba(196,181,253,0.14));
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  transition: all 0.28s;
  display: flex;
  flex-direction: column;
}
.post-blog-related-card:hover {
  transform: translateY(-3px);
  border-color: rgba(124,92,255,0.35);
  box-shadow: 0 16px 40px -18px rgba(124,92,255,0.4);
}
.post-blog-related-card-img {
  width: 100%;
  aspect-ratio: 16/9;
  background-size: cover;
  background-position: center;
  background: linear-gradient(135deg, rgba(124,92,255,0.18), rgba(255,77,157,0.12));
}
.post-blog-related-card-body { padding: 1rem 1.05rem 1.15rem; }
.post-blog-related-card-title {
  margin: 0 0 0.4rem;
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--text-strong, #fff);
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.post-blog-related-card-date {
  color: var(--text-muted, #9da4b9);
  font-size: 0.78rem;
}

/* ---- Responsive Breakpoints ---- */
@media (max-width: 1080px) {
  .post-blog-grid { grid-template-columns: minmax(0,1fr) 280px; gap: 1.75rem; }
  .post-blog-related-grid { gap: 1rem; }
}
@media (max-width: 980px) {
  .post-blog-grid { grid-template-columns: 1fr; }
  .post-blog-sidebar { position: static; }
  .post-blog-related-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pb-sk-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .post-blog-wrap { padding: 1rem 0.85rem; }
  .post-blog-hero-card { padding: 1.1rem; border-radius: 18px; }
  .post-blog-byline { padding: 0.85rem 0; gap: 0.55rem; }
  .post-blog-byline-date, .post-blog-byline-readtime, .post-blog-byline-views { font-size: 0.82rem; }
  .post-blog-byline-sep { display: none; }
  .post-blog-author-box { grid-template-columns: 1fr; gap: 1rem; }
  .post-blog-author-avatar-box { width: 64px; height: 64px; border-radius: 16px; font-size: 1.3rem; }
  .post-blog-tags-label { width: 100%; margin-right: 0; margin-bottom: 0.25rem; }
  .post-blog-related-grid { grid-template-columns: 1fr; }
  .post-blog-sidebar { gap: 1rem; }
  .post-blog-side-card { padding: 1rem; }
}
@media (max-width: 420px) {
  .post-blog-cat-chip { font-size: 0.72rem; padding: 0.32rem 0.7rem; }
  .post-blog-author-btn { width: 100%; justify-content: center; }
  .post-blog-related-badge { font-size: 0.72rem; padding: 0.3rem 0.75rem; }
  .post-blog-title { font-size: 1.7rem; }
}

/* ============================================================ */
/* === LANDING PAGE TEMPLATE (Native Pages â€” ðŸš€ Landing Page) === */
/* ============================================================ */
body.page-template-landing { --pl-grad-start:#7c5cff; --pl-grad-mid:#5b44ff; --pl-grad-end:#ff4d9d; }
html.page-template-landing .post-layout,
body.page-template-landing .main-content,
body.page-template-landing .main-content-inner,
body.page-template-landing .main-col,
body.page-template-landing #post-body,
body.page-template-landing #post-slot,
body.page-template-landing #post-wrap,
body.page-template-landing .home-sidebar-col,
body.page-template-landing .post-sidebar-col,
body.page-template-landing #app-breadcrumb { padding: 0 !important; margin: 0 !important; }
html.page-template-landing .post-layout,
body.page-template-landing .post-layout {
  grid-template-columns: 1fr !important;
  display: block !important;
  max-width: 100% !important;
}
body.page-template-landing .home-sidebar-col,
body.page-template-landing .post-sidebar-col { display: none !important; }

/* Skeleton Loading */
.page-landing-skeleton {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 0;
}
.pls-hero {
  min-height: 520px;
  background: linear-gradient(135deg, rgba(124,92,255,0.12), rgba(255,77,157,0.09), rgba(124,92,255,0.05));
  animation: pulseGrad 2s ease-in-out infinite;
}
.pls-media {
  max-width: 1280px;
  margin: -100px auto 0;
  padding: 0 1rem;
  width: 100%;
  box-sizing: border-box;
}
.pls-media::before {
  content: "";
  display: block;
  aspect-ratio: 16/9;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(124,92,255,0.15), rgba(255,77,157,0.1));
  border: 1px solid rgba(196,181,253,0.1);
  animation: pulseGrad 2.2s ease-in-out infinite 0.15s;
}
.pls-content {
  max-width: 920px;
  margin: 4rem auto;
  min-height: 600px;
  padding: 0 1.25rem;
}
.pls-content::before {
  content: "";
  display: block;
  width: 100%;
  min-height: 600px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.01));
  border: 1px solid var(--border-soft, rgba(196,181,253,0.1));
  animation: pulseGrad 2.5s ease-in-out infinite 0.25s;
}

/* Wrap luar */
.page-landing-wrap {
  width: 100%;
  overflow-x: hidden;
  color: var(--text, #e7e4ff);
}

/* ---- [1] HERO JUMBO ---- */
.page-landing-hero {
  position: relative;
  width: 100%;
  padding: clamp(3.5rem, 9vw, 8.5rem) 1.25rem 10rem;
  text-align: center;
  background:
    radial-gradient(circle at 18% 18%, rgba(124,92,255,0.28) 0%, transparent 42%),
    radial-gradient(circle at 82% 82%, rgba(255,77,157,0.24) 0%, transparent 42%),
    linear-gradient(180deg, var(--bg, #0b091a) 0%, #0d0b22 100%);
  border-bottom: 1px solid var(--border-soft, rgba(196,181,253,0.12));
  overflow: hidden;
}
.page-landing-hero-veil {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at top center, rgba(196,181,253,0.06) 0%, transparent 60%);
  pointer-events: none;
  z-index: 1;
}
.page-landing-hero-noise {
  position: absolute;
  inset: 0;
  opacity: 0.035;
  background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.6) 1px, transparent 0);
  background-size: 3px 3px;
  pointer-events: none;
  z-index: 2;
}
.page-landing-hero-inner {
  position: relative;
  z-index: 5;
  max-width: 1000px;
  margin: 0 auto;
}
.page-landing-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.38rem 1.05rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.04);
  color: #c4b5fd;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  border: 1px solid rgba(196,181,253,0.22);
  backdrop-filter: blur(6px);
}
.page-landing-badge-ic { width: 14px; height: 14px; color: #ff4d9d; }

.page-landing-title {
  font-size: clamp(2.6rem, 7vw, 4.8rem);
  margin: 0 0 1.25rem;
  line-height: 1.02;
  font-weight: 900;
  letter-spacing: -0.025em;
  background: linear-gradient(135deg, #ffffff 0%, #c4b5fd 40%, #f9a8d4 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.page-landing-lead {
  color: var(--text-muted, #9da4b9);
  font-size: clamp(1rem, 2vw, 1.3rem);
  line-height: 1.65;
  margin: 0 auto 2.5rem;
  max-width: 760px;
}

/* CTA Row */
.page-landing-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  justify-content: center;
  margin-bottom: 2rem;
}
.page-landing-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  border-radius: 16px;
  font-weight: 700;
  text-decoration: none;
  font-size: 1.02rem;
  transition: all 0.22s cubic-bezier(.2,.7,.2,1);
  cursor: pointer;
  border: none;
}
.page-landing-cta-ic { width: 18px; height: 18px; }
.page-landing-cta--primary {
  background: linear-gradient(135deg, var(--pl-grad-start), var(--pl-grad-mid), var(--pl-grad-end));
  color: #fff;
  box-shadow: 0 12px 36px -10px rgba(124,92,255,0.6);
}
.page-landing-cta--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 44px -10px rgba(124,92,255,0.7);
}
.page-landing-cta--outline {
  background: transparent;
  color: #fff;
  border: 1.5px solid rgba(255,255,255,0.2);
  backdrop-filter: blur(6px);
}
.page-landing-cta--outline:hover {
  border-color: rgba(196,181,253,0.6);
  background: rgba(124,92,255,0.08);
  transform: translateY(-1px);
}

/* Meta Bar */
.page-landing-meta {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.6rem 0.9rem;
  align-items: center;
  justify-content: center;
  color: var(--text-muted, #9da4b9);
  font-size: 0.88rem;
  padding: 0.85rem 1.1rem;
  border-radius: 14px;
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--border-soft, rgba(196,181,253,0.12));
  backdrop-filter: blur(6px);
}
.page-landing-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}
.page-landing-meta-item strong { color: var(--text-strong, #fff); font-weight: 700; }
.page-landing-meta-ic { width: 15px; height: 15px; opacity: 0.85; }
.page-landing-meta-sep { color: var(--border-soft, rgba(196,181,253,0.35)); opacity: 0.8; }

/* Featured Hero Media Frame (16:9) */
.page-landing-hero-media {
  max-width: 1280px;
  margin: -110px auto 0;
  padding: 0 1.25rem;
  position: relative;
  z-index: 10;
}
.page-landing-featured-frame {
  position: relative;
  margin: 0;
  padding: 0;
}
.page-landing-featured-inner {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 28px;
  background-size: cover;
  background-position: center;
  box-shadow:
    0 40px 100px -24px rgba(124,92,255,0.45),
    0 0 0 1px rgba(255,255,255,0.08) inset;
  position: relative;
  z-index: 2;
}
.page-landing-featured-glow {
  position: absolute;
  inset: 12% 8% -12%;
  background: radial-gradient(ellipse at center, rgba(124,92,255,0.45) 0%, transparent 60%);
  filter: blur(40px);
  z-index: 1;
  pointer-events: none;
}

/* ---- [2] CONTENT BODY ---- */
.page-landing-content-section {
  max-width: 960px;
  margin: 0 auto;
  padding: clamp(2.5rem, 5vw, 5.5rem) 1.25rem;
}
.page-landing-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  color: var(--text-muted, #9da4b9);
  font-size: 0.88rem;
  margin-bottom: 2rem;
}
.page-landing-breadcrumb a {
  color: var(--text-muted, #9da4b9);
  text-decoration: none;
  transition: color 0.2s;
}
.page-landing-breadcrumb a:hover { color: #c4b5fd; }
.page-landing-bc-sep { color: var(--border-soft, rgba(196,181,253,0.3)); opacity: 0.7; }
.page-landing-bc-current { color: var(--text-strong, #fff); font-weight: 600; }

.page-landing-content.post-prose {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0;
}

/* ---- [3] BOTTOM CTA BANNER ---- */
.page-landing-cta-bottom {
  width: 100%;
  padding: clamp(2.5rem, 5vw, 5rem) 1.25rem clamp(3rem, 6vw, 6rem);
}
.page-landing-cta-bottom-inner {
  position: relative;
  max-width: 1120px;
  margin: 0 auto;
  padding: clamp(2rem, 4vw, 3rem) clamp(1.25rem, 3vw, 2.5rem);
  border-radius: 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 20%, rgba(124,92,255,0.28) 0%, transparent 50%),
    radial-gradient(circle at 88% 80%, rgba(255,77,157,0.26) 0%, transparent 50%),
    rgba(20,18,40,0.55);
  border: 1px solid rgba(124,92,255,0.28);
  text-align: center;
  backdrop-filter: blur(10px);
}
.page-landing-cta-bottom-glow {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(196,181,253,0.06) 0%, transparent 60%);
  pointer-events: none;
}
.page-landing-cta-bottom-title {
  position: relative;
  margin: 0 0 0.5rem;
  font-size: clamp(1.6rem, 3vw, 2.1rem);
  font-weight: 800;
  color: var(--text-strong, #fff);
  letter-spacing: -0.01em;
}
.page-landing-cta-bottom-sub {
  position: relative;
  margin: 0 0 1.75rem;
  color: var(--text-muted, #9da4b9);
  font-size: 1rem;
  line-height: 1.6;
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
}
.page-landing-cta-bottom-row {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}
.page-landing-bottom-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.88rem 1.55rem;
  border-radius: 14px;
  font-weight: 700;
  font-size: 0.96rem;
  text-decoration: none;
  transition: all 0.22s;
  cursor: pointer;
}
.page-landing-bottom-ic { width: 17px; height: 17px; }
.page-landing-bottom-btn--primary {
  background: linear-gradient(135deg, var(--pl-grad-start), var(--pl-grad-end));
  color: #fff;
  box-shadow: 0 10px 28px -10px rgba(124,92,255,0.55);
  border: 1px solid transparent;
}
.page-landing-bottom-btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 38px -12px rgba(124,92,255,0.65);
}
.page-landing-bottom-btn--outline {
  background: rgba(255,255,255,0.03);
  color: var(--text-strong, #fff);
  border: 1px solid var(--border-soft, rgba(196,181,253,0.2));
}
.page-landing-bottom-btn--outline:hover {
  border-color: rgba(196,181,253,0.55);
  background: rgba(124,92,255,0.08);
  color: #c4b5fd;
  transform: translateY(-1px);
}

/* ---- Responsive Breakpoints ---- */
@media (max-width: 1080px) {
  .page-landing-hero { padding-bottom: 9rem; }
  .page-landing-hero-media { margin-top: -90px; }
}
@media (max-width: 980px) {
  .page-landing-hero { padding: clamp(3rem, 8vw, 6.5rem) 1rem 7.5rem; }
  .page-landing-hero-media { margin-top: -70px; padding: 0 1rem; }
  .page-landing-featured-inner { border-radius: 22px; }
  .page-landing-content-section { padding-top: clamp(2rem, 4.5vw, 4rem); }
  .page-landing-cta-bottom { padding-top: clamp(2rem, 4.5vw, 4rem); }
}
@media (max-width: 720px) {
  .page-landing-hero { padding-bottom: 6.5rem; }
  .page-landing-meta { width: 100%; border-radius: 14px; }
  .page-landing-meta-sep { display: none; }
  .page-landing-meta-item { flex: 1 1 auto; justify-content: center; min-width: 44%; }
  .page-landing-hero-media { margin-top: -55px; padding: 0 0.9rem; }
  .page-landing-featured-inner { border-radius: 18px; box-shadow: 0 26px 70px -22px rgba(124,92,255,0.45); }
}
@media (max-width: 640px) {
  .page-landing-cta { width: 100%; justify-content: center; }
  .page-landing-bottom-btn { width: 100%; justify-content: center; }
  .page-landing-badge { font-size: 0.74rem; padding: 0.34rem 0.85rem; }
  .page-landing-cta-bottom-inner { padding: 1.75rem 1.1rem; border-radius: 18px; }
}
@media (max-width: 420px) {
  .page-landing-hero { padding-top: 2.5rem; }
  .page-landing-badge { font-size: 0.7rem; letter-spacing: 0.05em; padding: 0.3rem 0.78rem; }
  .page-landing-cta { padding: 0.9rem 1.5rem; border-radius: 14px; font-size: 0.96rem; }
  .page-landing-hero-media { margin-top: -40px; padding: 0 0.8rem; }
}

/* ================================================================ */
/* TEMPLATE: LANDING SLOT DEMOS (Native Posts post_type=slots)    */
/* Prefix class: .slot-landing-*                                   */
/* ================================================================ */

body.post-template-landing.post-using-slot-landing-template {
  --sl-grad-start: #0f172a;
  --sl-grad-mid: #1e1b4b;
  --sl-grad-end: #064e3b;
  --sl-green: #10b981;
  --sl-pink: #ff4d9d;
  --sl-purple: #7c5cff;
  --sl-gold: #fbbf24;
  --sl-star-fill: #fbbf24;
  background: #0b0814;
}
body.post-template-landing.post-using-slot-landing-template .home-sidebar-col,
body.post-template-landing.post-using-slot-landing-template .post-sidebar-col,
body.post-template-landing.post-using-slot-landing-template .layout-sidebar { display: none !important; }
body.post-template-landing.post-using-slot-landing-template #post-main-grid,
body.post-template-landing.post-using-slot-landing-template .post-grid-wrap,
body.post-template-landing.post-using-slot-landing-template .main-content-inner {
  grid-template-columns: 1fr !important;
  max-width: 100% !important;
  padding: 0 !important;
  gap: 0 !important;
}
body.post-template-landing.post-using-slot-landing-template #post-hero,
body.post-template-landing.post-using-slot-landing-template #post-acf,
body.post-template-landing.post-using-slot-landing-template #post-footer-author,
body.post-template-landing.post-using-slot-landing-template #related-posts,
body.post-template-landing.post-using-slot-landing-template #toc-card,
body.post-template-landing.post-using-slot-landing-template #author-card,
body.post-template-landing.post-using-slot-landing-template #post-footer-subscribe {
  display: none !important;
}
body.post-template-landing.post-using-slot-landing-template #post-body {
  padding: 0;
  max-width: 100%;
}
body.post-template-landing.post-using-slot-landing-template #post-body.post-body--landing-wrap {
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* ---- Skeleton Loader ---- */
.slot-landing-skeleton {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 3rem 1rem;
  max-width: 1200px;
  margin: 0 auto;
}
.slot-landing-skeleton > div {
  border-radius: 22px;
  background: linear-gradient(90deg, #1e1b4b, #312e81, #1e293b, #312e81, #1e1b4b;
  background-size: 300% 100%;
  animation: sl-sk-pulse 2.2s ease-in-out infinite;
  opacity: 0.6;
}
@keyframes sl-sk-pulse {
  0%,100% { background-position: 0% 50%; opacity: 0.5; }
  50% { background-position: 100% 50%; opacity: 0.78; }
}
.sl-sk-hero { min-height: 520px; }
.sl-sk-media { min-height: 460px; max-width: 1100px; margin: -6rem auto 0; width: calc(100% - 2rem); }
.sl-sk-stats { min-height: 190px; max-width: 1100px; margin: 0 auto; width: calc(100% - 2rem); }
.sl-sk-content { min-height: 560px; max-width: 920px; margin: 0 auto; width: calc(100% - 2rem); }

/* ---- Wrapper ---- */
.slot-landing-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* ---- Hero Jumbo ---- */
.slot-landing-hero {
  position: relative;
  padding: clamp(3rem, 8vw, 6.5rem) 1.2rem clamp(9rem, 16vw, 14rem);
  background:
    radial-gradient(circle at 18% 20%, rgba(124, 92, 255, 0.32) 0%, transparent 55%),
    radial-gradient(circle at 82% 14%, rgba(16, 185, 129, 0.28) 0%, transparent 52%),
    radial-gradient(circle at 50% 100%, rgba(251, 191, 36, 0.18) 0%, transparent 60%),
    linear-gradient(160deg, #0b0814 0%, #14102a 45%, #0a2a1f 100%);
  overflow: hidden;
}
.slot-landing-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at top, rgba(124, 92, 255, 0.12) 0%, transparent 55%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.018) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(0deg, rgba(255,255,255,0.018) 0 1px, transparent 1px 3px);
  pointer-events: none;
  mix-blend-mode: soft-light;
}
.slot-landing-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Badge */
.slot-landing-hero-top {
  display: flex;
  justify-content: center;
  margin-bottom: 1.6rem;
  width: 100%;
}
.slot-landing-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.15rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid rgba(251, 191, 36, 0.35);
  background: linear-gradient(135deg, rgba(251, 191, 36, 0.15), rgba(255, 77, 157, 0.12));
  color: #fde68a;
  backdrop-filter: blur(6px);
}
.slot-landing-badge svg {
  width: 16px;
  height: 16px;
  color: var(--sl-gold);
}
.slot-landing-badge--trending {
  box-shadow: 0 0 18px -4px rgba(251,191,36,0.4);
}

/* Title */
.slot-landing-title {
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.025em;
  margin: 0 0 1.4rem;
  max-width: 900px;
  background: linear-gradient(135deg, #ffffff 0%, #c4b5fd 35%, #6ee7b7 62%, #fbbf24 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

/* Metrics Row */
.slot-landing-metrics {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin: 0 0 1.6rem;
  width: 100%;
}
.slot-landing-stat {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  padding: 0.85rem 1.3rem;
  border-radius: 16px;
  background: rgba(255,255,255,0.035);
  border: 1px solid rgba(255,255,255,0.07);
  min-width: 140px;
  backdrop-filter: blur(6px);
}
.slot-landing-stat-label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
}
.slot-landing-stat-value {
  font-size: 1.4rem;
  font-weight: 800;
}
.slot-landing-stat--rtp .slot-landing-stat-value {
  color: var(--sl-green);
  text-shadow: 0 0 12px rgba(16,185,129,0.35);
}
.slot-landing-stat--maxwin .slot-landing-stat-value {
  color: var(--sl-pink);
  text-shadow: 0 0 12px rgba(255,77,157,0.35);
}
.slot-landing-stars {
  display: inline-flex;
  gap: 3px;
  align-items: center;
  height: 22px;
}
.slot-landing-stars svg {
  width: 18px;
  height: 18px;
}

/* Lead / Excerpt */
.slot-landing-lead {
  max-width: 720px;
  font-size: clamp(0.98rem, 1.6vw, 1.18rem);
  line-height: 1.65;
  color: rgba(255,255,255,0.78);
  margin: 0 0 1.9rem;
}

/* CTA Row */
.slot-landing-cta-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.9rem;
  margin: 0 0 2rem;
  width: 100%;
}
.slot-landing-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  padding: 1rem 1.8rem;
  border-radius: 16px;
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: all 0.22s cubic-bezier(.4,0,.2,1);
  border: 1px solid transparent;
  cursor: pointer;
  position: relative;
  white-space: nowrap;
}
.slot-landing-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.slot-landing-btn--demo {
  background: linear-gradient(135deg, #10b981 0%, #059669 55%, #047857 100%);
  color: #ffffff;
  box-shadow: 0 10px 28px -8px rgba(16,185,129,0.55), inset 0 1px 0 rgba(255,255,255,0.18);
}
.slot-landing-btn--demo:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 36px -10px rgba(16,185,129,0.7);
}
.slot-landing-btn--real {
  background: linear-gradient(135deg, #7c5cff 0%, #5b44ff 50%, #4338ca 100%);
  color: #ffffff;
  box-shadow: 0 10px 30px -8px rgba(124,92,255,0.65);
  padding-right: 1.35rem;
}
.slot-landing-btn--real:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 40px -10px rgba(124,92,255,0.85);
}
.slot-landing-btn-tag {
  display: inline-flex;
  align-items: center;
  margin-left: 0.3rem;
  padding: 0.15rem 0.5rem;
  background: rgba(255,255,255,0.18);
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* Meta chips */
.slot-landing-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.6rem;
  width: 100%;
}
.slot-landing-meta-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.48rem 0.95rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  backdrop-filter: blur(6px);
  color: rgba(255,255,255,0.82);
  font-size: 0.84rem;
  font-weight: 600;
}
.slot-landing-meta-chip svg {
  width: 15px;
  height: 15px;
  opacity: 0.82;
  color: rgba(196,181,253,0.95);
}
.slot-landing-meta-chip--provider {
  background: linear-gradient(135deg, rgba(124,92,255,0.18), rgba(255,77,157,0.12));
  border-color: rgba(124,92,255,0.32);
}
.slot-landing-meta-chip--provider svg { color: var(--sl-purple); }
.slot-landing-meta-chip--date svg { color: var(--sl-green); }

/* Featured Floating Frame */
.slot-landing-featured-frame {
  position: relative;
  max-width: 1080px;
  margin: -130px auto 0;
  padding: 0 1.2rem;
  z-index: 5;
}
.slot-landing-featured-inner {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 28px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #0f172a;
  box-shadow:
    0 40px 80px -20px rgba(124,92,255,0.55),
    0 20px 50px -15px rgba(16,185,129,0.25),
    inset 0 1px 0 rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.08);
  overflow: hidden;
}
.slot-landing-featured-frame::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -8%;
  width: 88%;
  height: 70px;
  background: radial-gradient(ellipse at center, rgba(124, 92, 255, 0.55) 0%, rgba(16, 185, 129, 0.18) 40%, transparent 72%);
  filter: blur(30px);
  pointer-events: none;
  z-index: -1;
}
.slot-landing-featured-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.55) 100%);
  border-radius: 28px;
}
.slot-landing-featured-play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 86px;
  height: 86px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ffffff 0%, #fbbf24 100%);
  color: #14102a;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 20px 50px -10px rgba(251,191,36,0.6);
  z-index: 3;
}
.slot-landing-featured-play svg {
  width: 34px;
  height: 34px;
  margin-left: 4px;
}

/* ---- Quick Stats / Paytable Section ---- */
.slot-landing-stats-section {
  position: relative;
  max-width: 1080px;
  margin: 0 auto;
  padding: clamp(2.7rem, 5vw, 4.5rem) 1.2rem 1.2rem;
}
.slot-landing-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.slot-landing-stat-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.55rem;
  padding: 1.25rem 1.25rem 1.35rem;
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(30,27,75,0.6), rgba(15,23,42,0.8));
  border: 1px solid rgba(255,255,255,0.07);
  backdrop-filter: blur(6px);
  transition: all 0.25s cubic-bezier(.4,0,.2,1);
}
.slot-landing-stat-card:hover {
  transform: translateY(-2px);
  border-color: rgba(124,92,255,0.28);
  box-shadow: 0 16px 36px -14px rgba(124,92,255,0.45);
}
.slot-landing-stat-card-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.3rem;
}
.slot-landing-stat-card-icon svg {
  width: 20px;
  height: 20px;
}
.slot-landing-stat-card--rtp .slot-landing-stat-card-icon {
  background: rgba(16,185,129,0.15);
  color: var(--sl-green);
  box-shadow: inset 0 0 0 1px rgba(16,185,129,0.22);
}
.slot-landing-stat-card--win .slot-landing-stat-card-icon {
  background: rgba(255,77,157,0.14);
  color: var(--sl-pink);
  box-shadow: inset 0 0 0 1px rgba(255,77,157,0.22);
}
.slot-landing-stat-card--vol .slot-landing-stat-card-icon {
  background: rgba(251,191,36,0.14);
  color: var(--sl-gold);
  box-shadow: inset 0 0 0 1px rgba(251,191,36,0.22);
}
.slot-landing-stat-card--reels .slot-landing-stat-card-icon {
  background: rgba(124,92,255,0.15);
  color: var(--sl-purple);
  box-shadow: inset 0 0 0 1px rgba(124,92,255,0.22);
}
.slot-landing-stat-card--lines .slot-landing-stat-card-icon {
  background: rgba(96,165,250,0.14);
  color: #60a5fa;
  box-shadow: inset 0 0 0 1px rgba(96,165,250,0.22);
}
.slot-landing-stat-card--min .slot-landing-stat-card-icon {
  background: rgba(244,114,182,0.14);
  color: #f472b6;
  box-shadow: inset 0 0 0 1px rgba(244,114,182,0.22);
}
.slot-landing-stat-card-label {
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.52);
}
.slot-landing-stat-card-value {
  font-size: 1.28rem;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.01em;
}
.slot-landing-stat-card--rtp .slot-landing-stat-card-value { color: #6ee7b7; }
.slot-landing-stat-card--win .slot-landing-stat-card-value { color: #fda4af; }
.slot-landing-stat-card--vol .slot-landing-stat-card-value { color: #fde68a; }
.slot-landing-stat-card--reels .slot-landing-stat-card-value { color: #c4b5fd; }

/* ---- Content Section ---- */
.slot-landing-content-section {
  max-width: 920px;
  margin: 0 auto;
  padding: clamp(2rem, 4.5vw, 4rem) 1.2rem 3rem;
}
.slot-landing-content-inner {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.slot-landing-content-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.82rem;
  color: rgba(255,255,255,0.6);
  padding-bottom: 0.4rem;
}
.slot-landing-content-breadcrumb svg {
  width: 14px;
  height: 14px;
  opacity: 0.55;
}
.slot-landing-breadcrumb-link {
  color: rgba(255,255,255,0.6);
  text-decoration: none;
}
.slot-landing-breadcrumb-link:hover { color: #c4b5fd; }
.slot-landing-breadcrumb-active {
  color: rgba(255,255,255,0.95);
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 260px;
}
.slot-landing-content {
  width: 100%;
}

/* Tags Pills */
.slot-landing-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.7rem;
  padding: 0.6rem 0 0;
  margin-top: 1.3rem;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(255,255,255,0.07);
}
.slot-landing-tags-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: rgba(255,255,255,0.55);
  letter-spacing: 0.03em;
}
.slot-landing-tags-list {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.slot-landing-tag-pill {
  display: inline-flex;
  padding: 0.4rem 0.9rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.035);
  color: rgba(255,255,255,0.72);
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.07);
  font-size: 0.82rem;
  font-weight: 600;
  transition: all 0.2s ease;
}
.slot-landing-tag-pill:hover {
  border-color: rgba(255,77,157,0.35);
  background: rgba(255,77,157,0.1);
  color: #fda4af;
  transform: translateY(-1px);
}

/* ---- Bottom CTA Banner ---- */
.slot-landing-cta-bottom {
  max-width: 1100px;
  margin: 0 auto;
  padding: clamp(2rem, 4.5vw, 4.2rem) 1.2rem clamp(3rem, 6vw, 5.5rem);
}
.slot-landing-cta-inner {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1.5rem;
  padding: 2rem 2rem 2rem 1.8rem;
  border-radius: 24px;
  background:
    radial-gradient(circle at 10% 10%, rgba(16, 185, 129, 0.22) 0%, transparent 55%),
    radial-gradient(circle at 90% 90%, rgba(255, 77, 157, 0.25) 0%, transparent 55%),
    linear-gradient(135deg, rgba(30,27,75,0.9), rgba(15,23,42,0.95));
  border: 1px solid rgba(124, 92, 255, 0.28);
  backdrop-filter: blur(10px);
  overflow: hidden;
}
.slot-landing-cta-icon-wrap {
  width: 66px;
  height: 66px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(251,191,36,0.2), rgba(255,77,157,0.15));
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--sl-gold);
  box-shadow: inset 0 0 0 1px rgba(251,191,36,0.25);
  flex-shrink: 0;
}
.slot-landing-cta-icon-wrap svg {
  width: 30px;
  height: 30px;
  fill: currentColor;
}
.slot-landing-cta-texts { display: flex;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
}
.slot-landing-cta-title {
  margin: 0;
  font-size: clamp(1.3rem, 2.3vw, 1.65rem);
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #ffffff;
  line-height: 1.2;
}
.slot-landing-cta-desc {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: rgba(255,255,255,0.72);
}
.slot-landing-cta-row-2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.75rem;
  flex-shrink: 0;
}
.slot-landing-btn--bonus {
  background: linear-gradient(135deg, #7c5cff 0%, #ff4d9d 100%);
  color: #fff;
  box-shadow: 0 12px 30px -10px rgba(124,92,255,0.6);
}
.slot-landing-btn--bonus:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 44px -10px rgba(255,77,157,0.55);
}
.slot-landing-btn--ghost {
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.9);
  border: 1px solid rgba(255,255,255,0.1);
  backdrop-filter: blur(4px);
}
.slot-landing-btn--ghost:hover {
  border-color: rgba(196,181,253,0.45);
  background: rgba(124,92,255,0.08);
  color: #c4b5fd;
  transform: translateY(-1px);
}

/* ---- Responsive Breakpoints ---- */
@media (max-width: 1080px) {
  .slot-landing-hero { padding-bottom: clamp(7rem, 14vw, 11rem); }
  .slot-landing-featured-frame { margin-top: -100px; }
  .slot-landing-cta-inner { grid-template-columns: auto 1fr; }
  .slot-landing-cta-row-2 { grid-column: 1 / -1; justify-content: flex-start; }
}
@media (max-width: 980px) {
  .slot-landing-hero { padding: clamp(2.6rem, 7.5vw, 5.5rem) 1rem 7rem; }
  .slot-landing-featured-frame {
    margin-top: -70px;
    padding: 0 1rem;
  }
  .slot-landing-featured-inner { border-radius: 22px; }
  .slot-landing-featured-play { width: 72px; height: 72px; }
  .slot-landing-featured-play svg { width: 28px; height: 28px; }
  .slot-landing-stats-section { padding-top: 2.4rem; }
  .slot-landing-stats-grid { grid-template-columns: repeat(2, 1fr); }
  .slot-landing-content-section { padding-top: clamp(1.8rem, 4vw, 3.2rem); }
}
@media (max-width: 720px) {
  .slot-landing-hero { padding-bottom: 6rem; }
  .slot-landing-meta-chip--provider,
  .slot-landing-meta-chip { flex: 1 1 calc(50% - 0.6rem); }
  .slot-landing-featured-frame {
    margin-top: -55px;
    padding: 0 0.9rem;
  }
  .slot-landing-featured-inner {
    border-radius: 18px;
    box-shadow: 0 28px 64px -18px rgba(124,92,255,0.4);
  }
  .slot-landing-featured-play { width: 60px; height: 60px; }
  .slot-landing-featured-play svg { width: 24px; height: 24px; margin-left: 2px; }
}
@media (max-width: 640px) {
  .slot-landing-skeleton > div { border-radius: 16px; }
  .sl-sk-media { margin-top: -4.5rem; }
  .slot-landing-metrics { gap: 0.7rem; }
  .slot-landing-stat { min-width: 110px; padding: 0.75rem 1rem; }
  .slot-landing-stat-label { font-size: 0.68rem; }
  .slot-landing-stat-value { font-size: 1.2rem; }
  .slot-landing-btn { width: 100%; }
  .slot-landing-tags-label { width: 100%; }
  .slot-landing-cta-inner {
    grid-template-columns: 1fr;
    text-align: left;
    padding: 1.6rem 1.2rem;
    border-radius: 20px;
    gap: 1rem;
  }
  .slot-landing-cta-icon-wrap { width: 56px; height: 56px; border-radius: 16px; }
  .slot-landing-cta-icon-wrap svg { width: 26px; height: 26px; }
  .slot-landing-cta-row-2 { width: 100%; }
  .slot-landing-cta-row-2 .slot-landing-btn { width: 100%; }
}
@media (max-width: 520px) {
  .slot-landing-stats-grid { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .slot-landing-hero { padding-top: 2.2rem; }
  .slot-landing-badge { font-size: 0.72rem; padding: 0.4rem 0.9rem; }
  .slot-landing-btn { padding: 0.95rem 1.3rem; border-radius: 14px; font-size: 0.94rem; }
  .slot-landing-featured-frame { margin-top: -40px; padding: 0 0.8rem; }
  .slot-landing-stats-section { padding-left: 0.9rem; padding-right: 0.9rem; }
  .slot-landing-content-section { padding-left: 1rem; padding-right: 1rem; }
  .slot-landing-cta-bottom { padding-left: 1rem; padding-right: 1rem; padding-bottom: 3.2rem; }
}

/* ================================================================ */
/* TEMPLATE: LANDING SLOTS HUB (Native Posts post_type=slots)     */
/* Prefix class: .slots-landing-* (Royal Gold-Red Dark theme)     */
/* ================================================================ */

body.post-template-landing.post-using-slots-hub-landing-template {
  --sh-gold: #fbbf24;
  --sh-gold-deep: #d97706;
  --sh-red: #ef4444;
  --sh-red-deep: #b91c1c;
  --sh-royal: #78350f;
  --sh-purple: #581c87;
  --sh-silver: #cbd5e1;
  background:
    radial-gradient(circle at 10% 0%, rgba(251, 191, 36, 0.14) 0%, transparent 52%),
    radial-gradient(circle at 100% 20%, rgba(239, 68, 68, 0.16) 0%, transparent 55%),
    linear-gradient(180deg, #0a0603 0%, #140a04 40%, #1a1a2e 100%);
  color: #fff;
}
body.post-template-landing.post-using-slots-hub-landing-template .home-sidebar-col,
body.post-template-landing.post-using-slots-hub-landing-template .post-sidebar-col,
body.post-template-landing.post-using-slots-hub-landing-template .layout-sidebar { display: none !important; }
body.post-template-landing.post-using-slots-hub-landing-template #post-main-grid,
body.post-template-landing.post-using-slots-hub-landing-template .post-grid-wrap,
body.post-template-landing.post-using-slots-hub-landing-template .main-content-inner {
  grid-template-columns: 1fr !important;
  max-width: 100% !important;
  padding: 0 !important;
  gap: 0 !important;
}
body.post-template-landing.post-using-slots-hub-landing-template #post-hero,
body.post-template-landing.post-using-slots-hub-landing-template #post-acf,
body.post-template-landing.post-using-slots-hub-landing-template #post-footer-author,
body.post-template-landing.post-using-slots-hub-landing-template #related-posts,
body.post-template-landing.post-using-slots-hub-landing-template #toc-card,
body.post-template-landing.post-using-slots-hub-landing-template #author-card,
body.post-template-landing.post-using-slots-hub-landing-template #post-footer-subscribe {
  display: none !important;
}
body.post-template-landing.post-using-slots-hub-landing-template #post-body {
  padding: 0;
  max-width: 100%;
  background: transparent;
  border: 0;
  box-shadow: none;
}
body.post-template-landing.post-using-slots-hub-landing-template #post-body.post-body--landing-wrap {
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* ---- Skeleton Loader Slots Hub ---- */
.slots-landing-skeleton {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  padding: 2rem 1rem 4rem;
  max-width: 1400px;
  margin: 0 auto;
}
.slots-landing-skeleton > div {
  border-radius: 20px;
  background: linear-gradient(90deg, #1f2937, #374151, #78350f, #374151, #1f2937);
  background-size: 300% 100%;
  animation: sh-sk-pulse 2.4s ease-in-out infinite;
  opacity: 0.55;
}
@keyframes sh-sk-pulse {
  0%,100% { background-position: 0% 50%; opacity: 0.45; }
  50% { background-position: 100% 50%; opacity: 0.75; }
}
.sh-sk-topbar { min-height: 64px; max-width: 1400px; }
.sh-sk-spot { min-height: 360px; }
.sh-sk-stats { min-height: 110px; max-width: 1300px; margin: 0 auto; width: calc(100% - 2rem); }
.sh-sk-content { min-height: 480px; max-width: 1000px; margin: 0 auto; width: calc(100% - 2rem); }
.sh-sk-fgrid { min-height: 340px; max-width: 1300px; margin: 0 auto; width: calc(100% - 2rem); }
.sh-sk-banner { min-height: 220px; max-width: 1300px; margin: 0 auto; width: calc(100% - 2rem); }

/* ---- Wrapper ---- */
.slots-landing-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* ---- Top Bar Royal Logo Nav ---- */
.slots-landing-topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  background: linear-gradient(180deg, rgba(10,6,3,0.95), rgba(20,10,4,0.85));
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(251, 191, 36, 0.14);
}
.slots-landing-topbar-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0.9rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
}
.slots-landing-logo {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  text-decoration: none;
  color: #fff;
}
.slots-landing-logo-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(251,191,36,0.3), rgba(239,68,68,0.22));
  border: 1px solid rgba(251, 191, 36, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--sh-gold);
  box-shadow: 0 8px 22px -10px rgba(251,191,36,0.5);
}
.slots-landing-logo-icon svg { width: 22px; height: 22px; }
.slots-landing-logo-text {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  line-height: 1.15;
}
.slots-landing-logo-text strong {
  font-size: 1.08rem;
  font-weight: 900;
  letter-spacing: -0.01em;
  background: linear-gradient(135deg, #fff 0%, var(--sh-gold) 100%);
  -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
}
.slots-landing-logo-text span {
  font-size: 0.72rem;
  color: rgba(203,213,225,0.7);
  letter-spacing: 0.03em;
}
.slots-landing-topnav {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  flex-wrap: wrap;
}
.slots-landing-topnav-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.55rem 0.95rem;
  border-radius: 12px;
  text-decoration: none;
  color: rgba(255,255,255,0.72);
  font-size: 0.88rem;
  font-weight: 600;
  transition: all 0.2s ease;
}
.slots-landing-topnav-link:hover {
  color: var(--sh-gold);
  background: rgba(251, 191, 36, 0.08);
}
.slots-landing-topnav-link.is-active {
  background: linear-gradient(135deg, rgba(251,191,36,0.18), rgba(239,68,68,0.1));
  color: var(--sh-gold);
  box-shadow: inset 0 0 0 1px rgba(251,191,36,0.22);
}
.slots-landing-topnav-link--cta {
  background: linear-gradient(135deg, var(--sh-gold) 0%, var(--sh-gold-deep) 100%);
  color: #2b1805 !important;
  padding: 0.6rem 1.1rem;
  box-shadow: 0 8px 22px -10px rgba(251,191,36,0.7);
}
.slots-landing-topnav-link--cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px -10px rgba(251,191,36,0.85);
  background: linear-gradient(135deg, #fde68a 0%, var(--sh-gold) 100%);
}

/* ---- Spotlight 2-col hero ---- */
.slots-landing-spotlight {
  position: relative;
  padding: clamp(1.5rem, 3vw, 2.5rem) 1.2rem clamp(2rem, 4vw, 3.5rem);
  max-width: 1400px;
  margin: 0 auto;
}
.slots-landing-spotlight::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 78% 50%, rgba(239, 68, 68, 0.22) 0%, transparent 60%),
    radial-gradient(ellipse 50% 45% at 22% 50%, rgba(251, 191, 36, 0.18) 0%, transparent 60%);
  pointer-events: none;
}
.slots-landing-spot-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.2fr 420px;
  gap: 2.5rem;
  align-items: center;
  padding: clamp(1.5rem, 3.5vw, 2.5rem);
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(20,10,4,0.72) 0%, rgba(88, 28, 135, 0.35) 100%);
  border: 1px solid rgba(251,191,36,0.18);
  box-shadow:
    0 40px 90px -30px rgba(251,191,36,0.35),
    inset 0 1px 0 rgba(255,255,255,0.05);
  backdrop-filter: blur(6px);
}

.slots-landing-spot-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  min-width: 0;
}
.slots-landing-spot-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}
.slots-landing-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  padding: 0.38rem 0.85rem;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.slots-landing-chip svg { width: 14px; height: 14px; }
.slots-landing-chip--gold {
  background: linear-gradient(135deg, rgba(251,191,36,0.22), rgba(239,68,68,0.08));
  border: 1px solid rgba(251,191,36,0.3);
  color: var(--sh-gold);
}
.slots-landing-chip--red {
  background: rgba(239,68,68,0.12);
  border: 1px solid rgba(239,68,68,0.28);
  color: #fca5a5;
}
.slots-landing-chip--purple {
  background: rgba(88, 28, 135, 0.2);
  border: 1px solid rgba(147, 51, 234, 0.25);
  color: #e9d5ff;
}

.slots-landing-title {
  margin: 0;
  font-size: clamp(2rem, 4.2vw, 3.2rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.022em;
  background: linear-gradient(135deg, #fff 0%, #fde68a 40%, #fbbf24 70%, #f87171 100%);
  -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
}
.slots-landing-subtitle {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.5;
  font-weight: 700;
  background: linear-gradient(135deg, #c4b5fd, #f9a8d4);
  -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
  letter-spacing: 0.01em;
}
.slots-landing-spot-desc {
  margin: 0.3rem 0 0.1rem;
  font-size: 0.96rem;
  line-height: 1.7;
  color: rgba(255,255,255,0.76);
  max-width: 620px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
}
.slots-landing-spot-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 0.6rem;
}
.slots-landing-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  padding: 0.95rem 1.55rem;
  border-radius: 14px;
  text-decoration: none;
  font-size: 0.96rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: all 0.22s cubic-bezier(.4,0,.2,1);
  border: 1px solid transparent;
  cursor: pointer;
  position: relative;
  white-space: nowrap;
}
.slots-landing-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.slots-landing-btn--demo {
  background: linear-gradient(135deg, var(--sh-gold) 0%, var(--sh-gold-deep) 100%);
  color: #2b1805;
  box-shadow: 0 10px 26px -8px rgba(251,191,36,0.7), inset 0 1px 0 rgba(255,255,255,0.25);
}
.slots-landing-btn--demo:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px -10px rgba(251,191,36,0.85);
  background: linear-gradient(135deg, #fde68a 0%, var(--sh-gold) 100%);
}
.slots-landing-btn--real {
  background: linear-gradient(135deg, var(--sh-red) 0%, var(--sh-red-deep) 100%);
  color: #fff;
  box-shadow: 0 10px 28px -10px rgba(239,68,68,0.7);
  padding-right: 1.1rem;
}
.slots-landing-btn--real:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 36px -10px rgba(239,68,68,0.85);
}
.slots-landing-btn-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 0.25rem;
  padding: 0.15rem 0.55rem;
  background: rgba(255,255,255,0.2);
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

/* Thumbnail XL right side */
.slots-landing-spot-right {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 380px;
}
.slots-landing-thumb-xl {
  position: relative;
  width: 100%;
  max-width: 400px;
  aspect-ratio: 1 / 1.1;
  border-radius: 26px;
  background-color: #1f2937;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border: 2px solid rgba(251, 191, 36, 0.45);
  box-shadow:
    0 30px 70px -18px rgba(251,191,36,0.45),
    0 24px 50px -20px rgba(239,68,68,0.35),
    inset 0 1px 0 rgba(255,255,255,0.1);
  overflow: hidden;
}
.slots-landing-thumb-xl-shine {
  position: absolute;
  inset: -50%;
  background: linear-gradient(115deg, transparent 40%, rgba(255,255,255,0.14) 50%, transparent 60%);
  transform: translateX(-30%) rotate(25deg);
  animation: sh-shine 6s ease-in-out infinite;
  pointer-events: none;
}
@keyframes sh-shine {
  0%,100% { transform: translateX(-60%) rotate(25deg); opacity: 0; }
  50% { transform: translateX(20%) rotate(25deg); opacity: 1; }
}
.slots-landing-thumb-xl-initials {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(3rem, 8vw, 5rem);
  font-weight: 900;
  color: #fff;
  text-shadow: 0 6px 24px rgba(0,0,0,0.45);
  letter-spacing: -0.03em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 85%;
}
.slots-landing-thumb-xl-initials:empty { display: none; }
.slots-landing-ribbon {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.35rem 0.8rem;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 999px;
  box-shadow: 0 8px 18px -6px rgba(0,0,0,0.4);
}
.slots-landing-ribbon svg { width: 14px; height: 14px; }
.slots-landing-ribbon--gold {
  top: 14px;
  left: 14px;
  background: linear-gradient(135deg, #fff 0%, var(--sh-gold) 100%);
  color: var(--sh-royal);
}
.slots-landing-ribbon--red {
  bottom: 14px;
  right: 14px;
  background: linear-gradient(135deg, #fee2e2, var(--sh-red));
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,0.3);
}
.slots-landing-thumb-glow {
  position: absolute;
  left: 50%;
  bottom: -2%;
  transform: translateX(-50%);
  width: 90%;
  height: 110px;
  background: radial-gradient(ellipse at center, rgba(251,191,36,0.5) 0%, rgba(239,68,68,0.22) 40%, transparent 72%);
  filter: blur(30px);
  pointer-events: none;
  z-index: -1;
}

/* ---- Stats chips 4-col ---- */
.slots-landing-stats {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 1.25rem;
}
.slots-landing-stats-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.9rem;
}
.slots-landing-stat {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 1.05rem 1.15rem;
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(20,10,4,0.78), rgba(88,28,135,0.35));
  border: 1px solid rgba(251,191,36,0.14);
  backdrop-filter: blur(8px);
  transition: all 0.25s cubic-bezier(.4,0,.2,1);
}
.slots-landing-stat:hover {
  transform: translateY(-2px);
  border-color: rgba(251,191,36,0.3);
  box-shadow: 0 18px 36px -14px rgba(251,191,36,0.4);
}
.slots-landing-stat-icon {
  width: 44px;
  height: 44px;
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.slots-landing-stat-icon svg {
  width: 20px;
  height: 20px;
}
.slots-landing-stat--green .slots-landing-stat-icon { background: rgba(16,185,129,0.15); color: #6ee7b7; box-shadow: inset 0 0 0 1px rgba(16,185,129,0.24); }
.slots-landing-stat--red .slots-landing-stat-icon { background: rgba(239,68,68,0.14); color: #fca5a5; box-shadow: inset 0 0 0 1px rgba(239,68,68,0.24); }
.slots-landing-stat--gold .slots-landing-stat-icon { background: rgba(251,191,36,0.14); color: var(--sh-gold); box-shadow: inset 0 0 0 1px rgba(251,191,36,0.24); }
.slots-landing-stat--silver .slots-landing-stat-icon { background: rgba(203,213,225,0.1); color: #cbd5e1; box-shadow: inset 0 0 0 1px rgba(203,213,225,0.22); }

.slots-landing-stat-meta {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.slots-landing-stat-label {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
}
.slots-landing-stat-value {
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #fff;
  white-space: nowrap;
}
.slots-landing-stat--green .slots-landing-stat-value { color: #86efac; text-shadow: 0 0 10px rgba(16,185,129,0.35); }
.slots-landing-stat--red .slots-landing-stat-value { color: #fda4af; text-shadow: 0 0 10px rgba(239,68,68,0.35); }
.slots-landing-stat--gold .slots-landing-stat-value { color: #fde68a; text-shadow: 0 0 10px rgba(251,191,36,0.35); }
.slots-landing-stat--silver .slots-landing-stat-value { color: #e2e8f0; }

/* ---- Content Section ---- */
.slots-landing-content-section {
  max-width: 1050px;
  margin: 0 auto;
  padding: clamp(2rem, 4.5vw, 3.8rem) 1.25rem 2.2rem;
}
.slots-landing-content-inner {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
.slots-landing-section-head {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;
}
.slots-landing-section-head--center {
  align-items: center;
  text-align: center;
}
.slots-landing-section-tag {
  display: inline-flex;
  padding: 0.3rem 0.85rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: linear-gradient(135deg, rgba(251,191,36,0.18), rgba(239,68,68,0.08));
  color: var(--sh-gold);
  border: 1px solid rgba(251,191,36,0.22);
}
.slots-landing-section-tag--pink {
  background: linear-gradient(135deg, rgba(236,72,153,0.18), rgba(88,28,135,0.18));
  color: #f9a8d4;
  border: 1px solid rgba(236,72,153,0.22);
}
.slots-landing-section-title {
  margin: 0;
  font-size: clamp(1.4rem, 2.8vw, 2rem);
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: -0.015em;
  background: linear-gradient(135deg, #fff, #fde68a);
  -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
}
.slots-landing-section-subtitle {
  margin: -0.2rem 0 0;
  color: rgba(255,255,255,0.6);
  font-size: 0.92rem;
  max-width: 600px;
}
.slots-landing-content { width: 100%; }

/* Tags royal chips */
.slots-landing-tags {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin-top: 0.4rem;
  padding: 1.5rem 0 0.3rem;
  border-top: 1px solid rgba(251,191,36,0.14);
}
.slots-landing-tags-label {
  font-size: 0.88rem;
  font-weight: 700;
  color: rgba(255,255,255,0.65);
  letter-spacing: 0.01em;
}
.slots-landing-tags-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.slots-landing-tag {
  display: inline-flex;
  padding: 0.42rem 0.95rem;
  border-radius: 12px;
  text-decoration: none;
  font-size: 0.82rem;
  font-weight: 700;
  color: rgba(255,255,255,0.78);
  background: linear-gradient(135deg, rgba(20,10,4,0.7), rgba(88,28,135,0.3));
  border: 1px solid rgba(251,191,36,0.15);
  transition: all 0.2s ease;
}
.slots-landing-tag:hover {
  color: var(--sh-gold);
  border-color: rgba(251,191,36,0.35);
  background: linear-gradient(135deg, rgba(251,191,36,0.12), rgba(239,68,68,0.08));
  transform: translateY(-1px);
}

/* ---- Featured slots mini grid 3-col ---- */
.slots-landing-featured-section {
  max-width: 1300px;
  margin: 0 auto;
  padding: clamp(1.8rem, 4vw, 3.5rem) 1.25rem clamp(1.8rem, 3.5vw, 3.2rem);
}
.slots-landing-featured-inner {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  align-items: stretch;
}
.slots-landing-fgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
}
.slots-landing-fcard {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding: 0.85rem;
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(20,10,4,0.85), rgba(88,28,135,0.35));
  border: 1px solid rgba(251,191,36,0.12);
  text-decoration: none;
  transition: all 0.25s cubic-bezier(.4,0,.2,1);
  backdrop-filter: blur(6px);
}
.slots-landing-fcard:hover {
  transform: translateY(-3px);
  border-color: rgba(251,191,36,0.35);
  box-shadow: 0 20px 44px -16px rgba(251,191,36,0.45);
}
.slots-landing-fcard-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  background-color: #1f2937;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
.slots-landing-fcard-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  display: inline-flex;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.slots-landing-fcard-badge--green { background: rgba(16,185,129,0.9); color: #064e3b; }
.slots-landing-fcard-badge--gold { background: linear-gradient(135deg, var(--sh-gold), var(--sh-gold-deep)); color: #3b1e05; }
.slots-landing-fcard-badge--purple { background: linear-gradient(135deg, #a78bfa, #7c3aed); color: #1e1b4b; }
.slots-landing-fcard-meta {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0 0.2rem 0.35rem;
}
.slots-landing-fcard-name {
  font-size: 1rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.slots-landing-fcard-prov {
  font-size: 0.76rem;
  font-weight: 600;
  color: rgba(251,191,36,0.85);
}

/* ---- Bottom Royal Banner CTA ---- */
.slots-landing-banner {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 1.25rem clamp(3rem, 6vw, 5rem);
}
.slots-landing-banner-inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 2rem;
  padding: 2rem 2.2rem;
  border-radius: 26px;
  background:
    radial-gradient(circle at 8% 15%, rgba(251, 191, 36, 0.22) 0%, transparent 55%),
    radial-gradient(circle at 95% 95%, rgba(239, 68, 68, 0.25) 0%, transparent 55%),
    linear-gradient(135deg, rgba(20,10,4,0.92) 0%, rgba(88,28,135,0.55) 100%);
  border: 1px solid rgba(251,191,36,0.24);
  box-shadow:
    0 30px 70px -20px rgba(251,191,36,0.45),
    0 22px 50px -22px rgba(239,68,68,0.35);
  overflow: hidden;
  backdrop-filter: blur(8px);
}
.slots-landing-banner-inner::after {
  content: '';
  position: absolute;
  right: -8%;
  top: -30%;
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(251,191,36,0.22) 0%, transparent 60%);
  filter: blur(20px);
  pointer-events: none;
}
.slots-landing-banner-left {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  min-width: 0;
}
.slots-landing-banner-tag {
  display: inline-flex;
  padding: 0.32rem 0.9rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(251,191,36,0.2), rgba(239,68,68,0.1));
  color: var(--sh-gold);
  border: 1px solid rgba(251,191,36,0.3);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  align-self: flex-start;
}
.slots-landing-banner-title {
  margin: 0;
  font-size: clamp(1.3rem, 2.8vw, 2rem);
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: -0.015em;
  color: #fff;
}
.slots-landing-banner-title strong {
  background: linear-gradient(135deg, #fff 0%, var(--sh-gold) 100%);
  -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
  font-weight: 900;
}
.slots-landing-banner-title span {
  color: #fca5a5;
  font-weight: 900;
  text-shadow: 0 0 12px rgba(239,68,68,0.4);
}
.slots-landing-banner-desc {
  margin: 0;
  font-size: 0.93rem;
  line-height: 1.65;
  color: rgba(255,255,255,0.78);
  max-width: 620px;
}
.slots-landing-banner-right {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  justify-content: flex-end;
}
.slots-landing-btn--mega {
  background: linear-gradient(135deg, #fff 0%, var(--sh-gold) 50%, var(--sh-red) 100%);
  color: #2b1805;
  box-shadow: 0 14px 36px -10px rgba(251,191,36,0.6), inset 0 1px 0 rgba(255,255,255,0.4);
  padding: 1rem 1.6rem;
  font-size: 1rem;
}
.slots-landing-btn--mega:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 46px -10px rgba(239,68,68,0.55);
}
.slots-landing-btn--ghost {
  background: rgba(255,255,255,0.04);
  color: #fff;
  border: 1px solid rgba(251,191,36,0.2);
}
.slots-landing-btn--ghost:hover {
  background: rgba(251,191,36,0.08);
  color: var(--sh-gold);
  border-color: rgba(251,191,36,0.42);
  transform: translateY(-1px);
}

/* ---- Responsive Breakpoints Slots Hub ---- */
@media (max-width: 1200px) {
  .slots-landing-spot-inner { grid-template-columns: 1.15fr 360px; gap: 2rem; }
  .slots-landing-thumb-xl { max-width: 360px; }
  .slots-landing-stats-inner { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 980px) {
  .slots-landing-spot-inner {
    grid-template-columns: 1fr;
    gap: 1.8rem;
    padding: 1.5rem 1.3rem;
  }
  .slots-landing-spot-right { min-height: auto; }
  .slots-landing-thumb-xl {
    max-width: 340px;
    aspect-ratio: 1 / 1.08;
  }
  .slots-landing-fgrid { grid-template-columns: repeat(2, 1fr); }
  .slots-landing-banner-inner {
    grid-template-columns: 1fr;
    gap: 1.4rem;
    padding: 1.8rem 1.4rem;
  }
  .slots-landing-banner-right { justify-content: flex-start; width: 100%; }
}
@media (max-width: 720px) {
  .slots-landing-topbar-inner { padding: 0.75rem 1rem; }
  .slots-landing-topnav-link:not(.slots-landing-topnav-link--cta):not(.is-active) { display: none; }
  .slots-landing-spotlight { padding: 1rem 1rem 2rem; }
  .slots-landing-spot-inner { padding: 1.3rem 1.15rem; border-radius: 24px; }
  .slots-landing-spot-ctas { width: 100%; }
  .slots-landing-spot-ctas .slots-landing-btn { width: 100%; }
  .slots-landing-thumb-xl { border-radius: 22px; }
  .slots-landing-stats { padding: 0 1rem; }
  .slots-landing-stats-inner { gap: 0.7rem; }
  .slots-landing-stat { padding: 0.9rem 1rem; border-radius: 16px; }
  .slots-landing-stat-icon { width: 40px; height: 40px; }
  .slots-landing-content-section { padding-left: 1rem; padding-right: 1rem; }
  .slots-landing-featured-section { padding-left: 1rem; padding-right: 1rem; }
  .slots-landing-banner { padding-left: 1rem; padding-right: 1rem; padding-bottom: 3.2rem; }
  .slots-landing-banner-inner { border-radius: 22px; }
  .slots-landing-banner-right .slots-landing-btn { width: 100%; }
}
@media (max-width: 520px) {
  .slots-landing-stats-inner { grid-template-columns: 1fr; }
  .slots-landing-fgrid { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .slots-landing-logo-text span { display: none; }
  .slots-landing-btn { padding: 0.92rem 1.25rem; border-radius: 13px; font-size: 0.93rem; }
  .slots-landing-title { font-size: 1.8rem; }
  .slots-landing-thumb-xl { max-width: 100%; }
  .slots-landing-ribbon { font-size: 0.65rem; padding: 0.3rem 0.65rem; }
  .slots-landing-banner-inner { padding: 1.5rem 1.1rem; border-radius: 20px; }
  .slots-landing-banner-tag { font-size: 0.7rem; }
}


/* -------------------- SECTION: blog.css -------------------- */
/* JHiDeX Blog Archive â€” Sama persis layout jhidex.net/blog
   1 Hero H1/subtitle â†’ 1 Big Featured Card full width â†’ 2 COL GRID posts.
   Lang: ID (Indonesia)
*/
.blog-hero { padding: 3rem 0 2rem; }
.blog-hero-card {
  position: relative; overflow: hidden; border-radius: 18px;
  background: linear-gradient(160deg, rgba(124,92,255,0.22), rgba(255,77,157,0.18) 60%, rgba(18,15,50,1));
  border: 1px solid rgba(124,92,255,0.25);
  padding: 3rem 2rem 2.5rem;
  box-shadow: 0 18px 50px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.08);
}
.blog-hero-card::before, .blog-hero-card::after {
  content:''; position:absolute; border-radius:50%; filter: blur(70px); opacity:0.75; pointer-events:none;
}
.blog-hero-card::before { width: 380px; height: 380px; background: #7c5cff; top: -180px; right: -80px; }
.blog-hero-card::after  { width: 300px; height: 300px; background: #ff4d9d; bottom: -150px; left: -60px; }
.blog-hero h1 {
  position: relative; z-index: 1;
  font-size: clamp(2.1rem, 5vw, 3.4rem); font-weight: 900;
  margin: 0 0 0.6rem; color: #fff; letter-spacing: -0.02em;
}
.blog-hero .subtitle {
  position: relative; z-index: 1;
  max-width: 820px; margin: 0;
  font-size: clamp(0.98rem, 1.8vw, 1.12rem); color: #c5beea; line-height: 1.6;
}

/* Big Featured (1st post - full width, unique) */
.blog-featured {
  display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 1.5rem; margin: 1.75rem 0 2.5rem;
  background: rgba(24,20,60, 0.78);
  border: 1px solid rgba(124,92,255,0.22);
  border-radius: 20px; overflow: hidden;
  box-shadow: 0 18px 40px rgba(0,0,0,0.42), inset 0 1px 0 rgba(255,255,255,0.06);
  transition: transform 0.25s ease, border-color 0.25s ease;
}
.blog-featured:hover {
  transform: translateY(-2px);
  border-color: rgba(255,77,157,0.45);
  box-shadow: 0 22px 55px rgba(124,92,255,0.2);
}
.blog-featured-img {
  position: relative; min-height: 360px; overflow: hidden;
  background: linear-gradient(135deg, #2a2066 0%, #1a1440 100%);
}
.blog-featured-img svg, .blog-featured-img img {
  width: 100%; height: 100%; object-fit: cover; display:block;
}
.blog-featured-body { padding: 2.2rem 2.2rem 2.2rem 0; display:flex; flex-direction: column; justify-content:center; }
.blog-chip-cat {
  display: inline-flex; align-items:center; gap: 0.3rem;
  padding: 0.3rem 0.7rem; border-radius: 999px;
  background: rgba(255, 201, 77, 0.14); color: #ffc94d;
  font-weight: 700; font-size: 0.78rem; letter-spacing: 0.02em;
  border: 1px solid rgba(255, 201, 77, 0.28);
  width: fit-content; margin-bottom: 1rem;
}
.blog-featured-body h2 {
  margin: 0 0 0.9rem; font-size: clamp(1.6rem, 3vw, 2.1rem);
  font-weight: 900; line-height: 1.15; color: #fff;
  letter-spacing: -0.02em;
}
.blog-featured-body h2 a { color: inherit; text-decoration: none; transition: color .2s; }
.blog-featured-body h2 a:hover { color: #ff4d9d; }
.blog-featured-body .excerpt {
  color: #b8b1dd; line-height: 1.7; font-size: 0.99rem;
  margin: 0 0 1.4rem;
}
.blog-meta-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.85rem;
  color: #8d86b3; font-size: 0.84rem;
}
.blog-meta-row .avatar {
  width: 30px; height: 30px; border-radius: 999px;
  background: linear-gradient(135deg, #7c5cff, #ff4d9d);
  color: #fff; font-weight: 800; font-size: 0.78rem;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 0 0 2px rgba(124,92,255,0.2);
}
.blog-meta-row .author { color: #e7e2ff; font-weight: 600; display:inline-flex; align-items:center; gap:0.45rem; }
.blog-meta-row .divider { opacity:0.35; }
.blog-meta-row .chip {
  padding: 0.18rem 0.55rem; border-radius: 6px;
  background: rgba(124,92,255,0.15); color: #c3b8ff;
  font-weight: 600; font-size: 0.78rem;
}
.blog-readmore {
  margin-top: 1.5rem; color: #ff4d9d; font-weight: 700; font-size: 0.9rem;
  display: inline-flex; align-items: center; gap: 0.3rem;
  text-decoration: none;
}
.blog-readmore:hover { gap: 0.6rem; }

/* GRID 2 COLUMNS (20 posts = 2 - 21) */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  padding: 0 0 4rem;
}
.blog-card {
  position: relative; display: flex; flex-direction: column;
  background: rgba(24,20,60, 0.72);
  border: 1px solid rgba(124,92,255,0.18);
  border-radius: 16px; overflow: hidden;
  box-shadow: 0 10px 28px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.05);
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.blog-card:hover {
  transform: translateY(-3px);
  border-color: rgba(124,92,255,0.4);
  box-shadow: 0 18px 42px rgba(124,92,255,0.15);
}
.blog-card-img {
  position: relative; width: 100%; aspect-ratio: 16/9; overflow:hidden;
  background: linear-gradient(135deg, #201a4e, #17123a);
  display: block;
}
.blog-card-img svg, .blog-card-img img { width:100%; height:100%; object-fit: cover; display:block; }
.blog-card-body { padding: 1.2rem 1.25rem 1.4rem; display: flex; flex-direction: column; flex:1; gap:0.7rem; }
.blog-card-body h3 {
  margin: 0; font-size: 1.08rem; font-weight: 800; line-height: 1.32; color: #fff;
  letter-spacing: -0.01em;
}
.blog-card-body h3 a { color: inherit; text-decoration: none; transition: color .2s; }
.blog-card-body h3 a:hover { color: #ff4d9d; }
.blog-card-excerpt {
  color: #a69fcd; line-height: 1.6; font-size: 0.88rem;
  margin: 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-card-body .blog-meta-row { margin-top: auto; padding-top: 0.2rem; border-top: 1px dashed rgba(124,92,255,0.16); }
.blog-card .blog-chip-cat { margin: 0; font-size: 0.72rem; padding: 0.2rem 0.6rem; }

/* Responsive */
@media (max-width: 980px) {
  .blog-featured { grid-template-columns: 1fr; }
  .blog-featured-img { min-height: 260px; }
  .blog-featured-body { padding: 1.5rem 1.5rem 1.75rem; }
  .blog-grid { grid-template-columns: 1fr; gap: 1.2rem; }
  .blog-hero-card { padding: 2.2rem 1.25rem 2rem; }
}
@media (max-width: 640px) {
  .blog-hero { padding-top: 1.75rem; }
  .blog-featured-img { min-height: 220px; }
  .blog-featured { margin-bottom: 2rem; }
  .blog-card-body h3 { font-size: 1.02rem; }
}


/* -------------------- SECTION: slots.css -------------------- */
.slot-layout {
  display: grid; grid-template-columns: minmax(0, 1fr) 360px;
  gap: 2rem; align-items: start;
}
@media (max-width: 1024px) { .slot-layout { grid-template-columns: 1fr; } }

/* ===== SLOT TEMPLATE LAYOUT VARIANTS ===== */
body.slot-layout--nosidebar .slot-layout {
  grid-template-columns: minmax(0, 1fr) !important;
}
body.slot-template-wide .slot-layout { max-width: 1400px; margin: 0 auto; }
body.slot-template-landing { overflow-x: hidden; }
body.slot-template-landing .page-wrap { max-width: 100% !important; padding: 0 !important; }
body.slot-template-landing #app-breadcrumb { display: none !important; }
body.slot-template-landing .slot-header-card {
  border-radius: 0;
  margin-top: 0;
  background: linear-gradient(135deg, rgba(236,72,153,0.15), rgba(168,85,247,0.15));
}
body.slot-template-minimal .slot-layout { max-width: 760px; margin: 0 auto; }
body.slot-template-minimal .slot-header-inner {
  grid-template-columns: 1fr;
  text-align: center;
}
body.slot-template-minimal .slot-thumb-xl {
  margin: 0 auto 1rem;
}
body.slot-template-blog .slot-header-card {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 40px -12px rgba(0,0,0,0.2);
}

.slot-header-card {
  border-radius: var(--radius-xl);
  padding: 1.5rem;
  position: relative;
  overflow: hidden;
  background: var(--bg-card);
  border: 1px solid var(--border-default);
}
.slot-header-inner {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) auto;
  gap: 1.5rem; align-items: center;
}
@media (max-width: 720px) {
  .slot-header-inner { grid-template-columns: 1fr; text-align: center; }
}
.slot-thumb-xl {
  width: 180px; height: 108px; border-radius: var(--radius-lg);
  background: var(--bg-secondary); background-size: cover; background-position: center;
  border: 1px solid var(--border-default);
  display: grid; place-items: center;
  font-weight: 800; font-size: 1rem; color: white;
  overflow: hidden;
  margin: 0 auto;
}
@media (max-width: 720px) { .slot-thumb-xl { width: 100%; height: 160px; } }
.slot-header-copy h1 {
  margin: 0 0 0.35rem 0;
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3.5vw, 2.2rem);
  font-weight: 800;
  color: var(--text-strong);
}
@media (max-width: 720px) { .slot-header-copy h1 br { display: none; } }
.slot-header-copy .meta-row {
  display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 0.6rem;
  align-items: center; color: var(--text-muted); font-size: 0.9rem;
}
@media (max-width: 720px) { .slot-header-copy .meta-row { justify-content: center; } }
.slot-header-copy .meta-row strong { color: var(--text); font-weight: 600; }
.slot-header-copy .tags-row { display: flex; flex-wrap: wrap; gap: 0.4rem; }
@media (max-width: 720px) { .slot-header-copy .tags-row { justify-content: center; } }
.slot-header-copy .tag-pill {
  font-size: 0.75rem; padding: 0.3rem 0.65rem;
  border-radius: 999px;
  background: var(--bg-secondary);
  color: var(--text);
  border: 1px solid var(--border-default);
}
.slot-header-actions { display: flex; flex-direction: column; gap: 0.5rem; }
@media (max-width: 720px) { .slot-header-actions { flex-direction: row; flex-wrap: wrap; justify-content: center; } }

.demo-frame-wrap { background: #000; }
.demo-frame-inner {
  aspect-ratio: 16 / 10;
  width: 100%;
  border-radius: var(--radius-md);
  position: relative;
  background:
    radial-gradient(ellipse at 50% 40%, rgba(124,92,255,0.22), transparent 60%),
    linear-gradient(180deg, #14112c, #0a0820);
  border: 1px solid var(--border-default);
  display: flex; align-items: center; justify-content: center;
  flex-direction: column;
  color: white;
  text-align: center;
  padding: 1.5rem;
}
.demo-frame-inner .demo-logo {
  width: 96px; height: 96px;
  border-radius: 24px;
  background: linear-gradient(135deg, var(--accent-pink), var(--accent-purple));
  display: grid; place-items: center;
  margin-bottom: 1.25rem;
  box-shadow: 0 10px 40px rgba(124,92,255,0.3);
  animation: floatGlow 4s ease-in-out infinite;
}
.demo-frame-inner h3 { margin: 0 0 0.35rem 0; font-size: 1.5rem; font-weight: 800; }
.demo-frame-inner p { margin: 0 0 1.5rem 0; color: rgba(255,255,255,0.7); max-width: 420px; line-height: 1.55; }
.demo-frame-inner .demo-controls { display: flex; gap: 0.6rem; flex-wrap: wrap; justify-content: center; }

.slot-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}
@media (max-width: 720px) { .slot-stats-grid { grid-template-columns: repeat(2, 1fr); } }
.slot-stat-box {
  background: var(--bg-secondary);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-lg);
  padding: 0.85rem 1rem;
}
.slot-stat-box .stat-label { font-size: 0.72rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.25rem; }
.slot-stat-box .stat-val { font-size: 1.1rem; font-weight: 700; color: var(--text-strong); font-family: var(--font-condensed); }
.rtp-high { color: var(--success) !important; }
.rtp-gold { color: var(--gold) !important; }

.slot-about h2 { margin-top: 0 !important; }
.slot-about h3 { margin-top: 1.4rem !important; }
.slot-about p { line-height: 1.75; color: var(--text); }
.slot-about .symbols-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 0.75rem; margin-top: 1rem; }
.slot-about .sym-item {
  padding: 1rem;
  background: var(--bg-secondary);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  text-align: center;
}
.slot-about .sym-icon {
  width: 44px; height: 44px;
  margin: 0 auto 0.5rem;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--accent-pink), var(--accent-purple));
  display: grid; place-items: center;
  font-size: 1.25rem;
}

.sticky-col { position: sticky; top: 92px; }
@media (max-width: 1024px) { .sticky-col { position: static; } }

.play-card { background: linear-gradient(135deg, rgba(255, 77, 157, 0.1), rgba(124, 92, 255, 0.1)); }
.play-card .play-glow { position: absolute; inset: -20%; pointer-events: none; background: radial-gradient(300px 180px at 90% 0%, rgba(255, 77, 157, 0.22), transparent 60%), radial-gradient(300px 180px at 10% 100%, rgba(124, 92, 255, 0.22), transparent 60%); }
.play-card .play-title { margin: 0 0 0.4rem 0; font-size: 1.05rem; font-weight: 800; color: var(--text-strong); }
.play-card .play-desc { color: var(--text-muted); font-size: 0.85rem; margin: 0 0 1rem 0; line-height: 1.55; }
.play-card .casino-list { display: flex; flex-direction: column; gap: 0.55rem; }
.play-card .mini-cas {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 0.65rem; align-items: center;
  padding: 0.6rem;
  background: var(--bg-card);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  transition: all 0.2s;
}
.play-card .mini-cas:hover { border-color: var(--accent-pink); transform: translateY(-1px); }
.play-card .mini-cas-logo {
  width: 44px; height: 44px; border-radius: 10px; background-size: cover; background-position: center; background-color: var(--bg-secondary); display: grid; place-items: center; color: white; font-weight: 800; font-size: 0.75rem; }
.play-card .mini-cas-info .mc-name { font-weight: 700; color: var(--text-strong); font-size: 0.9rem; }
.play-card .mini-cas-info .mc-bonus { font-size: 0.75rem; color: var(--accent-pink); font-weight: 600; }
.play-card .mini-cas .btn { padding: 0.45rem 0.75rem; font-size: 0.75rem; }

.bigwins-card h5 { margin: 0 0 0.75rem 0; font-size: 1rem; font-weight: 700; color: var(--text-strong); display: flex; align-items: center; gap: 0.35rem; }
.bw-mini-list { display: flex; flex-direction: column; gap: 0.55rem; }
.bw-mini-item {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 0.6rem; align-items: center;
  padding: 0.55rem;
  border-radius: var(--radius-md);
  background: var(--bg-secondary);
  border: 1px solid var(--border-default);
}
.bw-mini-thumb {
  width: 40px; height: 40px; border-radius: 10px;
  background-size: cover; background-position: center;
  display: grid; place-items: center; color: white; font-weight: 800; font-size: 0.7rem;
  background-color: var(--bg-tertiary);
}
.bw-mini-info .bwmi-slot { font-weight: 600; font-size: 0.85rem; color: var(--text-strong); }
.bw-mini-info .bwmi-time { font-size: 0.7rem; color: var(--text-muted); }
.bw-mini-mult { font-family: var(--font-condensed); font-weight: 800; font-size: 0.9rem; color: var(--accent-pink); text-align: right; }
.bw-mini-amt { font-size: 0.72rem; color: var(--gold); text-align: right; display: block; }


/* -------------------- SECTION: slot-demos.css -------------------- */
.demos-hero .demos-glow {
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(600px 260px at 10% 0%, rgba(255, 77, 157, 0.18), transparent 60%),
    radial-gradient(500px 260px at 90% 100%, rgba(124, 92, 255, 0.18), transparent 60%);
}

.tabs-bar {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.6rem; overflow-x: auto;
  border-radius: var(--radius-xl);
}
.tab-btn {
  padding: 0.55rem 0.95rem; white-space: nowrap;
  background: transparent; color: var(--text-muted);
  border: 1px solid transparent;
  border-radius: 10px; cursor: pointer;
  font-size: 0.875rem; font-weight: 600;
  transition: all 0.2s ease;
}
.tab-btn:hover { color: var(--text); background: var(--bg-secondary); }
.tab-btn.active {
  color: white;
  background: linear-gradient(135deg, rgba(255, 77, 157, 0.22), rgba(124, 92, 255, 0.22));
  border-color: rgba(255, 77, 157, 0.35);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.filter-bar { padding: 0.85rem 1rem; border-radius: var(--radius-xl); }
.filter-row {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)) auto;
  gap: 0.6rem; align-items: center;
}
@media (max-width: 820px) {
  .filter-row { grid-template-columns: 1fr 1fr; }
  .filter-row .f-search { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
  .filter-row { grid-template-columns: 1fr; }
}
.filter-field {
  position: relative; display: flex; align-items: center;
  background: var(--bg-secondary); border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  height: 42px; padding: 0 0.8rem;
  color: var(--text); gap: 0.5rem;
  transition: border-color 0.2s;
}
.filter-field:focus-within { border-color: var(--accent-pink); }
.filter-field svg { opacity: 0.7; flex-shrink: 0; color: var(--text-muted); }
.filter-field input, .filter-field select {
  all: unset; flex: 1; width: 100%; color: var(--text); font-size: 0.9rem;
}
.filter-field select { cursor: pointer; }
.filter-actions { display: flex; justify-content: flex-end; }

.filter-info {
  margin-top: 0.6rem 0 0; font-size: 0.8rem; color: var(--text-muted);
  padding-top: 0.6rem; border-top: 1px solid var(--border-subtle);
  display: flex; justify-content: space-between; align-items: center; gap: 0.75rem;
}
@media (max-width: 520px) { .filter-info { flex-direction: column; align-items: flex-start; } }

.grid-slots {
  animation: fadeIn 0.35s ease both;
}


/* -------------------- SECTION: LEGACY GLOBAL SINGLE FIX (final merged rules) -------------------- */
.post-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 2rem;
  align-items: start;
}
@media (max-width: 980px) {
  .post-layout { grid-template-columns: 1fr; }
}

/* ===== FIX: 3-COL POST LAYOUT WITH LEFT HOME SIDEBAR (GLOBAL POST v4) ===== */
.container.post-layout.post-layout-with-sidebar-left {
  max-width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: clamp(0.75rem, 2vw, 2rem) !important;
}
.post-layout.post-layout-with-sidebar-left {
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) 340px;
  gap: 1.25rem 1.5rem;
  align-items: start;
}
.post-layout.post-layout-with-sidebar-left > .post-content-wrap,
.post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > .post-content-wrap,
.post-layout.post-layout-with-sidebar-left > .post-main-three-col > .post-content-wrap {
  grid-column: 2;
  min-width: 0;
  width: 100%;
}
.post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
.post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
.post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar {
  grid-column: 3;
  min-width: 0;
}
/* Template variants with post-sidebar hidden â†’ 2 columns: home-sidebar + content */
body.post-layout--nosidebar .post-layout.post-layout-with-sidebar-left,
body.global-layout--nosidebar .post-layout.post-layout-with-sidebar-left,
body.template-wide .post-layout.post-layout-with-sidebar-left,
body.template-landing .post-layout.post-layout-with-sidebar-left,
body.template-minimal .post-layout.post-layout-with-sidebar-left,
html.post-template-wide .post-layout.post-layout-with-sidebar-left,
html.post-template-landing .post-layout.post-layout-with-sidebar-left,
html.post-template-minimal .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) !important;
}
body.post-layout--nosidebar .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.post-layout--nosidebar .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.post-layout--nosidebar .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar,
body.global-layout--nosidebar .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.global-layout--nosidebar .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.global-layout--nosidebar .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar,
body.template-wide .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.template-wide .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.template-wide .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar,
body.template-landing .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.template-landing .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.template-landing .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar,
body.template-minimal .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.template-minimal .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.template-minimal .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar {
  display: none !important;
}
/* Template landing full-width â†’ optional hide home-sidebar too for true edge-to-edge */
body.template-landing .post-layout.post-layout-with-sidebar-left > .home-sidebar,
html.post-template-landing .post-layout.post-layout-with-sidebar-left > .home-sidebar {
  display: none;
}
body.template-landing .post-layout.post-layout-with-sidebar-left,
html.post-template-landing .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: minmax(0, 1fr) !important;
}
/* Responsive: tablet collapse post-sidebar ke bawah */
@media (max-width: 1180px) {
  .post-layout.post-layout-with-sidebar-left { grid-template-columns: minmax(0, auto) minmax(0, 1fr); }
  .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
  .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
  .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar {
    grid-column: 1 / -1;
  }
}
/* Mobile: collapse home-sidebar ke row 1, content full, sidebar bawah */
@media (max-width: 980px) {
  .post-layout.post-layout-with-sidebar-left { grid-template-columns: 1fr; }
  .post-layout.post-layout-with-sidebar-left > .home-sidebar,
  .post-layout.post-layout-with-sidebar-left > .post-content-wrap,
  .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > .post-content-wrap,
  .post-layout.post-layout-with-sidebar-left > .post-main-three-col > .post-content-wrap,
  .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
  .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
  .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar {
    grid-column: 1 / -1;
  }
}

/* ===== DEFENSE: BLOCK OVERLAP TEXT + ISOLATE HERO/CONTENT ===== */
.post-content-wrap {
  position: relative !important;
  isolation: isolate !important;
  contain: layout paint;
}
.post-hero {
  position: relative !important;
  z-index: 3 !important;
  isolation: isolate !important;
}
.post-hero .hero-inner {
  position: relative !important;
  z-index: 10 !important;
}

/* ===== CLEANUP: AUTHOR CARD UNIFY (HINDARI DUPLIKAT 3 LOKASI) =====
   Default + Blog dengan sidebar VISIBLE: cukup 1 lokasi = sidebar author-card
   Wide/Minimal/Blog TANPA sidebar: tampilkan hero author-mini + footer author
   Landing: TANPA author info dimanapun (sesuai matrix template) */
.hero-meta > .author-mini { display: none; }
#post-footer-author { display: none; }
body.post-layout--nosidebar .hero-meta > .author-mini,
body.global-layout--nosidebar .hero-meta > .author-mini,
body.page-layout--nosidebar .hero-meta > .author-mini,
body.template-wide .hero-meta > .author-mini,
body.template-minimal .hero-meta > .author-mini,
body.template-blog .hero-meta > .author-mini,
html.post-template-wide .hero-meta > .author-mini,
html.post-template-minimal .hero-meta > .author-mini,
html.post-template-blog .hero-meta > .author-mini { display: flex; }
body.post-layout--nosidebar #post-footer-author,
body.global-layout--nosidebar #post-footer-author,
body.page-layout--nosidebar #post-footer-author,
body.template-wide #post-footer-author,
body.template-blog #post-footer-author,
html.post-template-wide #post-footer-author,
html.post-template-blog #post-footer-author { display: block; }
body.template-landing .hero-meta > .author-mini,
body.template-landing #post-footer-author,
body.template-landing #author-card,
html.post-template-landing .hero-meta > .author-mini,
html.post-template-landing #post-footer-author,
html.post-template-landing #author-card { display: none !important; }

/* ===== POST / PAGE TEMPLATE LAYOUT VARIANTS ===== */
body.post-layout--nosidebar .post-layout,
body.page-layout--nosidebar .post-layout,
body.global-layout--nosidebar .post-layout,
body.template-wide .post-layout,
body.template-landing .post-layout,
body.template-minimal .post-layout,
html.post-template-wide .post-layout,
html.post-template-landing .post-layout,
html.post-template-minimal .post-layout {
  grid-template-columns: minmax(0, 1fr) !important;
}
body.post-layout--nosidebar #author-card,
body.post-layout--nosidebar #toc-card,
body.page-layout--nosidebar #author-card,
body.page-layout--nosidebar #toc-card,
body.global-layout--nosidebar #author-card,
body.global-layout--nosidebar #toc-card {
  display: none !important;
}
body.template-wide .post-layout,
body.page-template-wide .post-layout,
html.post-template-wide .post-layout { max-width: 1280px; margin: 0 auto; }
body.template-landing { overflow-x: hidden; }
body.template-landing .page-wrap { max-width: 100% !important; padding: 0 !important; }
body.template-landing #app-breadcrumb,
body.post-template-landing #app-breadcrumb,
body.page-template-landing #app-breadcrumb { display: none !important; }
body.template-minimal .post-layout,
body.post-template-minimal .post-layout,
body.page-template-minimal .post-layout,
html.post-template-minimal .post-layout { max-width: 880px; margin: 0 auto; }
body.template-blog .post-layout,
html.post-template-blog .post-layout { max-width: 1280px; margin: 0 auto; }
body.template-blog .post-hero,
body.post-template-blog .post-hero {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 40px -12px rgba(0,0,0,0.2);
}
.post-hero {
  border-radius: var(--radius-xl);
  overflow: hidden;
  margin-bottom: 1.5rem;
  position: relative;
  min-height: 420px;
  background: var(--bg-secondary);
  border: 1px solid var(--border-default);
}
.post-hero .hero-thumb {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  background: linear-gradient(135deg, rgba(124, 92, 255, 0.35), rgba(255, 77, 157, 0.3));
}
.post-hero.global-blog .hero-thumb {
  background: linear-gradient(135deg, rgba(124, 92, 255, 0.4), rgba(80, 60, 200, 0.25));
}
.post-hero.global-slot-demos .hero-thumb,
.post-hero.global-slots .hero-thumb {
  background: linear-gradient(135deg, rgba(255, 77, 157, 0.4), rgba(124, 92, 255, 0.25));
}
.post-hero .hero-inner {
  position: relative; z-index: 2;
  padding: 3.75rem 2.25rem;
  min-height: 420px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.post-hero .cat-links {
  display: flex; flex-wrap: wrap; gap: 0.5rem;
  margin-bottom: 1rem;
}
.post-hero .cat-link {
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.02em;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: rgba(0,0,0,0.4);
  color: #fff;
  text-decoration: none;
  backdrop-filter: blur(8px);
}
.post-hero.global-blog .cat-link { background: rgba(124, 92, 255, 0.35); }
.post-hero.global-slot-demos .cat-link,
.post-hero.global-slots .cat-link { background: rgba(255, 77, 157, 0.35); }
.post-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 4.2vw, 2.5rem);
  font-weight: 800;
  line-height: 1.18;
  color: #fff;
  margin: 0 0 1rem 0;
  text-shadow: 0 2px 20px rgba(0,0,0,0.35);
  max-width: 900px;
}
.post-hero .hero-meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.55rem;
  font-size: 0.82rem;
  color: rgba(255,255,255,0.82);
}
.post-hero .hero-meta .dot-sep { opacity: 0.5; }
/* ðŸ‘‡ TAG CHIPS (sama styling dengan post.css) */
.tag-chip-row {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  vertical-align: middle;
  align-items: center;
}
.tag-chip {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.22rem 0.62rem;
  border-radius: 999px;
  line-height: 1.35;
  backdrop-filter: blur(8px);
  text-transform: capitalize;
  word-break: break-word;
  overflow-wrap: anywhere;
  -webkit-font-smoothing: antialiased;
  text-shadow: 0 1px 2px rgba(0,0,0,0.25);
}
.tag-chip:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
  transition: all 0.15s ease;
}
@media (max-width: 620px) {
  .tag-chip { font-size: 0.62rem; padding: 0.2rem 0.5rem; }
}
.author-mini {
  display: inline-flex; align-items: center; gap: 0.5rem;
}
.mini-avatar {
  width: 26px; height: 26px; border-radius: 50%;
  background: linear-gradient(135deg, #7c5cff, #ff4d9d);
  background-size: cover; background-position: center;
  display: grid; place-items: center;
  color: #fff; font-size: 0.68rem; font-weight: 700;
}

.post-body {
  font-size: 1rem;
  line-height: 1.78;
  color: var(--text-body);
}
.post-body h2, .post-body h3, .post-body h4 {
  font-family: var(--font-display);
  color: var(--text-strong);
  font-weight: 700;
  line-height: 1.28;
  margin: 2rem 0 0.9rem 0;
  scroll-margin-top: 90px;
}
.post-body h2 { font-size: 1.55rem; }
.post-body h3 { font-size: 1.25rem; }
.post-body h4 { font-size: 1.08rem; }
.post-body p { margin: 0 0 1.1rem 0; }
.post-body a {
  color: var(--accent-purple);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.15s;
}
.post-body a:hover { color: var(--accent-pink); text-decoration: underline; }
.post-body ul, .post-body ol { padding-left: 1.5rem; margin: 0 0 1.1rem 0; }
.post-body ul li { list-style: disc; margin: 0.3rem 0; }
.post-body ol li { list-style: decimal; margin: 0.3rem 0; }
.post-body blockquote {
  border-left: 4px solid var(--accent-purple);
  background: linear-gradient(135deg, rgba(124, 92, 255, 0.06), transparent);
  padding: 0.9rem 1.2rem;
  margin: 1.2rem 0;
  border-radius: 0 10px 10px 0;
  color: var(--text);
  font-style: italic;
}
.post-body img, .post-body video { max-width: 100%; border-radius: 12px; margin: 1rem 0; }
.post-body code:not(pre code) {
  background: var(--bg-secondary);
  padding: 0.15rem 0.45rem;
  border-radius: 6px;
  font-size: 0.9em;
  color: var(--accent-pink);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}
.post-body hr { border: none; border-top: 1px dashed var(--border-soft); margin: 1.8rem 0; }
.post-body strong, .post-body b { color: var(--text-strong); font-weight: 700; }

.grid-posts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.1rem;
}

.toc-card h5 { margin: 0 0 0.9rem 0; font-size: 0.98rem; color: var(--text-strong); overflow-wrap: anywhere; word-break: break-word; hyphens: auto; }
.toc-card ul { padding: 0; margin: 0; list-style: none; display: flex; flex-direction: column; gap: 0.35rem; }
.toc-card, .toc-card.p-5 {
  padding: 1.25rem 1.1rem !important;
  overflow: visible !important;
}
.toc-card li a {
  display: block;
  padding: 0.5rem 0.6rem;
  color: var(--text);
  text-decoration: none;
  border-radius: 8px;
  font-size: 0.88rem;
  border-left: 2px solid transparent;
  transition: all 0.15s;
  line-height: 1.45;
  overflow-wrap: anywhere;
  word-break: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  white-space: normal !important;
}
.toc-card li a:hover {
  background: var(--bg-secondary);
  color: var(--accent-purple);
  border-left-color: var(--accent-purple);
}
.toc-card .empty-toc { color: var(--text-muted); font-size: 0.82rem; padding: 0.4rem 0.2rem; }

.sidebar-author { text-align: center; padding: 1.5rem 1.2rem !important; }
.big-avatar {
  width: 84px; height: 84px; border-radius: 50%; margin: 0 auto 0.9rem;
  background: linear-gradient(135deg, #7c5cff, #ff4d9d);
  background-size: cover; background-position: center;
  display: grid; place-items: center;
  color: #fff; font-weight: 800; font-size: 1.6rem;
  border: 3px solid var(--bg-card);
  box-shadow: 0 0 0 3px rgba(124, 92, 255, 0.25);
}
.sidebar-author h5 { margin: 0 0 0.2rem 0; font-size: 1.02rem; }
.sidebar-author .author-title { color: var(--accent-purple); font-size: 0.8rem; font-weight: 600; margin-bottom: 0.5rem; }
.sidebar-author .author-bio { color: var(--text-muted); font-size: 0.84rem; line-height: 1.5; margin: 0 0 1rem 0; }

.cta-card, .cta-card.p-5 {
  position: relative;
  overflow: visible !important;
  padding: 1.25rem 1.1rem 1.3rem !important;
  border: 1px solid rgba(255,77,157,0.12) !important;
}
.cta-card::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at top right, rgba(255,77,157,0.18), transparent 60%); pointer-events: none; }
.cta-title { margin: 0 0 0.4rem 0; font-size: 1.05rem; color: var(--text-strong); overflow-wrap: anywhere; word-break: break-word; }
.cta-desc { margin: 0 0 0.6rem 0; font-size: 0.88rem; color: var(--text-body); line-height: 1.55; overflow-wrap: anywhere; word-break: break-word; }
.cta-code { margin: 0; font-size: 0.8rem; color: var(--text-muted); overflow-wrap: anywhere; word-break: break-word; }
.cta-code strong { color: var(--accent-pink); font-family: ui-monospace, monospace; }

/* ðŸ‘‡ SIDEBAR RIGHT: wrap card rapi, tanpa gap berantakan */
.post-sidebar .sticky-col {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.post-sidebar .home-card + .home-card { margin-top: 0 !important; }
aside.post-sidebar { min-width: 0; }

/* =========================================================
   ðŸŽ¨ UNIFORM SHADOW SYSTEM â€” SIDEBAR CARDS (MODERN 2026 DEPTH)
   3 Levels: Level 1 Base, Level 2 Info Glow, Level 3 Promo Glow
   ========================================================= */

/* LEVEL 1: BASE HOME CARD (semua sidebar cards inherit ini â€” backdrop blur + soft elevation) */
.post-sidebar .home-card,
.post-sidebar .home-card.p-4,
.post-sidebar .home-card.p-5,
.post-sidebar aside.home-card,
.post-sidebar div.home-card {
  backdrop-filter: blur(10px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(140%) !important;
  background: linear-gradient(180deg, rgba(31,26,66,0.92) 0%, rgba(21,18,46,0.88) 100%) !important;
  border: 1px solid rgba(255,255,255,0.075) !important;
  border-top: 1px solid rgba(255,255,255,0.11) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.055),
    0 18px 42px -22px rgba(0,0,0,0.72),
    0 10px 20px -16px rgba(124,92,255,0.22) !important;
  border-radius: 18px !important;
  position: relative !important;
  overflow: visible !important;
}
.post-sidebar .home-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(124,92,255,0.055), rgba(255,77,157,0.045) 60%, transparent 90%);
  z-index: 0;
}
.post-sidebar .home-card > * { position: relative; z-index: 1; }

/* LEVEL 2: INFO CARD (TOC + Author + Newsletter Sidebar) â€” extra purple soft glow */
.toc-card,
.toc-card.p-5,
.sidebar-author.post-author-card-modern,
.newsletter-sidebar-card {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.07),
    0 20px 48px -24px rgba(0,0,0,0.75),
    0 14px 28px -18px rgba(124,92,255,0.34),
    0 6px 14px -10px rgba(236,72,153,0.22) !important;
  border: 1px solid rgba(124,92,255,0.11) !important;
  border-top: 1px solid rgba(255,255,255,0.13) !important;
  background: linear-gradient(180deg, rgba(35,29,78,0.93) 0%, rgba(21,18,46,0.9) 100%) !important;
}

/* LEVEL 3: CTA PROMO CARD (Bonus Welcome) â€” dual pink/purple glow ELEGAN, TIDAK TEBEL */
.cta-card,
.cta-card.p-5 {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.09),
    inset 0 0 0 1px rgba(255,77,157,0.07),
    0 22px 50px -26px rgba(236,72,153,0.62),
    0 18px 38px -22px rgba(124,92,255,0.52),
    0 10px 20px -14px rgba(0,0,0,0.68) !important;
  border: 1px solid rgba(255,77,157,0.16) !important;
  border-top: 1px solid rgba(255,192,231,0.22) !important;
  background:
    radial-gradient(140% 80% at 10% 10%, rgba(255,77,157,0.135), transparent 55%),
    radial-gradient(120% 70% at 90% 90%, rgba(124,92,255,0.13), transparent 60%),
    linear-gradient(180deg, rgba(34,26,65,0.94) 0%, rgba(22,18,48,0.9) 100%) !important;
  position: relative;
  overflow: visible !important;
}
.cta-card::after {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(255,77,157,0.55) 50%, transparent 100%);
  pointer-events: none;
  border-radius: 999px;
  filter: blur(0.3px);
}
/* Override inline class .cta-card background-image lama (gradient flat) dengan bg radial baru */
.cta-card.p-5.cta-card,
.cta-card.home-card {
  background-image:
    radial-gradient(140% 80% at 10% 10%, rgba(255,77,157,0.135), transparent 55%),
    radial-gradient(120% 70% at 90% 90%, rgba(124,92,255,0.13), transparent 60%),
    linear-gradient(180deg, rgba(34,26,65,0.94) 0%, rgba(22,18,48,0.9) 100%) !important;
}

.global-breadcrumb {
  display: inline-flex; align-items: center; gap: 0.45rem;
  font-size: 0.76rem; font-weight: 600; letter-spacing: 0.02em;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: #fff;
  margin-bottom: 0.9rem;
  backdrop-filter: blur(6px);
}
.global-breadcrumb .sep { opacity: 0.5; }

/* Ã°Å¸â€˜â€¡ MODERN AUTHOR SIDEBAR CARD Ã°Å¸â€˜â€¡ */
.sidebar-author.post-author-card-modern {
  position: relative;
  overflow: hidden;
  padding: 1.6rem 1.4rem 1.5rem !important;
  text-align: center;
}
.author-card-top-gradient {
  position: absolute;
  inset: 0 0 auto 0;
  height: 100px;
  background: linear-gradient(180deg, rgba(236,72,153,0.22) 0%, rgba(139,92,246,0.12) 55%, transparent 100%);
  z-index: 0;
  pointer-events: none;
}
.sidebar-author.post-author-card-modern > * { position: relative; z-index: 1; }
.author-avatar-modern {
  margin: 0 auto 1rem;
  border: 3px solid rgba(255,255,255,0.14);
  box-shadow: 0 12px 24px -10px rgba(236,72,153,0.55);
  width: 86px;
  height: 86px;
  font-size: 1.5rem;
  font-weight: 800;
  color: #fff;
}
.author-name-modern {
  font-size: 1.15rem;
  font-weight: 750;
  margin-bottom: 0.2rem;
  letter-spacing: -0.01em;
  color: #fff;
}
.post-author-card-modern .author-title {
  font-size: 0.82rem;
  color: #e879f9;
  background: rgba(168,85,247,0.08);
  padding: 3px 10px;
  border-radius: 999px;
  display: inline-block;
  margin-bottom: 1rem;
  font-weight: 600;
}
.author-stats-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 0.85rem 0.2rem;
  margin: 0 -0.4rem 0.9rem;
  border-top: 1px solid rgba(255,255,255,0.07);
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.author-stat { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 62px; }
.as-num { font-weight: 800; font-size: 1.05rem; color: #fff; line-height: 1; }
.as-label { font-size: 0.72rem; color: var(--text-muted); font-weight: 500; text-transform: uppercase; letter-spacing: 0.06em; }
.author-stat-divider { width: 1px; height: 28px; background: linear-gradient(180deg, transparent, rgba(255,255,255,0.18), transparent); }
.post-author-card-modern .author-bio {
  text-align: center;
  margin: 0 0 0.9rem;
  color: var(--text-muted);
  font-size: 0.82rem;
  line-height: 1.65;
}
.post-author-socials { display: flex; justify-content: center; gap: 0.5rem; margin: 0 0 1rem; }
.pa-social-btn {
  width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 10px; font-size: 0.85rem; font-weight: 700; text-decoration: none;
  background: rgba(255,255,255,0.045); color: var(--text-muted);
  border: 1px solid rgba(255,255,255,0.07);
  transition: all 0.22s ease;
}
.pa-social-btn:hover {
  color: #fff; border-color: rgba(236,72,153,0.45);
  background: linear-gradient(135deg, rgba(236,72,153,0.18), rgba(139,92,246,0.18));
  transform: translateY(-2px);
}

/* Ã°Å¸â€˜â€¡ POST FOOTER AUTHOR BIO BOX Ã°Å¸â€˜â€¡ */
.post-author-footer-box {
  position: relative;
  overflow: hidden;
  padding: 1.8rem;
  border-radius: 20px;
}
.paf-gradient {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 90% 60% at 90% -10%, rgba(236,72,153,0.18), transparent 60%),
    radial-gradient(ellipse 60% 60% at 0% 100%, rgba(139,92,246,0.16), transparent 60%);
  pointer-events: none; z-index: 0;
}
.post-author-footer-box > * { position: relative; z-index: 1; }
.paf-avatar-wrap {
  position: absolute;
  top: 1.8rem;
  left: 1.8rem;
  z-index: 2;
}
.paf-avatar {
  width: 88px; height: 88px;
  border-radius: 20px;
  background: linear-gradient(135deg, #ec4899 0%, #8b5cf6 100%);
  color: #fff; font-weight: 800; font-size: 1.65rem;
  display: flex; align-items: center; justify-content: center;
  box-shadow:
    0 14px 30px -12px rgba(236,72,153,0.55),
    0 0 0 3px rgba(255,255,255,0.1),
    0 0 0 6px rgba(236,72,153,0.18);
  background-size: cover; background-position: center;
}
.paf-content {
  margin-left: calc(88px + 1.6rem);
  min-height: 88px;
}
.paf-head {
  display: flex; justify-content: space-between; align-items: flex-start;
  flex-wrap: wrap; gap: 1rem;
  margin-bottom: 1rem;
}
.paf-role-label {
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: #e879f9; margin-bottom: 0.35rem;
}
.paf-name {
  font-size: 1.45rem; font-weight: 850; letter-spacing: -0.02em;
  margin-bottom: 0.18rem; line-height: 1.1;
  background: linear-gradient(135deg, #fff 0%, #f5d0fe 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.paf-title {
  font-size: 0.88rem; color: var(--text-muted); font-weight: 500;
}
.paf-stats {
  display: flex; gap: 0.6rem; align-items: stretch;
}
.paf-stat {
  padding: 0.6rem 0.9rem;
  background: rgba(255,255,255,0.035);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 12px;
  display: flex; flex-direction: column; align-items: center; min-width: 84px;
}
.paf-num {
  font-size: 1.1rem; font-weight: 850; color: #fff; line-height: 1; margin-bottom: 0.25rem;
}
.paf-lbl {
  font-size: 0.68rem; color: var(--text-muted);
  font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase;
}
.paf-bio {
  color: var(--text-muted);
  line-height: 1.7;
  font-size: 0.94rem;
  margin-bottom: 1.1rem;
  padding-right: 1rem;
}
.paf-foot {
  display: flex; align-items: center; flex-wrap: wrap; gap: 0.7rem;
}
.pa-footer-social {
  width: 38px; height: 38px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 11px; font-weight: 700; text-decoration: none;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08);
  color: var(--text-muted);
  transition: all 0.2s ease;
}
.pa-footer-social:hover {
  transform: translateY(-2px);
  color: #fff; border-color: rgba(236,72,153,0.4);
  background: linear-gradient(135deg, rgba(236,72,153,0.2), rgba(139,92,246,0.2));
}
.paf-btn-follow {
  margin-left: auto;
  gap: 0.45rem;
  font-weight: 650;
}
@media (max-width: 640px) {
  .paf-avatar-wrap { position: static; margin-bottom: 1rem; }
  .paf-content { margin-left: 0; }
  .paf-head { flex-direction: column; }
  .paf-bio { padding-right: 0; }
  .post-author-footer-box { padding: 1.3rem; border-radius: 18px; }
  .paf-btn-follow { margin-left: 0; width: 100%; justify-content: center; }
}

/* Ã°Å¸â€˜â€¡ NEWSLETTER SIDEBAR CARD Ã°Å¸â€˜â€¡ */
.newsletter-sidebar-card {
  position: relative; overflow: hidden;
  padding: 1.4rem 1.15rem 1.25rem;
  text-align: center;
}
.nsc-gradient {
  position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background:
    radial-gradient(ellipse 100% 70% at 50% -30%, rgba(236,72,153,0.22), transparent 60%),
    radial-gradient(ellipse 80% 60% at 10% 110%, rgba(139,92,246,0.18), transparent 60%);
}
.newsletter-sidebar-card > * { position: relative; z-index: 1; }
.nsc-icon {
  width: 56px; height: 56px; margin: 0 auto 0.9rem;
  border-radius: 18px; font-size: 1.5rem;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(236,72,153,0.25), rgba(139,92,246,0.25));
  box-shadow: 0 0 0 1px rgba(236,72,153,0.3), 0 10px 22px -10px rgba(139,92,246,0.65);
  animation: nscFloat 4s ease-in-out infinite;
}
@keyframes nscFloat { 0%,100%{ transform: translateY(0);} 50% { transform: translateY(-8px);} }
.nsc-title {
  font-size: 1.05rem; font-weight: 800; margin-bottom: 0.45rem;
  background: linear-gradient(135deg, #fff 0%, #f9a8d4 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.nsc-desc {
  font-size: 0.78rem; color: var(--text-muted); line-height: 1.55;
  margin-bottom: 1rem; padding: 0 0.2rem;
}
.nsc-form { display: flex; flex-direction: column; gap: 0.55rem; }
.nsc-field {
  width: 100%; display: block;
}
.nsc-field input {
  width: 100%;
  padding: 0.68rem 0.9rem;
  border-radius: 11px;
  background: rgba(255,255,255,0.045);
  border: 1px solid rgba(255,255,255,0.09);
  color: #fff;
  font-size: 0.86rem;
  outline: none;
  transition: all 0.2s ease;
}
.nsc-field input::placeholder { color: rgba(255,255,255,0.35); }
.nsc-field input:focus {
  border-color: rgba(236,72,153,0.55);
  background: rgba(236,72,153,0.05);
  box-shadow: 0 0 0 4px rgba(236,72,153,0.12);
}
.nsc-submit { gap: 0.5rem; font-weight: 700; font-size: 0.9rem; padding-top: 0.7rem; padding-bottom: 0.7rem; }
.nsc-status {
  font-size: 0.74rem;
  padding: 0.4rem 0.55rem;
  border-radius: 8px;
  line-height: 1.4;
  text-align: left;
  min-height: 0;
}
.nsc-status.is-ok {
  background: rgba(34,197,94,0.12);
  color: #86efac;
  border: 1px solid rgba(34,197,94,0.25);
}
.nsc-status.is-err {
  background: rgba(239,68,68,0.12);
  color: #fca5a5;
  border: 1px solid rgba(239,68,68,0.25);
}
.nsc-foot {
  font-size: 0.7rem; color: var(--text-muted);
  margin-top: 0.3rem; padding-top: 0.6rem;
  border-top: 1px dashed rgba(255,255,255,0.08);
  font-weight: 500;
}

/* ðŸ‘‡ NEWSLETTER POST FOOTER CARD (COMPACT + MODERN) ðŸ‘‡ */
.post-newsletter-footer,
.post-newsletter-footer.home-card {
  position: relative !important;
  overflow: hidden !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0.95rem 1.15rem 1.05rem !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255,77,157,0.18) !important;
  background:
    linear-gradient(180deg, rgba(236,72,153,0.08) 0%, rgba(139,92,246,0.08) 100%),
    rgba(255,255,255,0.02) !important;
  background-color: transparent !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.08),
    0 18px 50px -28px rgba(236,72,153,0.6),
    0 10px 30px -20px rgba(139,92,246,0.6) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}
.post-newsletter-footer .pnf-bg-orb,
.post-newsletter-footer.home-card .pnf-bg-orb,
.pnf-bg-orb {
  position: absolute !important;
  border-radius: 999px !important;
  filter: blur(45px) !important;
  opacity: 0.42 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  display: block !important;
}
.pnf-o1 {
  width: 190px !important; height: 190px !important;
  left: -45px !important; top: -60px !important;
  background: radial-gradient(circle, #ec4899 0%, transparent 70%) !important;
  animation: pnfFloat 12s ease-in-out infinite;
}
.pnf-o2 {
  width: 170px !important; height: 170px !important;
  right: -25px !important; bottom: -55px !important;
  background: radial-gradient(circle, #8b5cf6 0%, transparent 70%) !important;
  animation: pnfFloat 14s 3s ease-in-out infinite;
}
@keyframes pnfFloat { 0%,100%{ transform: translateY(0);} 50% { transform: translateY(-8px);} }
.post-newsletter-footer > *:not(.pnf-bg-orb),
.post-newsletter-footer.home-card > *:not(.pnf-bg-orb) { position: relative !important; z-index: 1 !important; }
.pnf-grid {
  display: grid; grid-template-columns: 1.08fr 1fr;
  gap: 1.2rem; align-items: center;
}
.pnf-eyebrow {
  font-size: 0.68rem; font-weight: 800; letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #f0abfc;
  background: rgba(236,72,153,0.10);
  padding: 4px 11px;
  border-radius: 999px;
  display: inline-flex; align-items: center; gap: 0.35rem;
  margin-bottom: 0.5rem;
  border: 1px solid rgba(236,72,153,0.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}
.pnf-title {
  font-size: clamp(1.25rem, 2.1vw, 1.65rem);
  font-weight: 850; letter-spacing: -0.02em; line-height: 1.18;
  margin-bottom: 0.35rem;
}
.pnf-title .text-gradient {
  background: linear-gradient(135deg, #f472b6 0%, #c084fc 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.pnf-desc {
  color: var(--text-muted); line-height: 1.55;
  font-size: 0.85rem; margin-bottom: 0;
  padding-right: 0.5rem;
}
.pnf-form { display: flex; flex-direction: column; gap: 0.45rem; }
.pnf-form-row {
  display: flex; gap: 0.5rem; align-items: stretch;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.09);
  padding: 0.28rem;
  border-radius: 13px;
  transition: all 0.25s ease;
}
.pnf-form-row:focus-within {
  border-color: rgba(236,72,153,0.55);
  box-shadow: 0 0 0 4px rgba(236,72,153,0.12), 0 14px 38px -20px rgba(236,72,153,0.55);
  transform: translateY(-1px);
}
.pnf-field-wrap {
  flex: 1;
  display: flex; align-items: center; gap: 0.45rem;
  padding: 0 0.15rem 0 0.65rem;
  min-width: 0;
}
.pnf-field-icon {
  font-size: 0.92rem; opacity: 0.85; flex-shrink: 0;
}
.pnf-field-wrap input {
  flex: 1; width: 100%; min-width: 0;
  background: transparent; border: 0; outline: 0;
  padding: 0.55rem 0.3rem;
  color: #fff; font-size: 0.86rem;
}
.pnf-field-wrap input::placeholder { color: rgba(255,255,255,0.4); }
.pnf-submit {
  gap: 0.42rem; font-weight: 720; flex-shrink: 0;
  padding: 0.6rem 1rem; border-radius: 10px;
  font-size: 0.86rem;
}
.pnf-note {
  font-size: 0.7rem; color: var(--text-muted);
  display: flex; align-items: center; gap: 0.3rem;
  opacity: 0.92;
}
.pnf-status {
  font-size: 0.76rem;
  padding: 0.45rem 0.7rem;
  border-radius: 10px;
  line-height: 1.45;
  min-height: 0;
}
.pnf-status.is-ok {
  background: rgba(34,197,94,0.12);
  color: #86efac;
  border: 1px solid rgba(34,197,94,0.25);
}
.pnf-status.is-err {
  background: rgba(239,68,68,0.12);
  color: #fca5a5;
  border: 1px solid rgba(239,68,68,0.25);
}
@media (max-width: 820px) {
  .pnf-grid { grid-template-columns: 1fr; gap: 1rem; }
  .pnf-desc { padding-right: 0; }
  .post-newsletter-footer { padding: 1rem 1.05rem 1.08rem; border-radius: 18px; }
  .pnf-form-row { padding: 0.3rem; }
}
@media (max-width: 520px) {
  .post-newsletter-footer { padding: 1.4rem 1.1rem; border-radius: 18px; }
  .pnf-form-row { flex-direction: column; padding: 0.45rem; }
  .pnf-submit { width: 100%; justify-content: center; }
}

/* =============================================================
   POST TEMPLATE VARIANTS (wide / landing / minimal / blog)
   Injected by JS: body.template-{slug}  html.post-template-{slug}
   ============================================================= */

/* Ã¢â‚¬â€ Shared post-card modern hover (SharedUI.renderPostCard) Ã¢â‚¬â€ */
.post-card.home-card:hover {
  transform: translateY(-3px);
  border-color: rgba(255, 77, 157, 0.48) !important;
  box-shadow: 0 18px 44px rgba(255, 77, 157, 0.18), 0 0 0 1px rgba(124, 92, 255, 0.22) inset, 0 1px 0 rgba(255,255,255,.08) inset !important;
}
.post-card.home-card:hover .read-more { gap: .55rem !important; }
.post-card.home-card:hover .post-title a { color: #ff86ba !important; }
.post-card.home-card:hover .post-thumb-link .post-thumb { transform: scale(1.04); }
.post-card.home-card .post-thumb { transition: transform .5s cubic-bezier(.22,.61,.36,1); }

/* Ã¢â‚¬â€ TEMPLATE: WIDE / FULLWIDTH Ã¢â‚¬â€ hide sidebar, widen content Ã¢â‚¬â€ */
body.post-layout--nosidebar aside.post-sidebar,
body.template-wide aside.post-sidebar,
html.post-template-wide aside.post-sidebar { display: none !important; }
body.post-layout--nosidebar .post-content-wrap,
body.template-wide .post-content-wrap,
html.post-template-wide .post-content-wrap { width: 100%; max-width: 1080px; margin-inline: auto; }
body.post-layout--nosidebar .post-layout,
body.template-wide .post-layout,
html.post-template-wide .post-layout { max-width: 1280px; }
body.template-wide #post-body,
html.post-template-wide #post-body { font-size: 1rem; line-height: 1.8; padding: 1.6rem !important; }

/* Ã¢â‚¬â€ TEMPLATE: LANDING PAGE Ã¢â‚¬â€ big hero, no meta, CTA focus Ã¢â‚¬â€ */
body.template-landing #post-hero,
body.template-landing #post-hero > .post-hero,
html.post-template-landing #post-hero,
html.post-template-landing #post-hero > .post-hero {
  padding-bottom: 1rem;
  border-bottom: none !important;
}
body.template-landing #post-hero .hero-meta,
body.template-landing #post-hero > .post-hero .hero-meta,
html.post-template-landing #post-hero .hero-meta,
html.post-template-landing #post-hero > .post-hero .hero-meta { display: none !important; }
body.template-landing #post-hero h1,
body.template-landing #post-hero > .post-hero h1,
html.post-template-landing #post-hero h1,
html.post-template-landing #post-hero > .post-hero h1 {
  font-size: clamp(2rem, 4.6vw, 3.2rem) !important;
  line-height: 1.08 !important;
  background: linear-gradient(120deg, #ff7fb8 0%, #7c5cff 55%, #56c3ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: -.02em;
}
body.template-landing #post-hero .hero-inner > p,
body.template-landing #post-hero .hero-excerpt,
body.template-landing #post-hero > .post-hero .hero-inner > p,
html.post-template-landing #post-hero .hero-excerpt {
  font-size: 1.12rem;
  line-height: 1.7;
  color: #c8bfef;
  max-width: 68ch;
}
body.template-landing aside.post-sidebar,
html.post-template-landing aside.post-sidebar { display: none !important; }
body.template-landing .post-content-wrap,
html.post-template-landing .post-content-wrap { width: 100%; max-width: 1180px; margin-inline: auto; }
body.template-landing #post-body,
html.post-template-landing #post-body {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-size: 1.02rem;
  line-height: 1.78;
  color: #d8d2f6;
}
body.template-landing #post-body h2,
html.post-template-landing #post-body h2 {
  font-size: 1.85rem;
  margin-top: 2.2rem;
  padding-bottom: .6rem;
  border-bottom: 1px solid rgba(124,92,255,.18);
  color: #fff;
}

/* Ã¢â‚¬â€ TEMPLATE: MINIMAL ARTICLE Ã¢â‚¬â€ typography focus, no extras Ã¢â‚¬â€ */
body.template-minimal aside.post-sidebar,
html.post-template-minimal aside.post-sidebar { display: none !important; }
body.template-minimal .post-content-wrap,
html.post-template-minimal .post-content-wrap { width: 100%; max-width: 760px; margin-inline: auto; }
body.template-minimal #post-hero,
body.template-minimal #post-hero > .post-hero,
html.post-template-minimal #post-hero,
html.post-template-minimal #post-hero > .post-hero {
  padding: 1.8rem 0 1rem;
  border-bottom: 1px solid rgba(124,92,255,.14);
  margin-bottom: 1.8rem;
}
body.template-minimal #post-hero h1,
body.template-minimal #post-hero > .post-hero h1,
html.post-template-minimal #post-hero h1,
html.post-template-minimal #post-hero > .post-hero h1 {
  font-size: clamp(1.8rem, 3.6vw, 2.5rem);
  line-height: 1.2;
  letter-spacing: -.015em;
  font-weight: 800;
}
body.template-minimal #post-body,
html.post-template-minimal #post-body {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  font-size: 1.1rem !important;
  line-height: 1.95 !important;
  color: #d8d2f6 !important;
  font-feature-settings: "ss01", "ss02";
}
body.template-minimal #post-body h2,
html.post-template-minimal #post-body h2 {
  font-size: 1.55rem;
  margin-top: 2rem;
  color: #fff;
  letter-spacing: -.01em;
}
body.template-minimal #post-body h3,
html.post-template-minimal #post-body h3 { color: #fff; font-size: 1.22rem; }
body.template-minimal #post-body p,
html.post-template-minimal #post-body p { margin: 0 0 1.2rem; }
body.template-minimal #post-hero .hero-thumb,
body.template-minimal #post-hero > .post-hero .hero-thumb,
html.post-template-minimal .post-hero-featured-image {
  border-radius: 14px;
  box-shadow: 0 18px 52px rgba(0,0,0,.55);
  margin-bottom: 2rem;
  overflow: hidden;
}

/* ============================================================ */
/* === GLOBAL POST BLOG TEMPLATE (Template: Blog List Style) === */
/* ============================================================ */
/* Blog template menyuntikkan hero, content, sidebar, related posts SENDIRI ke DALAM
   #post-body via landing-blog.html. Oleh karena itu SEMUA slot luar (default GLOBAL POST)
   HARUS di-HIDE agar tidak tumpang tindih dengan yang ada di dalam template. */

/* 1) HIDE slot-slot luar DEFAULT yang TIDAK DIGUNAKAN lagi oleh blog template */
body.template-blog #post-hero,
body.global-template-blog #post-hero,
body.post-template-blog #post-hero,
body.post-using-blog-template #post-hero,
html.global-template-blog #post-hero,
html.post-template-blog #post-hero,
body.template-blog #author-card,
body.global-template-blog #author-card,
body.post-template-blog #author-card,
body.post-using-blog-template #author-card,
body.template-blog #toc-card,
body.global-template-blog #toc-card,
body.post-template-blog #toc-card,
body.post-using-blog-template #toc-card,
body.template-blog #newsletter-sidebar-card,
body.global-template-blog #newsletter-sidebar-card,
body.post-template-blog #newsletter-sidebar-card,
body.post-using-blog-template #newsletter-sidebar-card,
body.template-blog #cta-card,
body.global-template-blog #cta-card,
body.post-template-blog #cta-card,
body.post-using-blog-template #cta-card,
body.template-blog #pages-recent-cards,
body.global-template-blog #pages-recent-cards,
body.post-template-blog #pages-recent-cards,
body.post-using-blog-template #pages-recent-cards,
body.template-blog #post-acf,
body.global-template-blog #post-acf,
body.post-template-blog #post-acf,
body.post-using-blog-template #post-acf,
body.template-blog #post-footer-author,
body.global-template-blog #post-footer-author,
body.post-template-blog #post-footer-author,
body.post-using-blog-template #post-footer-author,
body.template-blog #post-footer-subscribe,
body.global-template-blog #post-footer-subscribe,
body.post-template-blog #post-footer-subscribe,
body.post-using-blog-template #post-footer-subscribe,
body.template-blog #related-posts,
body.global-template-blog #related-posts,
body.post-template-blog #related-posts,
body.post-using-blog-template #related-posts,
body.template-blog #app-breadcrumb,
body.global-template-blog #app-breadcrumb,
body.post-template-blog #app-breadcrumb,
body.post-using-blog-template #app-breadcrumb { display: none !important; }

/* 2) LAYOUT GRID 2 KOLOM RAPI: [HOME SIDEBAR NAV | BLOG CONTENT AREA]
   Hilangkan kolom ke-3 (outer aside.post-sidebar) yang KOSONG â€” karena
   sidebar kanan blog template SUDAH ADA DI DALAM #post-body. */
body.template-blog .post-layout.post-layout-with-sidebar-left,
body.global-template-blog .post-layout.post-layout-with-sidebar-left,
body.post-template-blog .post-layout.post-layout-with-sidebar-left,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left,
html.global-template-blog .post-layout.post-layout-with-sidebar-left,
html.post-template-blog .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) !important;
  gap: 1.25rem 1.5rem !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Sembunyikan KONTAINER kolom ke-3 = outer aside.post-sidebar (yang slotnya sudah
   di-clear di atas tapi wrapper-nya masih ada dan makan space 340px KOSONG) */
body.template-blog .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.template-blog .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.template-blog .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar,
body.global-template-blog .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.global-template-blog .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.global-template-blog .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar,
body.post-template-blog .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.post-template-blog .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.post-template-blog .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left > .post-main-three-col > aside.post-sidebar,
html.global-template-blog .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
html.global-template-blog .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
html.post-template-blog .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
html.post-template-blog .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar {
  display: none !important;
}
/* Pastikan post-content-wrap full di kolom ke-2 */
body.template-blog .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > .post-content-wrap,
body.global-template-blog .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > .post-content-wrap,
body.post-template-blog .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > .post-content-wrap,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > .post-content-wrap {
  grid-column: 2;
  min-width: 0;
  width: 100%;
  max-width: 100% !important;
}
body.template-blog .post-content-wrap,
body.global-template-blog .post-content-wrap,
body.post-template-blog .post-content-wrap,
body.post-using-blog-template .post-content-wrap { max-width: 100% !important; }

/* 3) ðŸ  HOME SIDEBAR KIRI â€” posisi STICKY RAPI sejajar konten
   Default punya margin-top:-58px untuk align dengan hero default GLOBAL POST.
   Di blog template: hero ada di DALAM #post-body, jadi sidebar JANGAN pakai
   margin negatif. */
body.template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar,
body.global-template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar,
body.post-template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left > .home-sidebar,
html.global-template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar,
html.post-template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar {
  position: fixed !important;
  top: 64px !important;
  left: 0 !important;
  width: 230px !important;
  height: calc(100vh - 64px) !important;
  max-height: calc(100vh - 64px - 0.5rem) !important;
  margin-top: 0 !important;
  scroll-margin-top: 64px !important;
  z-index: 95 !important;
  background: var(--color-bg-primary, #07051a) !important;
  border-right: 1px solid rgba(236, 72, 153, 0.12) !important;
}
body.sidebar-iconmode.template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar,
body.sidebar-iconmode.global-template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar,
body.sidebar-iconmode.post-template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar {
  width: 80px !important;
}
/* Padding kiri-kanan container KONSISTEN â€” tidak pincang kiri 0 */
body.template-blog .container.post-layout.post-layout-with-sidebar-left,
body.global-template-blog .container.post-layout.post-layout-with-sidebar-left,
body.post-template-blog .container.post-layout.post-layout-with-sidebar-left,
body.post-using-blog-template .container.post-layout.post-layout-with-sidebar-left {
  padding-left: clamp(0.75rem, 2vw, 2rem) !important;
  padding-right: clamp(0.75rem, 2vw, 2rem) !important;
}
body.template-blog section.section-wrap,
body.global-template-blog section.section-wrap,
body.post-template-blog section.section-wrap,
body.post-using-blog-template section.section-wrap {
  padding-top: 0.5rem !important;
  padding-bottom: 0 !important;
}

/* 4) BERSIHKAN .home-card YANG MENEMPEL PADA #post-body
   Secara default GLOBAL template memberi class .home-card pada #post-body yang menambah
   background/border/shadow/backdrop-filter/::before gradient â€” TIDAK DIPERLUKAN
   karena blog template punya styling visual SENDIRI di dalamnya. */
body.template-blog #post-body,
body.global-template-blog #post-body,
body.post-template-blog #post-body,
body.post-using-blog-template #post-body,
html.global-template-blog #post-body,
html.post-template-blog #post-body,
body.template-blog #post-body.post-body--blog-wrap,
body.global-template-blog #post-body.post-body--blog-wrap,
body.post-template-blog #post-body.post-body--blog-wrap,
body.post-using-blog-template #post-body.post-body--blog-wrap {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-top: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  position: static !important;
  isolation: auto !important;
}
body.template-blog #post-body::before,
body.global-template-blog #post-body::before,
body.post-template-blog #post-body::before,
body.post-using-blog-template #post-body::before,
html.global-template-blog #post-body::before,
html.post-template-blog #post-body::before {
  display: none !important;
  content: none !important;
}
body.template-blog .main-content-inner,
body.global-template-blog .main-content-inner,
body.post-template-blog .main-content-inner,
body.post-using-blog-template .main-content-inner,
body.template-blog .main-col,
body.global-template-blog .main-col,
body.post-template-blog .main-col,
body.post-using-blog-template .main-col {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 5) RESPONSIVE BREAKPOINTS â€” tetap rapi di tablet & mobile */
@media (max-width: 1180px) {
  body.template-blog .post-layout.post-layout-with-sidebar-left,
  body.global-template-blog .post-layout.post-layout-with-sidebar-left,
  body.post-template-blog .post-layout.post-layout-with-sidebar-left,
  body.post-using-blog-template .post-layout.post-layout-with-sidebar-left,
  html.global-template-blog .post-layout.post-layout-with-sidebar-left,
  html.post-template-blog .post-layout.post-layout-with-sidebar-left {
    grid-template-columns: minmax(0, auto) minmax(0, 1fr) !important;
  }
}
@media (max-width: 980px) {
  body.template-blog .post-layout.post-layout-with-sidebar-left,
  body.global-template-blog .post-layout.post-layout-with-sidebar-left,
  body.post-template-blog .post-layout.post-layout-with-sidebar-left,
  body.post-using-blog-template .post-layout.post-layout-with-sidebar-left,
  html.global-template-blog .post-layout.post-layout-with-sidebar-left,
  html.post-template-blog .post-layout.post-layout-with-sidebar-left {
    grid-template-columns: 1fr !important;
  }
  body.template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar,
  body.template-blog .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > .post-content-wrap,
  body.global-template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar,
  body.global-template-blog .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > .post-content-wrap,
  body.post-template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar,
  body.post-template-blog .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > .post-content-wrap,
  body.post-using-blog-template .post-layout.post-layout-with-sidebar-left > .home-sidebar,
  body.post-using-blog-template .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > .post-content-wrap {
    grid-column: 1 / -1 !important;
  }
}

/* ============================================================
   ðŸ†˜ OPSI TAMBAHAN (DEFAULT OFF): Mode Edge-to-Edge Fullwidth
   ------------------------------------------------------------
   Jika ingin HIDE HOME SIDEBAR JUGA (blog fullwidth seperti landing),
   hilangkan comment pada blok DI BAWAH ini. */
/*
body.template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar,
body.global-template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar,
body.post-template-blog .post-layout.post-layout-with-sidebar-left > .home-sidebar,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left > .home-sidebar { display: none !important; }
body.template-blog .post-layout.post-layout-with-sidebar-left,
body.global-template-blog .post-layout.post-layout-with-sidebar-left,
body.post-template-blog .post-layout.post-layout-with-sidebar-left,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: minmax(0, 1fr) !important;
}
*/
/* ============================================================ */

/* Ã¢â‚¬â€ Related posts modern polish (grid 3 col) Ã¢â‚¬â€ */
.section-wrap:has(#related-posts) { padding-top: 3rem; }
.posts-grid, #related-posts > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  padding-top: 1.6rem;
}
@media (max-width: 1040px) { .posts-grid, #related-posts > div { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .posts-grid, #related-posts > div { grid-template-columns: 1fr; gap: 1.2rem; } }

/* ===== RESPONSIVE HERO + RELATED POSTS (GLOBAL POST SINGLE) ===== */
@media (max-width: 1100px) {
  .post-hero .hero-inner { padding: 2rem 1.4rem; }
}
@media (max-width: 768px) {
  .post-hero { min-height: auto; border-radius: 16px; }
  .post-hero .hero-inner { padding: 1.6rem 1.2rem; }
  .post-hero .hero-inner > h1 { font-size: clamp(1.5rem, 4.6vw, 2.1rem) !important; line-height: 1.22 !important; }
  .post-body { padding: 1.1rem !important; }
  #post-body.p-5, #post-body.md\\:p-10 { padding: 1.2rem !important; }
}
@media (max-width: 620px) {
  .post-hero .hero-inner { padding: 1.3rem 1rem; min-height: auto; }
  .post-hero .hero-inner > h1 { font-size: clamp(1.4rem, 6.4vw, 1.85rem) !important; letter-spacing: -0.01em; }
  .posts-grid, #related-posts > div { grid-template-columns: 1fr !important; gap: 1rem; }
  .section-wrap:has(#related-posts) { padding-top: 1.6rem !important; }
}
@media (max-width: 480px) {
  .post-layout { gap: 1rem !important; padding-inline: 0 !important; }
  .container.post-layout { padding: 0 .8rem !important; }
}

/* =============================================================
   ✅ NEW: FLAT SLOT-LIKE LAYOUT FOR ALL GLOBAL SINGLE POSTS
   (BLOG / DEFAULT / WIDE / LANDING / MINIMAL â€” SEMUA PAKAI INI)
   Meng-override rule blog-template lama agar TIDAK BENTROK.
   Struktur = PERSIS SAMA DENGAN single.html slot-demos
   ============================================================= */

/* 1) Nonaktifkan SEMUA rule post-blog-* & #post-body wrapping blog template
      yang conflicting (karena sekarang pakai #article-header-wrap / #article-body-wrap) */
body.template-blog .post-layout.post-layout-with-sidebar-left,
body.global-template-blog .post-layout.post-layout-with-sidebar-left,
body.post-template-blog .post-layout.post-layout-with-sidebar-left,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left,
html.global-template-blog .post-layout.post-layout-with-sidebar-left,
html.post-template-blog .post-layout.post-layout-with-sidebar-left,
body.template-wide .post-layout.post-layout-with-sidebar-left,
body.global-template-wide .post-layout.post-layout-with-sidebar-left,
body.template-landing .post-layout.post-layout-with-sidebar-left,
body.template-minimal .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) 340px !important;
  gap: 1.25rem 1.5rem !important;
}
/* 2) Jika NO SIDEBAR (wide/landing/minimal) â†’ 2 col saja */
body.global-layout--nosidebar .post-layout.post-layout-with-sidebar-left,
body.post-layout--nosidebar .post-layout.post-layout-with-sidebar-left,
body.template-wide .post-layout.post-layout-with-sidebar-left,
body.global-template-wide .post-layout.post-layout-with-sidebar-left,
body.template-landing .post-layout.post-layout-with-sidebar-left,
body.template-minimal .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) !important;
}
/* Hide kolom 3 (post-sidebar luar) ketika no-sidebar */
body.global-layout--nosidebar > main .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.global-layout--nosidebar .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.post-layout--nosidebar .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.post-layout--nosidebar .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.template-wide .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.global-template-wide .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.template-landing .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
body.template-minimal .post-layout.post-layout-with-sidebar-left > aside.post-sidebar {
  display: none !important;
}
/* Landing: home-sidebar kiri juga hide â†’ 1 col full */
body.template-landing .post-layout.post-layout-with-sidebar-left > aside.home-sidebar,
body.template-landing .post-layout.post-layout-with-sidebar-left {
  display: none !important;
}
body.template-landing .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: minmax(0, 1fr) !important;
  display: grid !important;
}

/* 2.5) PENTING! PARENT GRID ASLI (YANG BENAR = .post-layout.post-layout-with-sidebar-left (inject shared-ui class),
   YANG ADA DI section-body-wrap DAN section-header-wrap.
   SEBELUMNYA grid 2 kol [home-sidebar | 1fr], kita EXPAND section BODY jadi 3 kol:
    [col1: 240px (home-sidebar-left spacer)] [col2: MAIN CONTENT] [col3: 340px (post-sidebar-kanan)] */
.section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: 240px minmax(0, 1fr) 340px !important;
  width: 100% !important;
  max-width: 1640px !important;
  margin-inline: auto !important;
  padding-inline: clamp(.75rem, 2.5vw, 2rem) !important;
  gap: 1.25rem 1.5rem !important;
}
/* Section header HANYA PERLU 2 kol [left sidebar | hero FULL lebar content + sidebar total 2+3 gabungan]: */
.section-wrap.section-header-wrap > .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: 240px minmax(0, 1fr) 0px !important;
  width: 100% !important;
  max-width: 1640px !important;
  margin-inline: auto !important;
  padding-inline: clamp(.75rem, 2.5vw, 2rem) !important;
}
.section-wrap.section-header-wrap > .post-layout.post-layout-with-sidebar-left > #article-header-wrap {
  grid-column: 2 / 4 !important; /* span kol 2 + kol 3 (gabung */
}
/* NoSidebar mode (wide/minimal/landing template): hapus kol 3sidebar kanan): */
body.global-layout--nosidebar .section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left,
body.template-wide .section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left,
body.global-template-wide .section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left,
body.post-template-wide .section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: 240px minmax(0, 1fr) !important;
}
body.global-layout--nosidebar .section-wrap.section-header-wrap > .post-layout.post-layout-with-sidebar-left,
body.template-wide .section-wrap.section-header-wrap > .post-layout.post-layout-with-sidebar-left,
body.global-template-wide .section-wrap.section-header-wrap > .post-layout.post-layout-with-sidebar-left,
body.post-template-wide .section-wrap.section-header-wrap > .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: 240px minmax(0, 1fr) !important;
}
body.global-layout--nosidebar .section-wrap.section-header-wrap > .post-layout.post-layout-with-sidebar-left > #article-header-wrap,
body.template-wide .section-wrap.section-header-wrap > .post-layout.post-layout-with-sidebar-left > #article-header-wrap {
  grid-column: 2 !important; /* HANYA kol 2saat no-sidebar / wide */
}
/* Template LANDING / MINIMAL (hide sidebar kiri juga → 1 kol atau 2 kol tanpa kol 1 = 100% content */
body.global-template-landing .section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left,
body.global-template-minimal .section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left,
body.template-landing .section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left,
body.template-minimal .section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: minmax(0, 1fr) 0px !important;
  max-width: 1280px !important;
}
body.global-template-landing .section-wrap.section-header-wrap > .post-layout.post-layout-with-sidebar-left,
body.global-template-minimal .section-wrap.section-header-wrap > .post-layout.post-layout-with-sidebar-left,
body.template-landing .section-wrap.section-header-wrap > .post-layout.post-layout-with-sidebar-left,
body.template-minimal .section-wrap.section-header-wrap > .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: minmax(0, 1fr) !important;
  max-width: 1280px !important;
}
/* ============== INJEKSI WRAPPER AGAR CHILDREN MASUK KE PARENT GRID KOL 2 & 3 ============== */
/* WRAPPER INJECT: #article-body-wrap DAN #article-header-wrap SETELAH display:contents AGAR CHILDREN (main-content DAN aside.post-sidebar BISA LANGSUNG MASUK KE PARENT GRID KOL 2 DAN 3 */
#article-body-wrap {
  display: contents !important;
  min-width: 0;
}
#article-header-wrap {
  display: contents !important;
}
/* 3) NEW WRAPPERS POSITION: pastikan post-content-wrap di #article-body-wrap masuk
     ke grid kolom ke-2, aside.post-sidebar masuk ke kol 3 DENGAN BENAR */
#article-header-wrap > *,
#article-body-wrap > .post-content-wrap,
.section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left > .post-content-wrap,
.section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left > #article-body-wrap > .post-content-wrap {
  grid-column: 2 !important;
  min-width: 0 !important;
  width: 100% !important;
}
/* post-sidebar LUAR (dari mainContent structure) -> kolom 3 */
#article-body-wrap > aside.post-sidebar,
.section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
.section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left > #article-body-wrap > aside.post-sidebar {
  grid-column: 3 !important;
  min-width: 0 !important;
  width: 100% !important;
}
body.global-layout--nosidebar #article-body-wrap > aside.post-sidebar,
body.global-layout--nosidebar .section-wrap.section-body-wrap > aside.post-sidebar {
  display: none !important;
}

/* ==========================================================
   [PERMANENT FIX: SPECIFICITY OVERRIDE (main#main-content PREFIX)]
   Menang lawan shared-ui default grid & bypass browser cache
   Specificity ID-selector > class-only selector + cascade order terakhir
   ========================================================== */
/* [SECTION BODY GRID 3 KOL: Left Sidebar | MAIN | RIGHT SIDEBAR WIDGETS] */
main#main-content .section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: 240px minmax(0, 1fr) 340px !important;
  width: 100% !important;
  max-width: 1640px !important;
  margin-inline: auto !important;
  padding-inline: clamp(.75rem, 2.5vw, 2rem) !important;
  gap: 1.25rem 1.5rem !important;
  display: grid !important;
}
/* [SECTION HEADER GRID: Left Sidebar | HERO SPAN kol2+kol3] */
main#main-content .section-wrap.section-header-wrap > .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: 240px minmax(0, 1fr) 0px !important;
  width: 100% !important;
  max-width: 1640px !important;
  margin-inline: auto !important;
  padding-inline: clamp(.75rem, 2.5vw, 2rem) !important;
  display: grid !important;
}
main#main-content .section-wrap.section-header-wrap > .post-layout.post-layout-with-sidebar-left > #article-header-wrap {
  grid-column: 2 / 4 !important;
}
/* VARIAN NoSidebar (wide/minimal/landing): hapus kol3 */
main#main-content body.global-layout--nosidebar .section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left,
main#main-content body.template-wide .section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left,
body.global-layout--nosidebar main#main-content .section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left,
body.template-wide main#main-content .section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: 240px minmax(0, 1fr) !important;
}
/* VARIAN LANDING/MINIMAL: 1 kol full */
body.global-template-landing main#main-content .section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left,
body.template-landing main#main-content .section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: minmax(0, 1fr) 0px !important;
  max-width: 1280px !important;
}
/* DISPLAY:CONTENTS - hapus intermediate wrapper inject agar children akses parent grid kol */
main#main-content #article-body-wrap {
  display: contents !important;
  min-width: 0;
}
main#main-content #article-header-wrap {
  display: contents !important;
}
/* ASSIGN EXPLICIT KOL GRID: Main = KOL2, Right Sidebar = KOL3 */
main#main-content #article-body-wrap > .post-content-wrap,
main#main-content .section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left > #article-body-wrap > .post-content-wrap {
  grid-column: 2 !important;
  min-width: 0 !important;
  width: 100% !important;
}
main#main-content #article-body-wrap > aside.post-sidebar,
main#main-content .section-wrap.section-body-wrap > .post-layout.post-layout-with-sidebar-left > #article-body-wrap > aside.post-sidebar {
  grid-column: 3 !important;
  min-width: 0 !important;
  width: 100% !important;
  display: block !important;
}
/* Hide sidebar kanan saat NoSidebar mode */
body.global-layout--nosidebar main#main-content #article-body-wrap > aside.post-sidebar,
body.global-layout--nosidebar main#main-content .section-wrap.section-body-wrap > aside.post-sidebar {
  display: none !important;
}

/* 4) SLOT-HEADER CARD (article header) UNTUK BLOG â€” tetap gunakan variable slot-header agar style = slot single */
.card.slot-header {
  background:
    radial-gradient(140% 80% at 0% 0%, rgba(255,77,157,0.10), transparent 55%),
    radial-gradient(120% 70% at 100% 100%, rgba(124,92,255,0.10), transparent 60%),
    linear-gradient(180deg, rgba(26,22,58,0.98) 0%, rgba(14,12,36,0.98) 100%);
  border: 1px solid rgba(255,255,255,0.06);
  border-top: 1px solid rgba(255,255,255,0.10);
  border-radius: 22px;
  overflow: visible;
  position: relative;
  backdrop-filter: blur(14px) saturate(150%);
  -webkit-backdrop-filter: blur(14px) saturate(150%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.06),
    0 22px 60px -32px rgba(0,0,0,0.82),
    0 14px 28px -18px rgba(124,92,255,0.28);
}
.card.slot-header::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(124,92,255,0.22), rgba(255,77,157,0.18) 45%, transparent 90%);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}
.slot-breadcrumb {
  display: inline-flex; align-items: center; gap: 0.45rem;
  font-size: 0.76rem; font-weight: 600; letter-spacing: 0.02em;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.07);
  color: rgba(255,255,255,.92);
  width: max-content;
  backdrop-filter: blur(6px);
}
.slot-breadcrumb a:hover { opacity: .8; }
.slot-breadcrumb .sep { opacity: .5; }

/* 5) RESPONSIVE â€” tablet (1180 kebawah): post-sidebar LUAR pindah kebawah */
@media (max-width: 1180px) {
  body.template-blog .post-layout.post-layout-with-sidebar-left,
  body.global-template-blog .post-layout.post-layout-with-sidebar-left,
  body.post-template-blog .post-layout.post-layout-with-sidebar-left,
  body.post-using-blog-template .post-layout.post-layout-with-sidebar-left,
  html.global-template-blog .post-layout.post-layout-with-sidebar-left,
  html.post-template-blog .post-layout.post-layout-with-sidebar-left,
  body:not(.global-layout--nosidebar):not(.template-landing) .post-layout.post-layout-with-sidebar-left {
    grid-template-columns: minmax(0, auto) minmax(0, 1fr) !important;
  }
  #article-body-wrap > aside.post-sidebar,
  .post-layout.post-layout-with-sidebar-left > aside.post-sidebar,
  .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar {
    grid-column: 1 / -1 !important;
  }
}

/* Mobile (980 kebawah): semua kolom 1 */
@media (max-width: 980px) {
  .post-layout.post-layout-with-sidebar-left {
    grid-template-columns: 1fr !important;
  }
  .post-layout.post-layout-with-sidebar-left > .home-sidebar,
  #article-header-wrap > *,
  #article-body-wrap > *,
  .post-layout.post-layout-with-sidebar-left > aside.post-sidebar {
    grid-column: 1 / -1 !important;
  }
  /* slot-header: thumb di atas, info di bawah, kolom 1 row */
  .card.slot-header > .grid.md\:grid-cols-\[320px_minmax\(0\,1fr\)\] {
    grid-template-columns: 1fr !important;
  }
  .card.slot-header .slot-thumb-wrap {
    aspect-ratio: 16/10 !important;
    max-height: 340px !important;
  }
  .card.slot-header .slot-demo-actions {
    flex-direction: column !important;
  }
  .card.slot-header .slot-demo-actions .btn {
    width: 100% !important;
  }
}
@media (max-width: 640px) {
  .card.slot-header { padding: 1.2rem 1rem !important; border-radius: 18px; }
  .card.slot-header .slot-thumb-wrap { max-height: 260px !important; }
  .card.slot-header h1.slot-title { font-size: clamp(1.35rem,5.6vw,1.8rem) !important; }
}

/* =============================================================
   âœ… FIX FINAL â€” Sticky Column Position + Sidebar Hide Complete
   ============================================================= */

/* 1) STICKY COL: top offset + max-height â€” TIDAK ADA SCROLLBAR VISIBLE (user request)
   Tetap bisa scroll via mouse wheel / gesture jika konten melebihi viewport.
   âœ… HAPUS contain/layout style, filter & shadow "cekung" â€” biar visual DATAR NATURAL
      (tidak terlihat seperti "masuk ke dalam ruang"). Hanya gunakan performance hint SAAT mode PIN. */
aside.post-sidebar {
  position: relative;
  padding: 0 !important;
  margin: 0 !important;
  contain: none !important;
  isolation: auto !important;
}
aside.post-sidebar > .slot-sidebar-gradient {
  display: none !important;
}
.sticky-col {
  position: sticky !important;
  top: calc(64px + 0.5rem) !important;
  align-self: start !important;
  /* âœ… FULL PANJANG FLAT â€” TIDAK ADA max-height & overflow = TIDAK ADA area scroll SENDIRI */
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  padding: 0 0 1.2rem 0 !important;
  /* âœ… Visual FLAT / DATAR, TIDAK ADA efek frame cekung */
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  backdrop-filter: none !important;
  border-radius: 0 !important;
  filter: none !important;
  transform: none !important;
}
.sticky-col::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}
.sticky-col::-webkit-scrollbar-track { background: transparent !important; }
.sticky-col::-webkit-scrollbar-thumb { background: transparent !important; }

/* Hapus inset shadow / border visual "cekung" di SEMUA card (home-card) YANG ADA DI DALAM sidebar kanan */
.sticky-col .home-card,
.sticky-col .sidebar-sticky > .home-card,
.sticky-col > .home-card,
.sticky-col aside, .sticky-col section,
aside.post-sidebar .home-card,
aside.post-sidebar > *,
aside.post-sidebar [class*="home-card"],
aside.post-sidebar [class*="sidebar-"] * {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
  /* âœ… HAPUS SEMUA JENIS INSET SHADOW (akar "masuk ke dalam ruang" di ATAS card) */
  filter: none !important;
  -webkit-filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  /* Border visual tipis SATU LAPIS, agar rata dengan container luar: */
  border: 1px solid rgba(124,92,255,0.10) !important;
  background: rgba(30,24,68,0.55) !important;
  background-color: rgba(30,24,68,0.55) !important;
  background-image: none !important;
  transform: none !important;
  isolation: auto !important;
  mix-blend-mode: normal !important;
}
/* âœ… HAPUS SEMUA pseudo-element frame / gradien overlay, BORDER TOP gradien di bagian ATAS card */
.sticky-col .home-card::before,
.sticky-col .home-card::after,
aside.post-sidebar .home-card::before,
aside.post-sidebar .home-card::after,
aside.post-sidebar [class*="sidebar-"]::before,
aside.post-sidebar [class*="sidebar-"]::after,
.toc-card::before, .toc-card::after,
.sidebar-sticky::before, .sidebar-sticky::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  background-image: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  box-shadow: none !important;
  border: none !important;
  filter: none !important;
  background-size: auto !important;
}

/* 1.0.1) âœ… SMART SIDEBAR (user request: "full tampil memanjang ke bawah, STICKY SAAT SCROLL NAIK")
          Di-toggle JS global-single.js smartSidebarPin():
            â€¢ SCROLL DOWN (user baca kebawah) â†’ body.sidebar-unpin  â†’ STATIC, FULL PANJANG
            â€¢ SCROLL UP   (user mau lihat TOC/score lagi) â†’ body.sidebar-pin â†’ STICKY top normal
          âœ… DUA-DUANYA FULL PANJANG â€” TIDAK ADA "area scroll sendiri" di dalam sidebar! */
body.sidebar-unpin aside.post-sidebar .sticky-col {
  position: static !important;
  top: auto !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  contain: none !important;
  transform: none !important;
}
body.sidebar-unpin aside.post-sidebar {
  padding-bottom: 2rem !important;
  contain: none !important;
}
/* SAAT MODE PIN (scroll up): sticky positioning aktif, tapi TETAP FULL PANJANG FLAT â€”
   TIDAK ADA overflow-y auto / max-height potong, TIDAK ADA area scroll SENDIRI di sidebar! */
body.sidebar-pin aside.post-sidebar .sticky-col {
  position: sticky !important;
  top: calc(64px + 0.5rem) !important;
  max-height: none !important;      /* âœ… hapus potongan height â€” full panjang */
  height: auto !important;
  overflow: visible !important;     /* âœ… overflow = visible, TIDAK ADA scroll internal */
  overflow-y: visible !important;
  contain: none !important;
  isolation: auto !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  filter: none !important;
  transform: none !important;
  backdrop-filter: none !important;
}
/* âœ… HAPUS SEMUA pseudo-element frame / gradien overlay yang bikin efek "cekung masuk ruang" di sticky-col PIN */
aside.post-sidebar::before,
aside.post-sidebar::after,
.sticky-col::before,
.sticky-col::after,
.sidebar-sticky::before,
.sidebar-sticky::after,
#article-body-wrap > aside.post-sidebar::before,
#article-body-wrap > aside.post-sidebar::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  background-image: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  box-shadow: none !important;
  border: none !important;
  filter: none !important;
}
/* Juga hapus gradien overlay "slot-sidebar-gradient" di semua possible lokasi */
aside.post-sidebar > *:first-child[class*="gradient"],
aside.post-sidebar > [class*="-gradient"],
.sticky-col > [class*="gradient"] {
  display: none !important;
}

/* 1.1) âœ… SOLUSI UTAMA â€” SIDEBAR KIRI DI DEPAN FOOTER (seperti HOME), SIDEBAR KANAN DI BAWAH FOOTER
         User request REVERSE dari sebelumnya: "harusnya sticky di depan footer di bagian kiri"

         âœ… STRATEGI SAMA PERSIS DENGAN HALAMAN HOME (yang user bilang BENAR):
         -----------------------------------------------------------------------------------
         LAYER 1 (TERDEPAN) : .home-sidebar (kiri)          z-index 95 â†’ DI ATAS footer
         LAYER 2             : footer                        z-index 50 â†’ DI ATAS post-sidebar kanan
         LAYER 3 (TERBAWAH) : .post-sidebar (kanan)         z-index 2 â†’ DI BAWAH footer

         HASIL AKHIR (SESUAI REQUEST):
         - Bagian KIRI (230px sidebar): Sticky TRACKING/TOOLS MENU TETAP TERLIHAT di DEPAN footer
           (karena 95 > 50) â€” PERSIS SEPERTI DI HALAMAN HOME âœ…
         - Bagian TENGAH + KANAN: Footer TETAP TAMPIL UTUH, TIDAK tertutup thumbnail/score/TOC sidebar kanan
           (karena 50 > 2) âœ…

         LAYER TAMBAHAN: padding-bottom 852px di section terakhir â†’ sticky col kanan berhenti
         secara alami via position:sticky spec (parent reach bottom â†’ sticky deactivate),
         bahkan sebelum z-index mechanism bekerja. */

/* --- LAYER 1: STOP STICKY COL KANAN via position:sticky spec ALAMI + JARAK SEHAT KE FOOTER ---
   âš ï¸ FIX 2026-08-15: Sebelumnya pakai padding-bottom:852px BESAR (peninggalan lawas saat sticky punya max-height 100vh).
   SEKARANG sticky sidebar FULL-PANJANG TANPA max-height! Maka TIDAK PERLU padding 852px BESAR lagi.
   Cukup padding-bottom 24px saja (jarak rapi ke footer / related-section bawah). */
main#main-content > article.section-wrap.section-body-wrap {
  padding-bottom: 24px !important;
}
#article-body-wrap > aside.post-sidebar {
  padding-bottom: 0 !important;          /* TIDAK perlu, post-sidebar turun natural mengikuti content */
  contain: none !important;              /* dari rule sebelumnya: hapus contain biar visual flat */
  isolation: auto !important;
}

.home-sidebar {
  position: fixed !important;
  z-index: 95 !important;
}

footer,
.app-footer,
.site-footer,
[class*="app-footer"],
[id*="footer-wrap"] {
  position: relative !important;
  z-index: 50 !important;
  isolation: isolate !important;
}

/* Post-sidebar KANAN (thumb/score/specs/TOC): DI BAWAH footer â€” TIDAK PERNAH menutupi footer âœ… */
aside.post-sidebar {
  position: relative !important;
  z-index: 2 !important;
}

/* âš ï¸ KRITICAL FIX: JANGAN set position:relative + z-index pada main#main-content!
   Ini akan membuat STACKING CONTEXT di main, menyebabkan .home-sidebar (fixed position)
   Z-INDEX NYA TERKURUNG di dalam main (tidak bisa menembus footer di luar main).
   Solusi: main set position static / auto â†’ .home-sidebar position:fixed z:95
   keluar ke root stacking context â†’ BERHASIL di atas footer z:50 âœ… */
main#main-content,
#main-content {
  position: static !important;
  z-index: auto !important;
}
/* Hapus juga stacking context dari .container.section.parent di sekitar home-sidebar,
   agar fixed position .home-sidebar BENAR-BENAR keluar ke root layer (sama seperti HOME): */
main#main-content > article.section-wrap,
.container.slot-layout,
.slot-layout.post-layout,
.post-layout.post-layout-with-sidebar-left,
#article-header-wrap,
#article-body-wrap {
  position: static !important;
  z-index: auto !important;
}

/* 1.5) âœ… TARIK SECTION CONTENT NAIK â€” cover gambar & thumbnail sidebar kanan DEKAT dengan bawah HERO
   User request: "cover gambar di bawah hero dan sidebar kanan di geser naik agar dekat dengan hero"
   User update: "masih kurang" â†’ DITINGKATKAN dari -1.75rem â†’ -3.5rem (56px naik)
   z-index relative + isolation agar tidak overlap HERO CTA buttons (Read/Share) */
#article-body-wrap > .post-content-wrap {
  margin-top: -3.5rem !important;   /* DINAikKAN 2x lipat dari sebelumnya */
  position: relative !important;
  z-index: 2 !important;
}
#article-body-wrap > aside.post-sidebar {
  margin-top: -3.5rem !important;   /* SAMA dengan post-content-wrap â†’ GARIS ATAS cover dan thumbnail TETAP SEJAJAR presisi */
  position: relative !important;
  z-index: 2 !important;
}
/* Safety: HINDARI overlap dengan CTA buttons HERO di ATASNYA */
.card.slot-header {
  margin-bottom: 0 !important;
  padding-bottom: 1.2rem !important;   /* slot-header sendiri padding bawahnya juga dikurangi agar tombol tidak terlalu kebawah */
}

/* 2) LENGKAPI SELECTOR HIDE SIDEBAR untuk WRAPPER display:contents
   Sebelumnya cuma ada direct child `> aside.post-sidebar`, padahal struktur
   sidebar baru melewati `#article-body-wrap[style*="display:contents"]`
   â†’ Tanpa ini, sidebar di template wide/landing/minimal TIDAK akan di-hidden! */
body.template-wide .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.global-template-wide .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
html.template-wide .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,

body.template-landing .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.global-template-landing .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
html.template-landing .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,

body.template-minimal .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
body.global-template-minimal .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar,
html.template-minimal .post-layout.post-layout-with-sidebar-left > [style*="display:contents"] > aside.post-sidebar {
  display: none !important;
}

/* 3) Untuk BLOG & DEFAULT TEMPLATE: PASTIKAN KOL 3 SELALU ADA (override conflict rule)
   Lawan semua rule yang tidak sengaja menghilangkan kolom 3 untuk template-blog & default */
body.template-blog .post-layout.post-layout-with-sidebar-left,
body.post-using-blog-template .post-layout.post-layout-with-sidebar-left,
html.global-template-blog .post-layout.post-layout-with-sidebar-left {
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) 340px !important;
}
/* Pastikan post-content-wrap (kol 2) dan post-sidebar (kol 3) tersusun benar */
body.template-blog #article-body-wrap > .post-content-wrap {
  grid-column: 2 !important;
}
body.template-blog #article-body-wrap > aside.post-sidebar {
  grid-column: 3 !important;
  display: block !important;
}

/* 4) OVERFLOW SAFETY â€” hindari terpotong karena min-width:0 tidak terpasang */
.post-content-wrap > *,
.blog-main-col > *,
.home-card {
  min-width: 0;
}
.blog-main-col {
  min-width: 0;
  width: 100%;
  max-width: 100%;
}
.post-content-wrap {
  min-width: 0;
  overflow: hidden;
}
#article-body-wrap,
#article-header-wrap {
  min-width: 0;
}

/* =============================================================
   âœ… FINAL SIDEBAR TOP FIX â€” Tidak Terpotong / Tertutup
   ============================================================= */

/* 1) PASTIKAN BADGE di COVER CARD sebelah KIRI TIDAK BOCOR ke AREA SIDEBAR (fix text "VIDE" terpotong / bocor)
   Masalah: badge PROVIDER / slot-cat di dalam demo-frame-wrap overflow ke luar sisi kanan
   karena .demo-frame-wrap sendiri punya overflow tapi parent-nya punya border-radius 22px
   dan sibling post-sidebar posisinya overlap horizontal 1-2 px karena gap grid 1.5rem.
   Solusi: clip-path inset sederhana TANPA round (biar kompatibel semua browser),
   overflow hidden BERTINGKAT, dan z-index layering: content-wrap lebih depan dari sidebar. */
.post-content-wrap {
  position: relative !important;
  z-index: 3 !important;              /* cover card di depan, sidebar belakang */
}
#article-body-wrap > aside.post-sidebar {
  position: relative !important;
  z-index: 2 !important;
}
.blog-main-col > .home-card,
.blog-cover-card,
.blog-cover-card .demo-frame-wrap,
.demo-frame-wrap {
  overflow: hidden !important;
  position: relative !important;
  clip-path: inset(0 0 0 0) !important; /* tidak pakai round() karena tidak didukung semua browser â€” cukup 0 inset */
  border-radius: 22px !important;       /* border-radius biasa sudah cukup */
  isolation: isolate !important;
}
/* khusus child di dalam cover card â€” apapun yang keluar dari radius harus terpotong */
.blog-cover-card > *,
.demo-frame-wrap > * {
  clip-path: inset(0 0 0 0);
}

/* 2) SIDEBAR KANAN â€” ALIGN TOP PRESISI dengan cover card sebelah kiri
   User request: "sidebar sejajarkan dengan gambar di samping kirinya" â†’ "ok, kurang sedikit saja"
   âœ… KRITICAL FIX: Hapus overwrite margin-top:0 yang sebelumnya bikin sidebar TIDAK NAIK
   âœ… FINAL: -3.8rem = -3.5rem (sama post-content-wrap) + -0.3rem ekstra naik presisi 4.8px */
#article-body-wrap > aside.post-sidebar {
  padding-top: 0 !important;           /* hapus push ke bawah */
  margin-top: -3.8rem !important;      /* âœ… dari -3.65rem â†’ -3.8rem (NAIK 2.4px LAGI, user request kurang sedikit) */
  min-width: 0;
  align-self: start !important;        /* tarik ke atas grid alignment presisi */
}
#article-body-wrap > aside.post-sidebar .sticky-col {
  padding-top: 0 !important;           /* hapus push ke bawah di dalam sticky-col */
  padding-right: 3px;
  gap: 1.1rem !important;
  align-self: start !important;
}
/* Card PERTAMA di sidebar (thumbnail) â€” margin-top 0 agar menempel ke atas sticky wrapper */
#article-body-wrap > aside.post-sidebar .sticky-col > *:first-child {
  margin-top: 0 !important;
}
/* Sticky top offset â€” disamakan untuk KEDUA KOLOM (64px + 0.5rem = 72px)
   â†’ garis ATAS thumbnail sidebar KANAN akan SEJAJAR persis dengan garis ATAS cover card KIRI
   âœ… Di-update: top offset dikurangi 0.5rem agar lebih naik (presisi align dengan cover kiri) */
#article-body-wrap > aside.post-sidebar .sticky-col {
  top: calc(64px + 0.5rem) !important;   /* dari 64+1rem â†’ 64+0.5rem (8px lebih naik) */
  max-height: calc(100vh - 64px - 1rem) !important;
}

/* 3) THUMBNAIL CARD (blog-side-thumbcard) â€” sisi atas kiri & kanan tidak terpotong / keluar border
   Masalah: gambar SVG berisi partikel bintang di pinggiran â€” ketika zoom keluar dari border-radius 18px
   terlihat "keluar" di sudut kiri-atas. Solusi: overflow + clip-path BERTINGKAT, scale dikurangi,
   object-position digeser ke BAWAH sedikit agar bagian atas gambar punya ruang nafas di dalam frame. */
.home-card.blog-side-thumbcard {
  overflow: hidden !important;
  position: relative;
  z-index: 1;
  border-radius: 18px !important;
  isolation: isolate !important;
  clip-path: inset(0 0 0 0 round 18px) !important; /* potong TEPAT mengikuti border radius 18px */
  -webkit-mask-image: -webkit-radial-gradient(white, black); /* fallback Safari */
  mask-image: radial-gradient(white, black);
}
/* Zoom DIKURANGI dari 1.18 â†’ 1.06 agar partikel pinggiran tidak keluar */
.home-card.blog-side-thumbcard img {
  object-fit: cover !important;
  object-position: 50% 58% !important; /* geser ke BAWAH â€” agar bagian ATAS gambar ada ruang 8-10% di atas, partikel atas tidak keluar */
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  display: block !important;
  transform: scale(1.06) !important;    /* ZOOM 6% SAJA â€” cukup hilangkan text PROVIDER pinggir tanpa buat partikel keluar */
  transform-origin: 50% 62% !important; /* origin geser ke bawah sedikit agar pengecilan zoom lebih banyak di ATAS */
  filter: saturate(1.1) contrast(1.04) !important;
  will-change: transform;
}
/* Ratio 4:3 default â€” DAN overflow + clip-path lagi (double safety) */
.home-card.blog-side-thumbcard > div:first-child {
  aspect-ratio: 4 / 3;
  overflow: hidden !important;
  position: relative;
  z-index: 1;
  clip-path: inset(0 0 0 0 round 18px) !important;
  border-radius: 18px !important;
}

/* OVERLAY: tutup text BLOG JHIDEX di tengah dan gelapkan bawah */
.home-card.blog-side-thumbcard > div:first-child::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: 
    /* ATAS: gelapkan TIPIS, agar tidak polos tapi partikel bintang redup */
    linear-gradient(180deg, rgba(10,8,32,0.18) 0%, rgba(10,8,32,0.05) 22%, rgba(10,8,32,0) 38%),
    /* TENGAH: TUTUP text BLOG JHIDEX dan subtitle di dalam gambar SVG */
    radial-gradient(ellipse 110% 52% at 50% 54%, rgba(10,8,32,0.58) 0%, rgba(10,8,32,0.32) 52%, rgba(10,8,32,0) 80%),
    /* BAWAH: gelapkan agar author badge terbaca */
    linear-gradient(0deg, rgba(10,8,32,0.80) 0%, rgba(10,8,32,0.35) 48%, rgba(10,8,32,0) 72%);
}
/* Bottom overlay */
.home-card.blog-side-thumbcard > div:first-child::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 52% !important;
  background: linear-gradient(180deg, transparent 0%, rgba(10,8,32,0.50) 48%, rgba(10,8,32,0.82) 100%) !important;
  z-index: 3 !important;
  pointer-events: none !important;
}

/* Badge JHIDEX.NET top-left â€” tambah margin safe agar tidak keluar border radius */
.home-card.blog-side-thumbcard > div:first-child > div:first-child {
  z-index: 10 !important;
  top: 1rem !important;       /* naik dari 0.9 â†’ 1rem (jarak aman 16px) */
  left: 1rem !important;      /* jarak aman kiri 16px â€” tidak keluar border-radius 18px */
  box-shadow: 0 8px 20px -6px rgba(236,72,153,.65) !important;
}
/* Badge Senior iGaming Writer bottom-left â€” pastikan tidak keluar border bawah */
.home-card.blog-side-thumbcard > div:first-child > div:last-of-type {
  z-index: 10 !important;
  bottom: 1rem !important;
  left: 1rem !important;
  right: auto !important;
  max-width: 82% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* 4) CARD SCORE & SPECS â€” top card rata, jarak dari thumb konsisten */
.blog-side-scorecard,
.blog-side-specs {
  margin-top: 0 !important;
}

/* =============================================================
   âœ… CONTENT SAFETY â€” Artikel: padding cukup, wrap natural, tidak mepet pinggir
   User request: "rapikan bagian konten artikel agar tidak ada yang terlalu mepet
   pinggir atau keluar area untuk text nya" + wrap natural (bukan break per huruf).
   ============================================================= */

/* 1) CARD CONTENT (About this article) â€” TINGKATKAN PADDING kiri/kanan agar text tidak mepet border  */
.home-card.slot-about.blog-content-card {
  padding-left: clamp(1.4rem, 2.6vw, 2.2rem) !important;
  padding-right: clamp(1.4rem, 2.6vw, 2.2rem) !important;
  padding-top: 1.8rem !important;
  padding-bottom: 2rem !important;
  overflow: hidden !important;
  border-radius: 22px !important;
  clip-path: inset(0 0 0 0 round 22px) !important; /* double prevent: text/out-of-flow tidak keluar border radius */
  min-width: 0 !important;
  position: relative;
}

/* 2) SECTION HEADER (eyebrow FULL ARTICLE + About this article H2)
   Masalah lama: badge "FULL ARTICLE" terpotong setengah di KIRI karena margin-left negatif / 0
   Solusi: pastikan badge inline dengan padding kiri card, tidak keluar area */
.home-card.slot-about.blog-content-card > header.slot-section-head {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-bottom: 1.4rem !important;
  min-width: 0 !important;
  overflow: visible !important; /* badge bisa extend tapi parent card punya overflow:hidden + clip, jadi masih aman */
}
/* eyebrow pill (FULL ARTICLE / RECOMMENDED dll) â€” pastikan di dalam area padding card, TIDAK terpotong kiri */
.home-card.slot-about.blog-content-card .slot-eyebrow,
.home-card.slot-about.blog-content-card .eyebrow,
.home-card.slot-about.blog-content-card header > span:first-child,
.home-card.slot-about.blog-content-card [class*="eyebrow"],
.home-card.slot-about.blog-content-card [class*="section-tag"] {
  display: inline-flex !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  margin-left: 0 !important;
  margin-bottom: 0.7rem !important;
}

/* 3) HEADINGS H2 H3 H4 â€” tidak keluar area, margin konsisten, wrap natural */
.home-card.slot-about.blog-content-card h1,
.home-card.slot-about.blog-content-card h2,
.home-card.slot-about.blog-content-card h3,
.home-card.slot-about.blog-content-card h4,
.home-card.slot-about.blog-content-card h5,
.home-card.slot-about.blog-content-card h6 {
  overflow-wrap: anywhere !important;      /* pecah kata PANJANG jika memang perlu, tapi TIDAK pecah per huruf untuk pendek */
  word-break: normal !important;           /* JANGAN break per-huruf â€” sesuai user pref: wrapping natural */
  overflow-wrap: break-word !important;    /* primary natural wrap */
  hyphens: auto;                            /* opsional: pemisah kata natural */
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  line-height: 1.25 !important;
}
.home-card.slot-about.blog-content-card h2 {
  font-size: clamp(1.45rem, 2.6vw, 1.95rem) !important;
  margin-top: 0 !important;
  margin-bottom: 1.2rem !important;
  letter-spacing: -0.02em !important;
}
.home-card.slot-about.blog-content-card h3 {
  font-size: clamp(1.2rem, 2.1vw, 1.5rem) !important;
  margin-top: 1.8rem !important;
  margin-bottom: 0.9rem !important;
  letter-spacing: -0.01em !important;
}
.home-card.slot-about.blog-content-card h4 {
  font-size: 1.1rem !important;
  margin-top: 1.4rem !important;
  margin-bottom: 0.65rem !important;
}

/* 4) PARAGRAF P & TEKS â€” wrap natural, line-height nyaman, tidak mepet pinggir */
.home-card.slot-about.blog-content-card p,
.home-card.slot-about.blog-content-card li,
.home-card.slot-about.blog-content-card span:not([class*="eyebrow"]):not([class*="badge"]):not(.slot-stat-label):not(.slot-stat-val),
.home-card.slot-about.blog-content-card div:not([class]):not([style*="display:flex"]):not([style*="display: grid"]),
.home-card.slot-about.blog-content-card blockquote,
.home-card.slot-about.blog-content-card pre,
.home-card.slot-about.blog-content-card code {
  overflow-wrap: break-word !important;    /* NATURAL WRAP â€” user preference utama */
  word-break: keep-all !important;         /* JANGAN pecah per-huruf untuk kata normal */
  word-wrap: break-word !important;
  -webkit-hyphens: auto;
  hyphens: auto;
  max-width: 100% !important;
  min-width: 0 !important;
}
.home-card.slot-about.blog-content-card p {
  font-size: 1rem !important;
  line-height: 1.8 !important;
  color: #d2ccf2 !important;
  margin-bottom: 1.1rem !important;
  margin-top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.home-card.slot-about.blog-content-card p:last-child { margin-bottom: 0 !important; }

/* 5) LIST (ul/ol) â€” indent sehat, bullet tidak keluar kiri card, jarak item nyaman */
.home-card.slot-about.blog-content-card ul,
.home-card.slot-about.blog-content-card ol {
  padding-left: 1.35rem !important;  /* jarak dari pinggir kiri card â†’ bullet tidak keluar card */
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0.3rem !important;
  margin-bottom: 1.1rem !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.home-card.slot-about.blog-content-card li {
  font-size: 0.98rem !important;
  line-height: 1.75 !important;
  color: #d2ccf2 !important;
  margin-bottom: 0.65rem !important;
  padding-left: 0.15rem !important;   /* jarak kecil bullet â†’ text */
  min-width: 0 !important;
  max-width: 100% !important;
}
.home-card.slot-about.blog-content-card li:last-child { margin-bottom: 0 !important; }
/* strong / bold di awal list item (Rainbet / Stake.us dll) â€” pastikan warna & spacing benar */
.home-card.slot-about.blog-content-card li > strong:first-child,
.home-card.slot-about.blog-content-card li > b:first-child {
  color: #fff !important;
  margin-right: 0.3rem !important;
  display: inline !important;
  font-weight: 700 !important;
}

/* 6) BLOCKQUOTE & CODE â€” safety wrap & padding */
.home-card.slot-about.blog-content-card blockquote {
  margin: 1.4rem 0 !important;
  padding: 1rem 1.25rem !important;
  border-left: 3px solid rgba(124,92,255,0.55) !important;
  border-radius: 0 14px 14px 0 !important;
  background: rgba(124,92,255,0.06) !important;
  color: #cac3f5 !important;
  font-style: italic;
  min-width: 0 !important;
}
.home-card.slot-about.blog-content-card code,
.home-card.slot-about.blog-content-card pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
  font-size: 0.9em !important;
  border-radius: 8px !important;
  padding: 0.18rem 0.45rem !important;
  background: rgba(0,0,0,0.35) !important;
  color: #f4c2ea !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-wrap: anywhere !important;  /* code bisa panjang â†’ safe wrap */
  white-space: pre-wrap !important;
}
.home-card.slot-about.blog-content-card pre {
  padding: 1rem 1.15rem !important;
  margin: 1.1rem 0 !important;
  line-height: 1.6 !important;
  border-radius: 12px !important;
}

/* 7) IMAGE & LINK safety â€” tidak keluar card */
.home-card.slot-about.blog-content-card img,
.home-card.slot-about.blog-content-card video,
.home-card.slot-about.blog-content-card iframe {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 14px !important;
  margin: 1rem 0 !important;
  min-width: 0 !important;
  display: block;
}
.home-card.slot-about.blog-content-card a {
  overflow-wrap: break-word !important;
  word-break: normal !important;
  color: #ff86ba !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255,134,186,0.25) !important;
  transition: color 0.18s ease, border-color 0.18s ease;
}
.home-card.slot-about.blog-content-card a:hover {
  color: #fff !important;
  border-bottom-color: rgba(255,255,255,0.55) !important;
}

/* 8) HR & DIVIDER â€” tidak mepet pinggir */
.home-card.slot-about.blog-content-card hr {
  margin: 1.6rem 0 !important;
  border: none !important;
  border-top: 1px solid rgba(124,92,255,0.18) !important;
  max-width: 100% !important;
}

/* 9) CHILD-LEVEL min-width:0 â€” safety overflow GRID / FLEX di dalam artikel */
.home-card.slot-about.blog-content-card > *,
.home-card.slot-about.blog-content-card > * > *,
.home-card.slot-about.blog-content-card > * > * > * {
  min-width: 0 !important;
  max-width: 100% !important;
}

/* 10) AUTHOR FOOTER CARD & RELATED POSTS â€” padding seragam juga */
.blog-author-footer,
.home-card.blog-related-card {
  padding: 1.6rem clamp(1.2rem, 2.3vw, 2rem) !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  min-width: 0 !important;
}
.blog-author-footer > *,
.home-card.blog-related-card > * {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

/* =============================================================
   âœ… RELATED POSTS 4 KOLOM â€” RESPONSIF SELALU MENGIKUTI LEBAR SIDEBAR
      â€¢ SIDEBAR FULL (default): padding-left = 230px + 1.25rem
      â€¢ SIDEBAR COMPACT ICON-ONLY (body.sidebar-iconmode): 80px + 1.25rem
      â€¢ SIDEBAR HIDDEN (mobile <980): 1rem
   ============================================================= */
.related-section {
  background: transparent;
  padding-top: 0 !important;
  padding-bottom: 1.4rem !important;
  /* âœ… JARAK NORMAL RAPI: TIDAK ADA margin negatif lagi karena section-body-wrap TIDAK LAGI punya padding-bottom:852px! */
  margin-top: 16px !important;          /* Hanya 16px gap rapi dengan section Bonus Eksklusif di atasnya */
  border-top: none !important;
  position: relative;
  z-index: 2;
}
.related-section::before {
  content: "";
  display: block;
  width: calc(100% - 80px);
  margin: 0 auto 1rem 0;
  border-top: 1px solid rgba(124,92,255,0.12);
  padding-left: calc(230px + 1.25rem);
  box-sizing: border-box;
}
body.sidebar-iconmode .related-section::before {
  padding-left: calc(80px + 1.25rem);
}
@media (max-width: 980px) {
  .related-section { margin-top: 14px !important; } /* mobile: 14px gap tetap rapi */
  .related-section::before { padding-left: 1rem !important; width: 100% !important; }
}
@media (max-width: 640px) {
  .related-section { margin-top: 12px !important; padding-top: 0.8rem !important; padding-bottom: 1.8rem !important; }
  .related-section::before { padding-left: var(--container-pad-x, 0.9rem) !important; margin-bottom: 0.9rem !important; }
}
/* DEFAULT: sidebar FULL WIDTH 230px */
.related-section > .container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding-left: calc(230px + 1.25rem) !important;
  padding-right: 1.25rem !important;
  box-sizing: border-box !important;
}
/* COMPACT MODE: sidebar HANYA ICON (80px) â€” class auto-set dari toggle.js */
body.sidebar-iconmode .related-section > .container {
  padding-left: calc(80px + 1.25rem) !important;
}
.related-section .section-head {
  margin-bottom: 1.1rem !important;
}
.related-section .section-head .section-title {
  font-size: clamp(1.35rem, 2.1vw, 1.75rem) !important;
  margin: 0 !important;
  font-weight: 850 !important;
  letter-spacing: -0.02em !important;
}
/* GRID 4 KOLOM HORISONTAL â€” CARD COMPACT TIDAK VERTICAL */
.grid-posts.grid-posts--related-4 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0.9rem !important;
  align-items: stretch !important;
}
.grid-posts.grid-posts--related-4 > * {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}
/* CARD COMPACT: TIDAK TERLALU VERTICAL */
.grid-posts.grid-posts--related-4 .home-card,
.grid-posts.grid-posts--related-4 .blog-related-card {
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0.9rem 0.9rem 1rem !important;
  border-radius: 18px !important;
}
.grid-posts.grid-posts--related-4 .blog-related-card img,
.grid-posts.grid-posts--related-4 .home-card .blog-card-thumb {
  width: 100% !important;
  aspect-ratio: 3/2 !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  margin-bottom: 0.8rem !important;
}
/* Title: clamp size + 2 line clamp */
.grid-posts.grid-posts--related-4 .blog-card-title,
.grid-posts.grid-posts--related-4 .home-card h3,
.grid-posts.grid-posts--related-4 .home-card h4,
.grid-posts.grid-posts--related-4 .blog-related-card h3,
.grid-posts.grid-posts--related-4 .blog-related-card h4 {
  font-size: 0.98rem !important;
  line-height: 1.35 !important;
  margin: 0 0 0.5rem !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  max-height: 2.7em !important;
}
/* Excerpt: 1 line clamp */
.grid-posts.grid-posts--related-4 .blog-card-excerpt,
.grid-posts.grid-posts--related-4 .home-card p,
.grid-posts.grid-posts--related-4 .blog-related-card p {
  font-size: 0.82rem !important;
  line-height: 1.4 !important;
  margin: 0 0 0.75rem !important;
  color: rgba(255,255,255,0.6) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  max-height: 1.4em !important;
}
/* Meta (date + views) compact */
.grid-posts.grid-posts--related-4 .blog-card-meta,
.grid-posts.grid-posts--related-4 .home-card > div:first-of-type,
.grid-posts.grid-posts--related-4 .blog-related-card > div:first-of-type {
  font-size: 0.75rem !important;
  margin-bottom: 0.55rem !important;
  gap: 0.6rem !important;
}
/* Author + readmore footer compact */
.grid-posts.grid-posts--related-4 .blog-card-footer,
.grid-posts.grid-posts--related-4 .home-card > div:last-of-type,
.grid-posts.grid-posts--related-4 .blog-related-card > div:last-of-type {
  margin-top: auto !important;
  padding-top: 0.55rem !important;
  gap: 0.6rem !important;
}
.grid-posts.grid-posts--related-4 .blog-card-footer .avatar,
.grid-posts.grid-posts--related-4 .home-card .avatar,
.grid-posts.grid-posts--related-4 .blog-related-card .avatar {
  width: 28px !important;
  height: 28px !important;
  font-size: 0.7rem !important;
}
.grid-posts.grid-posts--related-4 .blog-card-footer .author-name,
.grid-posts.grid-posts--related-4 .blog-card-footer .author-meta {
  font-size: 0.78rem !important;
  line-height: 1.15 !important;
}
.grid-posts.grid-posts--related-4 .blog-card-footer .read-more {
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  gap: 0.25rem !important;
}

/* RESPONSIVE BREAKPOINTS â€” SELALU MENGIKUTI SIDEBAR */
@media (max-width: 1180px) {
  /* DEFAULT MODE di 1180px: sidebar 230px */
  .related-section > .container { padding-left: calc(230px + 1rem) !important; padding-right: 1rem !important; }
  /* COMPACT MODE di 1180px: sidebar 80px */
  body.sidebar-iconmode .related-section > .container { padding-left: calc(80px + 1rem) !important; }
  .grid-posts.grid-posts--related-4 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 0.9rem !important; }
}
@media (max-width: 980px) {
  /* MOBILE: SIDEBAR DRAWER â€” HILANGKAN SIDEBAR PADDING */
  .related-section > .container { padding-left: 1rem !important; padding-right: 1rem !important; }
  body.sidebar-iconmode .related-section > .container { padding-left: 1rem !important; }
  .grid-posts.grid-posts--related-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  .related-section { padding-top: 0.8rem !important; padding-bottom: 1.8rem !important; }
  .related-section > .container { padding-left: var(--container-pad-x, 0.9rem) !important; padding-right: var(--container-pad-x, 0.9rem) !important; }
  body.sidebar-iconmode .related-section > .container { padding-left: var(--container-pad-x, 0.9rem) !important; }
  .grid-posts.grid-posts--related-4 { grid-template-columns: 1fr !important; gap: 1rem !important; }
}

/* =============================================================================
   ðŸ FINAL OVERRIDE â€” Specificity TERTINGGI + Source Order TERAKHIR (Pasti Menang!)
   =============================================================================
   100% FULL FLAT PANJANG: TIDAK ADA max-height, TIDAK ADA overflow scroll internal.
   Override semua rule di stylesheet manapun (base.css / components.css / desktop-sidebar position rules)
   yang mungkin masih berusaha set max-height atau overflow di .sticky-col.
   ----------------------------------------------------------------------------- */
html body #main-content #article-body-wrap aside.post-sidebar .sticky-col,
html body main#main-content > article #article-body-wrap aside.post-sidebar > .sticky-col,
html body .post-layout.post-layout-with-sidebar-left aside.post-sidebar div.sticky-col,
aside.post-sidebar .sticky-col,
.sticky-col {
  max-height: none !important;
  -webkit-max-height: none !important;
  height: auto !important;
  min-height: auto !important;
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  -webkit-overflow-scrolling: auto !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
/* Safeguard contain & isolation juga flat */
html body #main-content #article-body-wrap aside.post-sidebar .sticky-col,
aside.post-sidebar .sticky-col {
  contain: none !important;
  -webkit-contain: none !important;
  isolation: auto !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  transform: none !important;
  -webkit-transform: none !important;
  /* ============== ðŸ“ RATA ATAS: Sidebar = Featured Image Cover KIRI (Turun 6px presisi) ============== */
  /* Original delta: coverTop=143.92 vs sideThumbTop=138.12 â†’ Kurlebih sidebar 6px terlalu TINGGI (PUNCING).
     Solusi: berikan extra top-gap 6px (padding-top sticky-col) DAN beri margin-top thumbcard 6px â†’ total RATA presisi. */
  padding-top: 6px !important;
}
/* Card PALING ATAS sidebar (author thumb): TURUNKAN 6px agar RATA dengan Featured Image KIRI */
html body #main-content #article-body-wrap aside.post-sidebar .sticky-col .home-card.blog-side-thumbcard:first-child,
aside.post-sidebar .sticky-col .home-card:first-child,
.sticky-col > .home-card:first-child,
.sticky-col > *:first-child > .home-card:first-child {
  margin-top: 6px !important;
}

/* =============================================================================
   ðŸ§¹ FIX DOUBLE SCROLLBAR â€” Hapus overflow internal di parent wrapper
   =============================================================================
   Penyebab double scrollbar (2 batang di kanan):
   âœ… <html> overflow-y:auto  = scroll UTAMA (luar, BOLEH ADA)
   âŒ <main id="main-content"> overflow-y:auto + internal scroll 281px = scroll KEDUA
   âŒ .post-content-wrap overflow:hidden juga potong area visual â†’ ganti visible
   ----------------------------------------------------------------------------- */
html body main#main-content,
html body #main-content,
#main-content {
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  height: auto !important;
  max-height: none !important;
  min-height: auto !important;
}
/* post-content-wrap juga berpotensi overflow potong â†’ visible agar tidak ganggu sticky/height */
html body #main-content #article-body-wrap .post-content-wrap,
.post-content-wrap,
#article-body-wrap .post-content-wrap {
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  height: auto !important;
}
/* Pastikan body juga tidak punya overflow set tambahan */
html, body {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  height: auto !important;
  max-height: none !important;
}

/* =============================================================================
   ðŸ§½ SAFEGUARD: HAPUS PADDING-BOTTOM BESAR PENINGGALAN LAWAS di SEMUA WRAPPER ARTIKEL
   =============================================================================
   Target: Hapus total area HITAM KOSONG BESAR antara Akhir Artikel â†’ Related Section.
   Sebelumnya ada wrapper lain (selain section-body-wrap) masih menyisipkan padding 800+px.
   Kita override SEMUA candidate wrapper padding-bottom jadi 0 - 24px MAKSIMAL.
   ðŸš¨ UPDATE: Detector nemu CLASS explicit BESAR .blog-main-col â†’ DITAMBAHKAN!
   ----------------------------------------------------------------------------- */
html body main#main-content > article,
html body #main-content article.section-wrap,
html body main > article,
html body #article-body-wrap > section,
html body #article-body-wrap > div,
html body #article-body-wrap,
html body .post-content-wrap,
html body .section-body-wrap,
html body .section-wrap,
html body [class*="post-wrap"],
html body [class*="article-wrap"],
html body [class*="single-wrap"],
/* âœ… class yang BARU terdeteksi via log: PENYEBAB UTAMA gap 177px KOSONG HITAM */
html body .blog-main-col,
html body main .blog-main-col,
html body #article-body-wrap .blog-main-col,
.blog-main-col {
  padding-bottom: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  min-height: auto !important;
  height: auto !important;
}
/* Beri 24px hanya di PALING LUAR article.section-wrap.section-body-wrap (jarak ke footer final, TIDAK ke related) */
html body main#main-content > article.section-wrap.section-body-wrap {
  padding-bottom: 24px !important;
}

/* â¬‡ï¸ GESER KE BAWAH: KONTEN KIRI (Featured Image + artikel) + SIDEBAR KANAN STICKY SECARA BERSAMAAN 180px!
   Data masukan Bpk: "apa bagin konten dan sidebar bisa di geser kebawah agar tidak menutupi hero" +
                     Update 1: "area cta pink masih terutup" dengan 48px â†’ KURANG
                     Update 2: 120px masih KURANG â†’ CTA pink gradien MASIH setengah tertutup.
                     Update 3 AKHIR (FINAL): DITAMBAH LAGI 60px â†’ 180px total!
   SOLUSI TEPAT: Padding-top di #article-body-wrap (PARENT KEDUA KOLOM sekaligus)!
   âœ… Efek 3 in 1 TANPA merusak layout relative:
     1. Featured Image Orange (blog-cover-card) TURUN 180px â†’ CTA PINK gradien di ATASNYA FULL TERBUKA 100%!
     2. Sidebar kanan (JHiDeX Score, MR thumb, dll) TURUN 180px BERSAMAAN â†’ RATA PUNCAK relative tetap 6px TETAP BERLAKU!
     3. H1 Blog Hero Title FULL TERBUKA tanpa terpotong!
   Specificity tinggi, !important menang dari Global CSS. */
html body #main-content #article-body-wrap,
html body main#main-content #article-body-wrap,
#article-body-wrap {
  padding-top: 180px !important;
}

/* ðŸŽ¯ Related Section: GESER KE BAWAH LAGI 80px â†’ dari 120px jadi 200px!
   Data masukan Bpk: "apa bagin konten dan sidebar bisa di geser kebawah agar tidak menutupi hero" (lihat screenshot: kartu thumbnail Related ungu/orange muncul SETENGAH di area meta tag #Solana + foto MR Mike Robinson).
   PENJELASAN: Yang menutupi hero meta BUKAN konten utama artikel + sidebar (keduanya sudah rata). Tapi RELATED SECTION 4 KARTU (You Might Also Like) yang terlalu NAIK.
   SOLUSI FINAL: margin-top 200px! Related section TOP turun 80px lagi, dijamin TIDAK ada kartu setengah muncul di area meta post (tag/MR/views).
   Specificity 8x selector MENANG dari rule lawas baris 2213 (16px). */
html body main#main-content section.related-section,
html body main#main-content .related-section,
html body main section.related-section,
html body main .related-section,
html body section.related-section,
html body .related-section,
main#main-content section.related-section,
.related-section {
  margin-top: 200px !important;
  padding-top: 0 !important;
}
/* breakpoint mobile: rapatkan bertahap (JANGAN terlalu naik di mobile juga!) */
@media (max-width: 1180px) {
  html body main#main-content .related-section,
  main#main-content section.related-section,
  .related-section { margin-top: 180px !important; }
}
@media (max-width: 980px) {
  html body main#main-content .related-section,
  main#main-content section.related-section,
  .related-section { margin-top: 80px !important; }
}
@media (max-width: 640px) {
  html body main#main-content .related-section,
  main#main-content section.related-section,
  .related-section { margin-top: 40px !important; padding-top: 0.6rem !important; }
}

/* =========================================================
   ðŸŽ¯ FIX CTA BANNER PINK-UNGU FULL TERBUKA + COVER vs ARTICLE GAP (FINAL v4 2026-08-15)
   =========================================================
   Akar masalah (4 lapis):
   1. #article-body-wrap TINGGI = 0px â†’ padding-top 180px TIDAK ADA EFEK visual
   2. .post-content-wrap punya margin-top: -56px NEGATIF â†’ narik konten naik tutup CTA
   3. Cover Featured Image = position:absolute â†’ TIDAK terpengaruh parent margin/padding
   4. [BARU] transform: translateY HANYA geser VISUAL tanpa ubah FLOW DOKUMEN â†’
         Kartu artikel "About this article" TETAP di posisi lawas, NABRAK bagian BAWAH Cover
         (verifikasi: OVERLAP 46px sebelum fix)

   Solusi terbukti 100% (FINAL):
   â€¢ .blog-cover-card transform: translateY(70px) â†’ geser visual Orange Cover ke bawah
   â€¢ .blog-cover-card margin-bottom: 100px â†’ SESUAIKAN FLOW DOKUMEN!
       (70px visual shift + 24px jarak aman + 6px buffer border-radius overlap)
       âœ… Efek: Kartu About this article OTOMATIS terdorong turun 100px, TIDAK menabrak cover LAGI
   â€¢ aside.post-sidebar transform: translateY(64px) â†’ geser sidebar BERSAMAAN,
       KURANG 6px agar sticky-col tetap RATA dengan Cover (sesuai preferensi rata relative atas)
   â€¢ Related section margin-top KEMBALI 200px â†’ karena flow doc bertambah 100px dari mb cover!

   Hasil visual SESUAI contoh Bpk:
       âœ… CTA "Read Article + Share Article" PINKâ†’UNGU FULL 100% terbuka
       âœ… Jarak CTA bottom â†” Featured Image Orange top = ~10px SEMPIT & RAPI
       âœ… âœ… Jarak Cover Orange bottom â†” About this article top = ~54px TIDAK NABRAK
       âœ… Sidebar kanan ATAS = RATA vertikal dengan Featured Image kiri
   ========================================================= */
html body .blog-cover-card,
html body .demo-frame-wrap,
html body #article-main-content,
html body main#main-content .blog-cover-card,
html body #main-content .blog-cover-card,
.blog-cover-card {
  transform: translateY(70px) !important;
  margin-bottom: 100px !important;
}
html body aside.post-sidebar,
html body main#main-content aside.post-sidebar,
html body #main-content aside.post-sidebar,
aside.post-sidebar {
  transform: translateY(64px) !important;
}
/* Mobile: Hapus transform geser + batalkan margin-bottom 100px (single column, cover & article flow natural tanpa overlap) */
@media (max-width: 980px) {
  html body .blog-cover-card,
  html body aside.post-sidebar,
  .blog-cover-card, aside.post-sidebar {
    transform: none !important;
    margin-bottom: 24px !important;
  }
}





