/* ============================================================
   JustinGambles — Blog  (1300px, matches leaderboard shell)
============================================================ */

/* ── Layout ── */
.blg-container        { max-width: 1300px; margin: 0 auto; }
.blg-container--post  { max-width: 1300px; margin: 0 auto; }

/* ── Shell — same as lb-shell ── */
.blg-shell {
  border-radius: 26px;
  padding: 18px;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(196,135,71,.18);
  box-shadow: 0 26px 70px rgba(0,0,0,.55);
  position: relative;
  overflow: hidden;
}
.blg-shell::before {
  content: "";
  position: absolute; inset: -2px;
  background:
    radial-gradient(700px 220px at 50% 0%, rgba(196,135,71,.18), transparent 60%),
    radial-gradient(500px 200px at 10% 10%, rgba(243,208,138,.10), transparent 55%),
    radial-gradient(500px 200px at 90% 12%, rgba(243,208,138,.08), transparent 55%);
  pointer-events: none;
}

/* ── Hero ── */
.blg-hero         { position:relative;z-index:2;text-align:center;padding:14px 0 24px; }
.blg-heroKicker   { font-size:12px;font-weight:950;letter-spacing:1.4px;text-transform:uppercase;color:rgba(196,135,71,.85);margin-bottom:10px; }
.blg-heroTitle    { margin:0 0 10px;font-size:clamp(28px,4vw,48px);font-weight:950;color:rgba(233,238,247,.96);line-height:1.1; }
.blg-gold         { background-image:linear-gradient(to right,#462523,#cb9b51,#f6e27a,#f6f2c0,#f6e27a,#cb9b51,#462523);-webkit-background-clip:text;background-clip:text;color:transparent; }
.blg-heroSub      { margin:0 auto;max-width:540px;font-size:15px;color:rgba(170,180,197,.85);line-height:1.65; }

/* ── Empty ── */
.blg-empty        { position:relative;z-index:2;text-align:center;padding:60px 20px; }
.blg-emptyIcon    { font-size:36px;margin-bottom:14px;opacity:.45; }
.blg-emptyTitle   { font-size:16px;font-weight:950;color:rgba(233,238,247,.65);margin-bottom:6px; }
.blg-emptySub     { font-size:13px;color:rgba(170,180,197,.45); }

/* ══════════════════════════════════════
   3-COLUMN CARD GRID
══════════════════════════════════════ */
.blg-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.blg-card {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 18px;
  border: 1px solid rgba(196,135,71,.14);
  background: rgba(0,0,0,.2);
  text-decoration: none;
  overflow: hidden;
  transition: border-color .18s, background .18s, transform .15s, box-shadow .2s;
}
.blg-card:hover {
  border-color: rgba(243,208,138,.36);
  background: rgba(196,135,71,.08);
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
}
.blg-cardGlow {
  position: absolute; inset: -1px;
  background: radial-gradient(300px 120px at 50% 0%, rgba(196,135,71,.10), transparent 65%);
  pointer-events: none; opacity: 0; transition: opacity .2s;
}
.blg-card:hover .blg-cardGlow { opacity: 1; }

/* Card thumbnail */
.blg-cardImg {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: rgba(0,0,0,.3);
  flex-shrink: 0;
}
.blg-cardImg img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
.blg-card:hover .blg-cardImg img { transform: scale(1.04); }

/* Placeholder */
.blg-cardImgPlaceholder {
  width: 100%; aspect-ratio: 16 / 9;
  background: radial-gradient(ellipse at 50% 50%, rgba(196,135,71,.12), transparent 70%), rgba(0,0,0,.25);
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; font-weight: 950; color: rgba(196,135,71,.2); letter-spacing: 2px;
}
.blg-cardImgPlaceholder::after { content: "JG"; }

/* Card text */
.blg-cardBody {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; flex: 1;
  padding: 16px 18px 18px;
  gap: 6px;
}
.blg-cardDate     { font-size:11px;font-weight:950;letter-spacing:.9px;text-transform:uppercase;color:rgba(196,135,71,.8); }
.blg-cardTitle    { margin:0;font-size:16px;font-weight:950;color:rgba(233,238,247,.96);line-height:1.35; }
.blg-cardExcerpt  { margin:0;font-size:13px;color:rgba(170,180,197,.75);line-height:1.6;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }

.blg-readMore {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 950; letter-spacing: .7px; text-transform: uppercase;
  color: rgba(196,135,71,.85); margin-top: 8px;
  transition: gap .15s;
}
.blg-readMore svg { stroke: currentColor; flex-shrink: 0; }
.blg-card:hover .blg-readMore { gap: 10px; }

/* ── Pagination ── */
.blg-pagination {
  position: relative; z-index: 2;
  display: flex; justify-content: center; align-items: center;
  gap: 8px; margin-top: 24px; flex-wrap: wrap;
}
.blg-pageBtn {
  padding: 9px 16px; border-radius: 12px;
  border: 1px solid rgba(196,135,71,.18);
  background: rgba(255,255,255,.02); color: rgba(233,238,247,.85);
  text-decoration: none; font-size: 13px; font-weight: 700; letter-spacing: .4px;
  transition: border-color .15s, background .15s;
}
.blg-pageBtn:hover, .blg-pageBtn.active {
  border-color: rgba(243,208,138,.4); background: rgba(196,135,71,.12); color: rgba(233,238,247,.96);
}
.blg-pageBtn--next {
  padding: 9px 22px;
  background: rgba(196,135,71,.08);
  border-color: rgba(196,135,71,.28);
  font-weight: 950;
}

/* ══════════════════════════════════════
   SINGLE POST
══════════════════════════════════════ */
.blg-shell--post { padding: 0; }

.blg-backTop {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 700; color: rgba(196,135,71,.8);
  text-decoration: none; letter-spacing: .4px; margin-bottom: 14px;
  transition: color .15s;
}
.blg-backTop:hover { color: rgba(243,208,138,.95); }
.blg-backTop svg   { stroke: currentColor; flex-shrink: 0; }

/* Cover image */
.blg-postCover            { width:100%; max-height:260px; overflow:hidden; border-radius:26px 26px 0 0; }
.blg-postCover img        { width:100%; height:260px; object-fit:cover; display:block; }

/* Post header */
.blg-postHead             { position:relative;z-index:2;padding:28px 32px 0; }
.blg-postDate             { font-size:11px;font-weight:950;letter-spacing:.9px;text-transform:uppercase;color:rgba(196,135,71,.8);margin-bottom:12px; }
.blg-postTitle            { margin:0 0 20px;font-size:clamp(24px,3.5vw,36px);font-weight:950;color:rgba(233,238,247,.97);line-height:1.2;letter-spacing:.2px; }

.blg-postMeta             { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px; }
.blg-postAuthorBadge      { display:flex;align-items:center;gap:10px; }
.blg-postAuthorAvatar     { width:36px;height:36px;border-radius:50%;background:rgba(196,135,71,.18);border:1px solid rgba(196,135,71,.3);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:950;letter-spacing:.5px;color:rgba(243,208,138,.9);flex-shrink:0; }
.blg-postAuthorInfo       { display:flex;flex-direction:column;gap:2px; }
.blg-postAuthorName       { font-size:13px;font-weight:950;color:rgba(233,238,247,.9); }
.blg-postAuthorDate       { font-size:11px;color:rgba(170,180,197,.55); }

.blg-postShare,.blg-shareBtns { display:flex;gap:8px;flex-wrap:wrap; }
.blg-shareBtn             { display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;font-size:12px;font-weight:950;letter-spacing:.5px;text-decoration:none;border:1px solid;transition:opacity .15s,transform .15s; }
.blg-shareBtn:hover       { opacity:.8;transform:translateY(-1px); }
.blg-shareBtn svg         { fill:currentColor;flex-shrink:0; }
.blg-shareBtn--x          { border-color:rgba(231,233,234,.2);color:rgba(231,233,234,.85);background:rgba(231,233,234,.05); }
.blg-shareBtn--discord    { border-color:rgba(88,101,242,.32);color:rgba(88,101,242,.9);background:rgba(88,101,242,.07); }

/* Divider */
.blg-postDivider          { height:1px;background:linear-gradient(to right,transparent,rgba(196,135,71,.22),transparent);margin:20px 32px; }

/* Video embed */
.blg-videoEmbed           { margin:0 32px 24px;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.06);aspect-ratio:16/9;position:relative; }
.blg-videoEmbed iframe    { position:absolute;inset:0;width:100%;height:100%;border:none; }

/* Body */
.blg-postBody             { position:relative;z-index:2;padding:0 32px;color:rgba(210,220,235,.9);font-size:16px;line-height:1.85; }
.blg-postBody h2          { font-size:22px;font-weight:950;color:rgba(233,238,247,.96);margin:36px 0 14px;padding-bottom:10px;border-bottom:1px solid rgba(196,135,71,.14); }
.blg-postBody h3          { font-size:18px;font-weight:950;color:rgba(233,238,247,.9);margin:28px 0 10px; }
.blg-postBody p           { margin:0 0 18px; }
.blg-postBody a           { color:rgba(196,135,71,.9);text-decoration:underline;text-underline-offset:3px; }
.blg-postBody a:hover     { color:rgba(243,208,138,.95); }
.blg-postBody strong      { color:rgba(233,238,247,.96);font-weight:950; }
.blg-postBody em          { font-style:italic;color:rgba(210,220,235,.85); }
.blg-postBody ul,
.blg-postBody ol          { padding-left:22px;margin:0 0 18px; }
.blg-postBody li          { margin-bottom:8px; }
.blg-postBody blockquote  { border-left:3px solid rgba(196,135,71,.5);padding:12px 18px;margin:24px 0;background:rgba(196,135,71,.06);border-radius:0 12px 12px 0;font-style:italic;color:rgba(210,220,235,.8); }
.blg-postBody img         { max-width:100%;height:auto;border-radius:12px;margin:16px 0;display:block;border:1px solid rgba(255,255,255,.06); }
.blg-postBody div[style*="padding-bottom:56.25%"] { border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.06);margin:16px 0; }
.blg-postBody iframe      { border-radius:12px; }

