/* ChickenJournal — SINGLE ARTICLES ONLY. All selectors scoped to .single-post. */

/* Readable text without changing the native content DOM, block structure or ad JS. */
.single-post .entry-content {
    font-size: 19px;
    line-height: 1.74;
    overflow: visible;
    overflow-wrap: break-word;
}
.single-post .entry-content p { margin-bottom: 1.35em; }
.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content h4 {
    line-height: 1.35;
    scroll-margin-top: 1.5em;
}
.single-post .entry-content h2 { margin-top: 1.65em; margin-bottom: .68em; }
.single-post .entry-content h3 { margin-top: 1.5em; margin-bottom: .55em; }
.single-post .entry-content :is(img, video, iframe, table) { max-width: 100%; }
.single-post .entry-content img { height: auto; }
.single-post .entry-content figure { max-width: 100%; }
.single-post .entry-content table { display: table; width: 100%; }
.single-post .entry-content pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.single-post .entry-content .wp-block-image { margin-top: 1.5em; margin-bottom: 1.5em; }
.single-post .entry-content #toc_container { max-width: 100%; }
.single-post .entry-content .wp-block-button__link { text-decoration: none; }

/* Article headline and hero: these are Astra's own elements, not new wrappers. */
.single-post .entry-title {
    font-size: clamp(30px, 3.2vw, 43px);
    line-height: 1.19;
    letter-spacing: -.023em;
    overflow-wrap: break-word;
}
.single-post .entry-header .entry-meta { font-size: 13px; line-height: 1.55; }
.single-post .entry-content figcaption { font-size: 14px; line-height: 1.5; }

/*
 * Single article width matches the Astra category archive layout.
 * Inherit Astra's global 1280px container, 68% content / 32% sidebar split,
 * gutters, and boxed-widget padding. Do NOT hardcode a second flex layout or
 * a 320px sidebar; the native 32% sidebar is the same as category pages.
 * Keep the intentional 80px gap above the Author sidebar from v2.9.
 * Preserve overflow for Journey's automatic, non-theme-sticky sidebar ad.
 */
@media (min-width: 1100px) {
  .single-post #secondary {
      margin-top: 80px;
      position: static;
      overflow: visible;
  }
  .single-post #journey-sidebar,
  .single-post #secondary .sidebar-main {
      min-height: 650px;
      position: static;
      overflow: visible;
  }
  .single-post #primary {
      overflow: visible;
  }
}
/* A fluid one-column reading experience below desktop ad threshold. */
@media (max-width: 1099px) {
  .single-post #primary { width: 100%; max-width: 100%; margin: 0; }
  .single-post #secondary { display: none !important; }
}
@media (max-width: 767px) {
  .single-post .entry-title { font-size: clamp(28px, 7vw, 35px); line-height: 1.22; }
  .single-post .entry-content { font-size: 18px; line-height: 1.72; }
  .single-post .entry-content h2 { font-size: 27px; }
  .single-post .entry-content h3 { font-size: 23px; }
}

/* Rounded photos, matching the soft corners used by Grow recommendations.
 * Scope to single posts; do not alter logos, ads, Grow modules or homepage. */
.single-post .ast-single-post-featured-section img,
.single-post .post-thumb-img-content > img,
.single-post .post-thumb img.wp-post-image,
.single-post #journey-content :is(.wp-block-image, .wp-block-gallery, .blocks-gallery-item, .wp-block-media-text__media) img,
.single-post #journey-content > p > img,
.single-post #journey-content > p > a > img,
.single-post #journey-content figure > img,
.single-post #journey-content figure > a > img {
    border-radius: 12px;
}

/* Server-rendered Pinterest Save links; no hover or JavaScript dependency.
 * Each link is in the image's own figure/paragraph or thumbnail container,
 * avoiding a viewport overlay that can fail on mobile browsers. */
.single-post .entry-content figure.wp-block-image,
.single-post .entry-content figure.wp-caption,
.single-post .entry-content p[data-cj-pin-parent],
.single-post .cj-pin-js-container,
.single-post .ast-single-post-featured-section,
.single-post .post-thumb-img-content,
.single-post .post-thumb,
.single-post .ast-blog-featured-section,
.single-post .cj-pin-js-container {
    position: relative;
}
/* Pinterest SHARE button: the exact user-provided graphic with its transparent
 * canvas trimmed away. No hover-only behavior; works on phone, tablet and desktop.
 * This styling is post-only, and never targets ads, Grow units, or the homepage. */
.single-post .cj-pin-save {
    box-sizing: border-box;
    display: block !important;
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 30;
    width: 132px;
    height: 42px;
    min-width: 132px;
    min-height: 42px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 13px;
    background-image: url('../images/pinterest-share.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    box-shadow: 0 2px 7px rgba(0,0,0,.15);
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    text-decoration: none !important;
}
.single-post .cj-pin-save:hover,
.single-post .cj-pin-save:focus-visible {
    filter: brightness(.94);
}
.single-post .cj-pin-save:focus-visible {
    outline: 3px solid #185a42;
    outline-offset: 3px;
}
@media (max-width: 767px) {
    .single-post .cj-pin-save {
        top: 8px;
        right: 8px;
        width: 134px;
        height: 44px;
        min-width: 134px;
        min-height: 44px;
    }
}

/* Theme-native H2-only Table of Contents (no sticky widget, no JS). */
.single-post #journey-content .cj-article-toc {
    box-sizing: border-box;
    max-width: 100%;
    margin: 1.5em 0 1.7em;
    border: 1px solid #d7e5d7;
    border-radius: 12px;
    background: #f6faf5;
    color: #203f2c;
    clear: both;
}
.single-post #journey-content .cj-article-toc details { margin: 0; padding: 0; }
.single-post #journey-content .cj-article-toc summary {
    display: list-item;
    cursor: pointer;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    padding: 15px 18px;
    list-style-position: inside;
}
.single-post #journey-content .cj-article-toc summary:focus-visible {
    outline: 2px solid #206443;
    outline-offset: -3px;
}
.single-post #journey-content .cj-article-toc ol {
    margin: 0 18px 18px 38px;
    padding: 0;
    list-style: decimal outside;
}
.single-post #journey-content .cj-article-toc li {
    margin: 0 0 8px;
    padding-left: 3px;
    font-size: 15px;
    line-height: 1.48;
}
.single-post #journey-content .cj-article-toc li:last-child { margin-bottom: 0; }
.single-post #journey-content .cj-article-toc a {
    color: #285e43;
    text-decoration: none;
    text-underline-offset: 3px;
}
.single-post #journey-content .cj-article-toc a:hover,
.single-post #journey-content .cj-article-toc a:focus-visible { text-decoration: underline; }
.single-post #journey-content h2[id^="cj-h2-"] { scroll-margin-top: 25px; }

/* Native details toggle: closed initially, Show only becomes Hide when opened. */
.single-post #journey-content .cj-article-toc summary { list-style: none; display: flex; align-items: center; gap: 14px; justify-content: space-between; }
.single-post #journey-content .cj-article-toc summary::-webkit-details-marker { display: none; }
.single-post #journey-content .cj-article-toc summary::after {
    content: 'Show +';
    color: #276246;
    font-size: 13px;
    font-weight: 700;
    flex: 0 0 auto;
}
.single-post #journey-content .cj-article-toc details[open] summary::after { content: 'Hide −'; }
