/* vup_2018_child — css/layouts/blog.css
 * Single post layout: left sidebar + wide main content card.
 * Works WITH sidebars.css — scoped token overrides, no !important.
 *
 * Structure: .single-post body class scopes all rules.
 * Grid: Uses standard .vu-grid.no-right from sidebars.css.
 */

/* ===== SCOPED TOKEN OVERRIDES ===== */
.single-post {
  /* Widen the left sidebar slightly for blog context */
  --left-min: 200px;
  --left: 18vw;
  --left-max: 260px;

  /* Allow main content to grow wider since no right sidebar */
  --center-min: 600px;
  --center-cap: 1000px;
  --center-cap-vw: 65vw;

  /* Slightly tighter gutters for reading focus */
  --gap-col: 28px;

  /* Blog-specific spacing */
  --blog-content-pad: clamp(24px, 4vw, 48px);
  --blog-content-radius: 12px;
}

/* ===== MAIN CONTENT CARD (white gradient glass) ===== */
.single-post #primary,
.single-post .content-area {
  background: var(--grad-surface-1, linear-gradient(180deg, rgba(255, 255, 255, .95) 0%, rgba(244, 248, 255, .84) 100%));
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: var(--blog-content-radius);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.5);
  padding: var(--blog-content-pad);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

/* Inner content wrappers should be transparent */
.single-post article.post,
.single-post article.vu-single,
.single-post .entry-content,
.single-post .post-content {
  background: transparent;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* ===== TYPOGRAPHY ENHANCEMENTS ===== */
.single-post .entry-title,
.single-post .post-title {
  font-family: var(--font-display, 'Bebas Neue', Impact, sans-serif);
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1.15;
  margin: 0 0 1rem;
  color: var(--text-heading, #1a1a1a);
}

.single-post .entry-content {
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--text-body, #333);
}

.single-post .entry-content > * + * {
  margin-top: 1.5em;
}

/* ===== POST META ===== */
.single-post .entry-meta,
.single-post .post-meta {
  font-size: 0.9rem;
  color: var(--text-muted, #666);
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border-subtle, rgba(0, 0, 0, 0.08));
}

.single-post .entry-meta a {
  color: var(--link-color, #175fac);
}

/* ===== MEDIA RESPONSIVENESS ===== */
.single-post .entry-content img,
.single-post .entry-content video,
.single-post .entry-content iframe {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

/* Gutenberg wide/full alignments constrained to card */
.single-post .entry-content .alignwide,
.single-post .entry-content .alignfull {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

/* ===== LEFT SIDEBAR STYLING ===== */
.single-post #left-sidebar {
  /* Inherit standard sidebar padding from sidebars.css */
  /* Add any blog-specific sidebar styling here if needed */
}

/* Ensure sidebar content doesn't overflow */
.single-post #left-sidebar .widget,
.single-post #left-sidebar img {
  max-width: 100%;
  height: auto;
}

/* ===== FEATURED IMAGE / HERO ===== */
.single-post .post-thumbnail,
.single-post .vu-single-hero {
  margin: 0 0 1.5rem;
}

.single-post .vu-single-media {
  display: flex;
  justify-content: center;
  margin: 0 0 1.5rem;
}

.single-post .post-thumbnail img,
.single-post .vu-single-media img {
  max-width: 100%;
  width: auto;
  height: auto;
  display: block;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

/* ===== COMMENTS SECTION ===== */
.single-post .comments-area {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--border-subtle, rgba(0, 0, 0, 0.08));
}

/* ===== POST NAVIGATION ===== */
.single-post .post-navigation {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border-subtle, rgba(0, 0, 0, 0.08));
}

/* ===== RESPONSIVE: TABLET ===== */
@media (max-width: 1200px) {
  .single-post {
    /* Slightly reduce content padding on tablet */
    --blog-content-pad: clamp(20px, 3vw, 32px);
  }
}

/* ===== RESPONSIVE: MOBILE ===== */
@media (max-width: 768px) {
  .single-post {
    --blog-content-pad: 1rem;
    --blog-content-radius: 0;
  }

  /* Card spans full width on mobile, no radius */
  .single-post #primary,
  .single-post .content-area {
    border-radius: 0;
    box-shadow: none;
  }
}

/* ===== REDUCED MOTION ===== */
@media (prefers-reduced-motion: reduce) {
  .single-post #primary,
  .single-post .content-area {
    transition: none;
  }
}