/* Post footer */
.blg-postFooter           { position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:40px 32px 0;padding:20px 0 28px;border-top:1px solid rgba(196,135,71,.12); }
.blg-postFooterLeft       { display:flex;flex-direction:column;gap:3px; }
.blg-postFooterLabel      { font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:rgba(170,180,197,.5); }
.blg-postFooterAuthor     { font-size:14px;font-weight:950;color:rgba(233,238,247,.85); }

/* More posts */
.blg-morePosts { display:flex;justify-content:center;margin-top:20px; }
.blg-moreBtn   { display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:14px;border:1px solid rgba(196,135,71,.22);background:rgba(255,255,255,.02);color:rgba(233,238,247,.85);text-decoration:none;font-size:13px;font-weight:950;letter-spacing:.6px;text-transform:uppercase;transition:border-color .15s,background .15s; }
.blg-moreBtn:hover { border-color:rgba(243,208,138,.38);background:rgba(196,135,71,.08); }

/* ── HTML5 video player ── */
.blg-videoPlayer {
  margin: 0 32px 24px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  background: #000;
}
.blg-videoPlayer video {
  width: 100%;
  display: block;
  max-height: 520px;
}

/* ── Responsive ── */
@media (max-width: 1000px) { .blg-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px)  {
  .blg-grid              { grid-template-columns: 1fr; }
  .blg-postHead          { padding: 20px 18px 0; }
  .blg-postDivider       { margin: 16px 18px; }
  .blg-videoEmbed        { margin: 0 18px 20px; }
  .blg-videoPlayer       { margin: 0 18px 20px; }
  .blg-postBody          { padding: 0 18px; }
  .blg-postFooter        { margin: 28px 18px 0; flex-direction: column; align-items: flex-start; }
  .blg-postMeta          { flex-direction: column; align-items: flex-start; }
  .blg-postCover img     { height: 160px; }
}

