/* Detail-only handbook composition; overview, login, album and global shell stay intact. */
/* WordPress/Elementor integration: protect the shell, preserve authored widget overrides. */
.campfire-page .sirvival-design .footer { --forest:var(--cf-parchment); --charcoal:var(--cf-parchment); --muted:var(--cf-sage); }
.campfire-page .campfire-login-form button { opacity:1; cursor:pointer; }
.campfire-page .cf-paper-body :where(.elementor-widget-heading) .elementor-heading-title { font-family:var(--heading); font-weight:600; color:var(--cf-ink); line-height:1.25; }
.campfire-page .cf-paper-body :where(.elementor-widget-text-editor) { font-family:var(--sans); color:var(--cf-muted); font-size:16px; line-height:1.95; }
.campfire-page .cf-paper-body :where(h2) { font-family:var(--heading); font-size:39px; color:var(--cf-ink); margin-block:45px 22px; scroll-margin-top:40px; }
.campfire-page .cf-paper-body :where(h3) { font-family:var(--heading); font-size:28px; color:var(--cf-ink); margin-block:32px 18px; scroll-margin-top:40px; }
.campfire-page .cf-paper-body :where(p,li) { overflow-wrap:anywhere; }
.campfire-page .cf-article-content { min-width:0; }
.campfire-page .cf-article-content .elementor { max-width:100%; min-width:0; }
.campfire-page .cf-article-content :where(.elementor-widget-text-editor p, .elementor-widget-text-editor li) { font-family:inherit; color:inherit; }
.campfire-page .cf-article-content img { max-width:100%; height:auto; }
.campfire-page .cf-paper-body .cf-article-figure img { width:auto; max-width:100%; height:auto; }
.campfire-page .campfire-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; margin-top:45px; }
.campfire-page .campfire-inside h3 { font-size:30px; }
.campfire-page .campfire-inside p { color:var(--cf-sage); }
.campfire-page .navigation a { color:var(--cf-parchment); }
.campfire-page .cf-detail > .cf-resource-header > .cf-metadata { text-transform:uppercase; }
.campfire-page .cf-detail .cf-files li > a > span { min-width:0; overflow-wrap:anywhere; }
/* Theme-owned detail chrome must outrank Elementor's body-wide kit rules.
   Direct component selectors deliberately exclude the editable paper body. */
