/* Cooking My Story — scoped to single recipe posts */
body.single-post { --cms-ink:#293e35; --cms-accent:#b9684d; --cms-muted:#66756c; --cms-cream:#fbf7f0; }
body.single-post .site-main .inside-article { max-width: 880px; margin: 0 auto; }
body.single-post .entry-title { color:var(--cms-ink); font-size:clamp(2rem,4vw,3.2rem); letter-spacing:-.035em; line-height:1.13; }
body.single-post .entry-meta { color:var(--cms-muted); font-size:.88rem; }
body.single-post .entry-content { font-size:1.05rem; line-height:1.85; color:#36483f; }
body.single-post .entry-content h2 { color:var(--cms-ink); font-size:clamp(1.6rem,3vw,2.2rem); line-height:1.25; margin-top:2em; }
body.single-post .entry-content h3 { color:var(--cms-ink); }
body.single-post .post-image img { border-radius:18px; object-fit:cover; }
body.single-post .entry-content img { max-width:100%; height:auto; border-radius:12px; }
body.single-post .entry-content a { text-underline-offset:3px; }
.cms-recipe-actions { display:flex; gap:12px; flex-wrap:wrap; margin:24px 0 30px; }
.cms-recipe-actions button { cursor:pointer; border-radius:100px; padding:13px 23px; font-weight:700; font-size:.96rem; border:1px solid var(--cms-ink); }
.cms-jump { background:var(--cms-ink); color:white; }
.cms-print { background:white; color:var(--cms-ink); }
.cms-recipe-actions button:hover { opacity:.88; }
body.single-post .wprm-recipe-container { scroll-margin-top:90px; }
.cms-author-note { background:var(--cms-cream); border-radius:18px; padding:24px 30px; margin:54px 0 30px; }
.cms-author-label,.cms-section-kicker { font-size:.72rem; letter-spacing:.15em; color:var(--cms-accent); font-weight:800; }
.cms-author-note p { margin:6px 0; font-size:1.18rem; font-weight:700; }
.cms-author-note a { color:var(--cms-ink); }
.cms-author-note span { color:var(--cms-muted); font-size:.94rem; }
.cms-related { margin:62px 0 30px; }
.cms-related h2 { margin:6px 0 24px!important; font-size:clamp(1.6rem,3vw,2.1rem)!important; }
.cms-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.cms-related-card { display:block; text-decoration:none!important; background:#fff; border:1px solid #eee7dc; border-radius:14px; overflow:hidden; color:var(--cms-ink)!important; }
.cms-related-img { aspect-ratio:4/3; background:#f0e9de; overflow:hidden; display:grid; place-items:center; }
.cms-related-img img { width:100%; height:100%!important; object-fit:cover; border-radius:0!important; }
.cms-related-fallback { font-size:3rem; color:#b6a797; }
.cms-related-title { font-size:1rem; line-height:1.35; font-weight:700; padding:14px 13px 4px; }
.cms-related-read { display:block; font-size:.83rem; color:var(--cms-accent); font-weight:700; padding:0 13px 15px; }
@media(max-width:700px) { .cms-related-grid { grid-template-columns:1fr 1fr; gap:12px; } .cms-author-note { padding:20px; } }
@media(max-width:460px) { .cms-related-grid { grid-template-columns:1fr; } .cms-recipe-actions button { flex:1; } }
@media print { .cms-recipe-actions, .cms-related, .cms-author-note {display:none!important;} }

/* v1.1: On default GeneratePress single posts, put the title/byline above the featured image.
   This only reorders existing elements: it never outputs a second H1. */
body.single-post .site-main .inside-article:has(> .entry-header):has(> .post-image) {
  display:flex;
  flex-direction:column;
}
body.single-post .site-main .inside-article > .entry-header { order:1; }
body.single-post .site-main .inside-article > .post-image { order:2; margin:0 0 28px; }
body.single-post .site-main .inside-article > .entry-content { order:3; margin-top:0; }
body.single-post .site-main .inside-article > .entry-summary { order:3; }
body.single-post .site-main .inside-article > .entry-footer { order:4; }
body.single-post .entry-header { margin-bottom:24px; }
body.single-post .entry-header .entry-title { margin:0 0 12px; }
body.single-post .entry-header .entry-meta { margin-bottom:0; }
body.single-post .post-image img { display:block; width:100%; height:auto; }
body.single-post .cms-recipe-actions { align-items:center; }
body.single-post .cms-recipe-actions button:focus-visible { outline:3px solid var(--cms-accent); outline-offset:3px; }
@media(max-width:767px) {
 body.single-post .entry-header { margin-bottom:18px; }
 body.single-post .site-main .inside-article > .post-image { margin-bottom:20px; }
}