/* ── Kick clip/VOD preview card ── */
.blg-kickCard {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(83,252,24,.22);
  background: rgba(0,0,0,.35);
  text-decoration: none;
  margin: 0 32px 24px;
  transition: border-color .18s, transform .15s, box-shadow .2s;
}
.blg-kickCard:hover {
  border-color: rgba(83,252,24,.5);
  transform: translateY(-2px);
  box-shadow: 0 14px 40px rgba(0,0,0,.5);
}

/* Left side — dark thumbnail with play button */
.blg-kickCardThumb {
  position: relative;
  aspect-ratio: 16 / 9;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(83,252,24,.08), transparent 70%),
    linear-gradient(135deg, #0a1a0a, #050d05);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.blg-kickCardOverlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(83,252,24,.06), transparent);
  pointer-events: none;
}
.blg-kickCardPlay {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(83,252,24,.15);
  border: 2px solid rgba(83,252,24,.5);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(83,252,24,.9);
  position: relative;
  z-index: 1;
  transition: background .18s, transform .15s;
}
.blg-kickCard:hover .blg-kickCardPlay {
  background: rgba(83,252,24,.25);
  transform: scale(1.08);
}
.blg-kickCardPlay svg {
  width: 22px;
  height: 22px;
  margin-left: 3px;
}

/* Right side — info */
.blg-kickCardInfo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding: 20px 22px;
}
.blg-kickCardBadge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .8px;
  text-transform: uppercase;
  color: rgba(83,252,24,.9);
}
.blg-kickCardChannel {
  font-size: 18px;
  font-weight: 950;
  color: rgba(233,238,247,.95);
  letter-spacing: .3px;
}
.blg-kickCardCta {
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .5px;
  color: rgba(83,252,24,.75);
  margin-top: 4px;
  transition: color .15s;
}
.blg-kickCard:hover .blg-kickCardCta { color: rgba(83,252,24,1); }

@media (max-width: 640px) {
  .blg-kickCard          { grid-template-columns: 1fr; margin: 0 18px 20px; }
  .blg-kickCardThumb     { aspect-ratio: 16 / 7; }
  .blg-kickCardInfo      { padding: 16px 18px; }
}