.campfire-page .cf-detail > .cf-resource-header > h1 {
 color:var(--cf-parchment); font-family:var(--heading); font-size:clamp(56px,6.5vw,88px);
 font-weight:600; line-height:1.08; letter-spacing:-.015em; margin:0 0 28px;
}
/* Downloads is theme chrome, not Elementor-authored article content. */
.campfire-page .cf-detail .cf-resource-sidebar .cf-files {
 color:var(--cf-parchment); font-family:var(--sans); font-size:16px; font-weight:400; line-height:1.7;
}
.campfire-page .cf-detail .cf-resource-sidebar .cf-files-heading > h2 {
 color:var(--cf-parchment); font-family:var(--heading); font-size:29px;
 font-weight:600; line-height:1.08; letter-spacing:-.015em; margin:0;
}
.campfire-page .cf-detail .cf-resource-sidebar .cf-files > p {
 color:var(--cf-sage); font-family:var(--sans); font-size:12px; font-weight:400; line-height:1.8;
}
.campfire-page .cf-detail .cf-resource-sidebar .cf-files li > a {
 color:var(--cf-parchment); font-family:var(--sans); font-size:16px; font-weight:400; line-height:1.7; text-decoration:none;
}
.campfire-page .cf-detail .cf-resource-sidebar .cf-files li > a:hover { color:var(--cf-ember); }
.campfire-page .cf-detail .cf-resource-sidebar .cf-files strong {
 font-family:var(--sans); font-size:12px; font-weight:400; line-height:1.7;
}
.campfire-page .cf-detail .cf-resource-sidebar .cf-files small {
 color:var(--cf-sage); font-family:var(--sans); font-size:10px; font-weight:400; line-height:1.7;
}
.campfire-page .cf-detail .cf-resource-sidebar .cf-knowledge-links > h2 {
 color:var(--cf-parchment); font-family:var(--heading); font-size:29px;
 font-weight:600; line-height:1.08; letter-spacing:-.015em; margin:0 0 22px;
}
.campfire-page .cf-detail .cf-resource-sidebar .cf-knowledge-links li > a {
 color:var(--cf-parchment); font-family:var(--sans); font-size:13px;
 font-weight:400; line-height:1.8; text-decoration:none;
}
.campfire-page .cf-detail .cf-resource-sidebar .cf-knowledge-links li > a:hover { color:var(--cf-ember); }
.campfire-page .cf-detail > .cf-questions > h2 {
 color:var(--cf-parchment); font-family:var(--heading); font-size:40px;
 font-weight:600; line-height:1.08; letter-spacing:-.015em; margin:0 0 30px;
}
.campfire-page .cf-detail > .cf-album > h2 {
 color:var(--cf-parchment); font-family:var(--heading); font-size:clamp(40px,4.1vw,60px);
 font-weight:600; line-height:1.08; letter-spacing:-.015em; margin:0 0 24px;
}
.campfire-page .cf-detail > .cf-questions > a {
 color:var(--cf-ember); font-family:var(--sans); font-size:13px;
 font-weight:400; line-height:1.7; text-decoration:none;
}
.campfire-page .cf-detail > .cf-questions > a:hover { color:var(--cf-ember); }
@media(max-width:700px) {
 .campfire-page .cf-detail > .cf-resource-header > h1 { font-size:clamp(46px,11vw,62px); }
}
@media(max-width:640px) {
 .campfire-page .cf-detail > .cf-album > h2 { font-size:41px; line-height:1.13; }
 .campfire-page .cf-detail .cf-resource-sidebar .cf-files-heading > h2 { line-height:1.13; }
 .campfire-page .cf-detail .cf-resource-sidebar .cf-knowledge-links > h2,
 .campfire-page .cf-detail > .cf-questions > h2 { line-height:1.13; }
}
@media(max-width:700px){.campfire-page .campfire-benefits { grid-template-columns:1fr; }}
.cf-detail .cf-questions { background-color:var(--cf-moss); border:0; border-radius:14px; margin-block:35px 50px; padding:30px; }
@media(max-width:700px) {
 .cf-detail .cf-questions { margin-block:28px 50px; }
}
.cf-detail .cf-explore { background:var(--paper); color:var(--forest); padding-block:clamp(60px,7vw,95px); margin-top:25px; }
.cf-explore .knowledge-layout { align-items:center; }
.cf-explore .eyebrow { color:var(--forest); }
.cf-explore h2 { font-size:clamp(40px,4.1vw,60px); line-height:1.08; margin-bottom:28px; }
.cf-explore-intro > p:not(.eyebrow) { color:var(--muted); max-width:430px; margin-bottom:20px; }
.cf-explore .knowledge-list { grid-row:auto; }
.cf-explore .knowledge-list a { display:grid; grid-template-columns:35px minmax(0,1fr) 28px; gap:12px; max-width:none; padding:24px 4px; border-top:0; border-bottom:1px solid var(--line); font-size:20px; color:var(--forest); }
.cf-explore .knowledge-list a:first-child { border-top:1px solid var(--line); }
.cf-explore .knowledge-list a:hover { color:#93482f; padding-left:13px; }
.cf-explore .knowledge-list .index { color:var(--muted); font-size:10px; }
.cf-explore .text-link { display:inline-flex; max-width:none; padding:15px 23px; border:0; font-size:13px; color:var(--parchment); background:#93482f; }
.cf-explore .text-link:hover { color:var(--parchment); background:#8c432e; }
.cf-explore a:focus-visible { outline:2px solid var(--forest); outline-offset:5px; }
@media(max-width:700px) {
 .cf-explore .knowledge-layout { grid-template-columns:minmax(0,1fr); gap:36px; }
 .cf-explore .knowledge-list { grid-column:1; }
 .cf-explore .knowledge-list a { font-size:18px; }
}
.cf-detail .cf-handbook { grid-template-columns:minmax(0,2.5fr) minmax(260px,1fr); gap:38px; }
.cf-detail .cf-handbook.cf-without-sidebar { grid-template-columns:minmax(0,850px); justify-content:center; }
.cf-handbook .cf-paper { display:block; border-radius:16px; overflow:visible; }
.cf-handbook .cf-paper-body { padding:38px 44px 52px; min-width:0; }
.cf-handbook .cf-instruction-section { border:0; padding:0; margin-top:58px; scroll-margin-top:36px; }
.cf-handbook .cf-instruction-section h2 { font-size:clamp(34px,3vw,44px); margin-bottom:25px; }
.cf-handbook .cf-instruction-section h3 { font-size:29px; line-height:1.25; margin-block:36px 18px; scroll-margin-top:36px; }
.cf-handbook .cf-instruction-section p, .cf-handbook .cf-instruction-section li { font-size:16px; line-height:1.95; overflow-wrap:anywhere; }
.cf-handbook .cf-section-number { margin-bottom:12px; }
.cf-handbook .cf-instruction-section li { margin-bottom:12px; }
.cf-handbook .cf-instruction-section li:last-child { margin-bottom:0; }
.cf-handbook .cf-contents { border-bottom:1px solid var(--cf-paper-line); padding-bottom:25px; }
.campfire-page .cf-detail .cf-contents > ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(var(--cf-toc-rows,1),auto); grid-auto-flow:column; gap:14px 35px; list-style:decimal-leading-zero outside; padding:0 0 0 28px; margin:20px 0 0; }
.campfire-page .cf-detail .cf-contents > ol > li { min-width:0; padding:0 0 0 12px; }
.campfire-page .cf-detail .cf-contents > ol > li::marker { color:#805429; font-family:var(--sans); font-size:10px; font-weight:400; font-variant-numeric:tabular-nums; }
.campfire-page .cf-detail .cf-contents > ol > li > a,
.campfire-page .cf-detail .cf-contents > ol > li > a:is(:hover,:focus,:focus-visible,:visited,:active) { text-decoration:none; font-family:var(--sans); font-size:13px; font-weight:400; color:var(--cf-ink); overflow-wrap:anywhere; }
.campfire-page .cf-detail .cf-contents > ol > li > a:hover { color:#93482F; text-decoration:underline; text-underline-offset:3px; }
.campfire-page .cf-detail .cf-contents > ol > li > a:focus-visible { outline:2px solid currentColor; outline-offset:4px; border-radius:3px; }
.cf-contents a { display:flex; align-items:baseline; gap:12px; font-size:13px; line-height:1.7; text-decoration:none; }
.cf-contents a span { font-size:10px; color:var(--cf-muted); }
.cf-contents details { margin-top:24px; font-size:13px; }
.cf-contents summary { cursor:pointer; padding-block:5px; }
.cf-technique-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 25px; margin-top:20px; }
.cf-technique-links a { color:var(--cf-muted); font-size:12px; }
.cf-handbook-shortcuts { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:24px; }
.cf-handbook-shortcuts:empty { display:none; }
.cf-handbook-shortcuts a { color:var(--cf-muted); font-size:11px; }
.cf-handbook .cf-article-figure { margin-block:32px; }
.cf-handbook .cf-article-figure img { display:block; margin:0; width:100%; height:auto; border-radius:12px; }
.cf-handbook .cf-figure-narrow { max-width:420px; margin-inline:auto; }
.cf-handbook .cf-paper figcaption { display:block; padding-top:12px; font-size:11px; line-height:1.75; }
.cf-handbook .cf-comparison { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-block:32px; }
.cf-handbook .cf-comparison figure { min-width:0; margin:0; }
.cf-handbook .cf-comparison img { display:block; width:100%; height:auto; aspect-ratio:800/446; object-fit:contain; margin:0; border-radius:10px; background:white; }
.cf-handbook .cf-comparison .cf-example-label { font-family:var(--heading); font-size:22px; font-weight:600; color:var(--cf-ink); margin-bottom:10px; }
.cf-handbook .cf-teaching-note { margin-block:30px; padding:24px; border-radius:12px; background:var(--paper); }
.cf-handbook .cf-teaching-note .eyebrow { font-size:10px; line-height:1.6; margin-bottom:12px; }
.cf-handbook .cf-teaching-note p:last-child { margin:0; }
.cf-handbook .cf-callout-safety { border-inline-start:3px solid #93482f; }
.cf-handbook .cf-callout-tip { border-inline-start:3px solid var(--forest); }
.cf-handbook .cf-callout-note { background:transparent; border:1px solid var(--cf-paper-line); }
.cf-handbook .cf-steps { padding-left:25px; margin-block:25px; }
.cf-handbook .cf-steps li { padding-left:8px; }
.cf-handbook .cf-steps li::marker { font-family:var(--heading); font-weight:600; color:#93482f; }
.cf-handbook .cf-steps strong { display:block; margin-bottom:6px; }
.cf-handbook .cf-original-notes { margin-top:45px; padding-top:20px; border-top:1px solid var(--cf-paper-line); }
.cf-handbook .cf-original-notes summary { font-size:12px; cursor:pointer; }
.cf-handbook .cf-original-notes .cf-before { margin-top:25px; }
.campfire-page .cf-detail .cf-resource-sidebar { min-width:0; display:grid; gap:24px; position:static; top:auto; height:auto; max-height:none; overflow:visible; padding:2px; }
.cf-handbook .cf-files { position:static; max-height:none; overflow:visible; padding:26px; border-radius:14px; }
.cf-handbook .cf-files h2, .cf-knowledge-links h2 { font-size:29px; margin:0; }
.cf-knowledge-links { padding:26px; border:1px solid var(--cf-line); border-radius:14px; }
.cf-knowledge-links .eyebrow { font-size:8px; letter-spacing:.12em; }
.cf-knowledge-links h2 { margin-bottom:22px; }
.cf-knowledge-links ul { list-style:none; padding:0; margin:0; }
.cf-knowledge-links li + li { border-top:1px solid var(--cf-line); }
.cf-knowledge-links a { display:flex; justify-content:space-between; align-items:center; gap:15px; padding-block:14px; font-size:13px; line-height:1.8; }
.cf-knowledge-links a .cf-icon { flex-shrink:0; color:var(--cf-ember); }
.cf-knowledge-links a:hover { color:var(--cf-ember); }
.campfire-page .cf-detail .cf-resource-sidebar .cf-workshop-links .cf-workshop-copy { display:block; min-width:0; overflow-wrap:anywhere; }
.campfire-page .cf-detail .cf-resource-sidebar .cf-workshop-links .cf-workshop-title { display:block; }
.campfire-page .cf-detail .cf-resource-sidebar .cf-workshop-links .cf-workshop-description {
 display:block; margin-top:4px; color:var(--cf-sage); font-family:var(--sans);
 font-size:11px; font-weight:400; line-height:1.7;
}
.cf-source-note { padding:8px 15px; }
.cf-source-note p { color:var(--cf-sage); font-size:11px; line-height:1.85; }
.cf-source-note a { display:inline-flex; align-items:center; gap:10px; font-size:11px; color:var(--cf-ember); }
.cf-handbook :is(a,summary):focus-visible { outline:2px solid currentColor; outline-offset:4px; border-radius:3px; }
.cf-handbook :is(#cf-files-title,#cf-knowledge-title) { scroll-margin-top:40px; }
@media(max-width:1050px) {
 .cf-detail .cf-handbook { grid-template-columns:minmax(0,1fr); gap:35px; }
 .cf-resource-sidebar { position:static; max-height:none; overflow:visible; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
 .cf-source-note { grid-column:1/-1; max-width:650px; }
}
@media(max-width:700px) {
 .cf-handbook .cf-paper-body { padding:28px 24px 38px; grid-row:auto; background:transparent; }
 .cf-handbook .cf-instruction-section { margin-top:42px; }
 .cf-handbook .cf-instruction-section h3 { font-size:27px; }
 .cf-handbook .cf-instruction-section p, .cf-handbook .cf-instruction-section li { font-size:15px; }
 .cf-handbook .cf-comparison, .cf-resource-sidebar { grid-template-columns:minmax(0,1fr); }
 .cf-handbook .cf-comparison { gap:28px; }
 .campfire-page .cf-detail .cf-contents > ol { grid-template-columns:minmax(0,1fr); grid-template-rows:none; grid-auto-flow:row; gap:12px; }
 .cf-technique-links { grid-template-columns:minmax(0,1fr); gap:12px; }
 .cf-handbook .cf-teaching-note { padding:20px; }
}
