/*
Theme Name: JTL Approved Live
Template: twentyeleven
Version: 1.0.0
Description: Faithful staging migration of the approved Local JTL site.
*/
/* Journey Through Loss — local redesign preview */
:root {
  --jtl-ink: #24352f;
  --jtl-forest: #234b3e;
  --jtl-forest-deep: #18382f;
  --jtl-sage: #dce8dc;
  --jtl-mist: #f0f4ed;
  --jtl-paper: #fffefa;
  --jtl-muted: #596a62;
  --jtl-clay: #a65f45;
  --jtl-line: #d8e1d7;
}
html { background: var(--jtl-mist); }
body { background: var(--jtl-mist); color: var(--jtl-ink); font: 17px/1.72 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
#page { max-width: 1240px; margin: 26px auto; overflow: hidden; border-radius: 18px; background: var(--jtl-paper); box-shadow: 0 16px 50px rgba(34, 59, 47, .10); }
#branding { border: 0; background: var(--jtl-paper); padding: 34px 6.5% 0; }
#branding #site-title { margin: 0; padding: 0; font-size: 30px; line-height: 1.2; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }
#branding #site-title a { color: #244f68; font-family: "Avenir Next", Avenir, "Segoe UI", sans-serif; text-decoration: none; }
#branding #site-description { margin: 3px 0 0; color: var(--jtl-muted); font-size: 15px; line-height: 1.3; font-weight: 600; letter-spacing: .10em; text-transform: uppercase; }
#branding #header-image, #branding img { display: none !important; }
#branding:after { content: ""; display: block; height: 176px; margin: 28px 0 0; border-radius: 14px 14px 0 0; background: linear-gradient(90deg, rgba(26, 62, 49, .14), rgba(26, 62, 49, .02)), url("/wp-content/uploads/2016/01/cropped-fern-500x144.jpg") center 48% / cover no-repeat; }
#access { margin: 0; border: 0; background: var(--jtl-forest); box-shadow: none; }
#access div { margin: 0 auto; max-width: 1080px; padding: 0 2%; }
#access ul { display: flex; flex-wrap: nowrap; align-items: center; gap: 1px; padding: 8px 0; }
#access li { border: 0; }
#access ul > li { position: relative; }
#access ul ul { display: none; position: absolute; z-index: 20; top: 100%; left: 0; min-width: 180px; padding: 7px; flex-direction: column; align-items: stretch; gap: 2px; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; background: var(--jtl-forest-deep); box-shadow: 0 10px 24px rgba(20,45,36,.2); }
#access ul li:hover > ul, #access ul li:focus-within > ul { display: flex; }
#access ul ul li { width: 100%; }
#access ul ul a { white-space: nowrap; border-radius: 8px; }
#access a { display: block; padding: 10px 9px; color: #f8fbf6; font-size: 14px; line-height: 1.3; text-shadow: none; border-radius: 999px; }
#access a:hover, #access li:hover > a, #access ul ul a:hover { background: rgba(255,255,255,.13); color: #fff; }
#access .current_page_item > a, #access .current-menu-item > a { background: rgba(255,255,255,.18); color: #fff; font-weight: 700; }
#access .jtl-intake-nav { margin-left: auto; }
#access .jtl-intake-nav a { background: #f3ddc4; color: #283d33; font-weight: 700; }
#access .jtl-intake-nav a:hover { background: #fff1df; color: #21382e; }
#main { max-width: 1120px; margin: 0 auto; padding: 46px 5.5% 58px; border: 0; }
body.jtl-page-179 #main { padding-top: 22px; }
body.jtl-page-179 .jtl-source-179 { padding-top: 0; }
body.jtl-page-179 .entry-title { padding-top: 0; }
body.jtl-page-10 .jtl-source-10 { padding-top: 0; }
#primary { float: right; width: 69%; margin: 0; }
#content { margin: 0; width: auto; }
#secondary { float: left; width: 25%; margin: 0; }
.singular #primary, .singular #content { width: auto; margin: 0; }
.singular #secondary { margin: 0; }
.hentry { margin: 0 0 2em; padding: 0; border: 0; }
.entry-title, .entry-title a { color: var(--jtl-forest-deep); font: 600 clamp(30px, 4vw, 42px)/1.18 Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
.entry-title { margin: 0 0 24px; }
.entry-content { color: var(--jtl-ink); font-size: 17px; }
.entry-content p { margin: 0 0 1.15em; }
.entry-content h2, .entry-content h3 { margin: 1.6em 0 .55em; color: var(--jtl-forest); font-family: Georgia, "Times New Roman", serif; font-weight: 600; line-height: 1.25; }
.entry-content h2 { font-size: 29px; }
.entry-content h3 { font-size: 22px; }
.entry-content a { color: #285d4c; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.entry-content a:hover { color: var(--jtl-clay); }
#secondary .widget { margin: 0 0 20px; padding: 21px; border: 1px solid var(--jtl-line); border-radius: 14px; background: #f8faf5; box-shadow: 0 5px 18px rgba(34,59,47,.04); }
#secondary .jtl-widget-review { margin: 0 0 12px; padding: 9px 10px; border-radius: 8px; background: #fbf1e7; color: #714833; font-size: 12px; line-height: 1.45; }
#secondary .widget-title { margin: 0 0 10px; color: var(--jtl-forest); font: 700 13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: .12em; text-align: left; }
#secondary .widget p:last-child { margin-bottom: 0; }
#secondary img { max-width: 100%; height: auto; border-radius: 10px; }
#colophon { margin: 0; padding: 27px 6%; border: 0; background: #edf3eb; color: var(--jtl-muted); }
#colophon .jtl-copyright { margin: 0; text-align: center; font-size: 13px; }
#site-generator { color: var(--jtl-muted); }
#site-generator a { color: var(--jtl-forest); }
.jtl-local-preview, .jtl-review-note { margin: 0 0 25px; padding: 15px 18px; border: 1px solid #c6d6c6; border-radius: 12px; background: #f0f6ed; color: #344d3f; font-size: 14px; line-height: 1.55; }
.jtl-local-preview strong, .jtl-review-note strong { color: var(--jtl-forest-deep); }
.jtl-review-note { border-color: #e5c8ae; background: #fbf4ec; color: #614534; }
.jtl-review-note strong { color: #794a34; }
.jtl-home-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: clamp(22px, 4vw, 54px); padding: clamp(26px, 4vw, 48px); border: 1px solid var(--jtl-line); border-radius: 20px; background: linear-gradient(140deg, #f1f6ed 0%, #fbfaf3 72%); }
.jtl-home-hero .jtl-copy { grid-column: 1; grid-row: 1; }
.jtl-eyebrow { margin: 0 0 10px !important; color: var(--jtl-clay); font-size: 12px; font-weight: 750; letter-spacing: .15em; line-height: 1.4; text-transform: uppercase; }
.jtl-home-hero h1 { margin: 0 0 18px; color: var(--jtl-forest-deep); font: 600 clamp(35px, 5vw, 54px)/1.08 Georgia, "Times New Roman", serif; letter-spacing: -.04em; }
.jtl-home-hero .jtl-lead { max-width: 650px; color: #40554a; font-size: 19px; line-height: 1.62; }
.jtl-logo-wrap { grid-column: 1; grid-row: 2; justify-self: center; width: 100%; max-width: 640px; margin: 0; padding: 8px; border: 1px solid #e7e9df; border-radius: 18px; background: rgba(255,255,255,.83); }
.jtl-logo-wrap img { display: block; width: 100%; height: auto; }
.jtl-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 25px 0 0 !important; }
.jtl-button { display: inline-block; padding: 12px 18px; border: 2px solid var(--jtl-forest); border-radius: 999px; background: var(--jtl-forest); color: #fff !important; font-size: 14px; font-weight: 700; line-height: 1.35; text-decoration: none !important; }
.jtl-button:hover { background: var(--jtl-forest-deep); color: #fff !important; }
.jtl-button-secondary { background: transparent; color: var(--jtl-forest) !important; }
.jtl-button-secondary:hover { background: var(--jtl-sage); color: var(--jtl-forest-deep) !important; }
.jtl-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 28px 0; }
.jtl-feature-card { padding: 24px; border: 1px solid var(--jtl-line); border-radius: 16px; background: #fff; }
.jtl-feature-card h2 { margin: 0 0 10px !important; font-size: 25px !important; }
.jtl-feature-card p:last-child { margin-bottom: 0; }
.jtl-step { display: inline-grid; width: 34px; height: 34px; place-items: center; margin-bottom: 14px; border-radius: 50%; background: var(--jtl-sage); color: var(--jtl-forest); font-size: 13px; font-weight: 800; }
.jtl-home-close { padding: 27px 30px; border-radius: 16px; background: #f2f5ee; }
.jtl-home-close h2 { margin: 0 0 8px !important; font-size: 27px !important; }
.jtl-donation-invite { margin: 24px 0 0; padding: 24px 26px; border: 1px solid #e6d5c4; border-left: 5px solid var(--jtl-clay); border-radius: 16px; background: #fbf3e9; color: var(--jtl-ink); font-size: 15px; }
.jtl-donation-invite .jtl-eyebrow { margin-bottom: 6px !important; }
.jtl-donation-invite h2 { margin: 0 0 8px !important; color: var(--jtl-forest-deep); font: 600 24px/1.3 Georgia, "Times New Roman", serif; }
.jtl-donation-invite p:not(.jtl-eyebrow) { margin: 0 0 16px !important; }
.jtl-donation-invite .jtl-button { font-size: 13px; padding: 10px 15px; }
.jtl-donation-layout { display: grid; grid-template-columns: minmax(0, 1fr) 132px; align-items: center; gap: 22px; }
.jtl-donation-logo { display: flex; flex-direction: column; align-items: center; gap: 7px; color: var(--jtl-forest) !important; font-size: 11px; font-weight: 700; line-height: 1.3; text-align: center; text-decoration: none; }
.jtl-donation-logo img { display: block; width: 100%; height: auto; padding: 5px; border: 1px solid var(--jtl-line); border-radius: 8px; background: #fff; }
.jtl-donation-logo:hover img { border-color: var(--jtl-clay); }
.jtl-donation-fund-note { margin: 14px 0 0 !important; padding: 12px 14px; border-left: 4px solid var(--jtl-forest); border-radius: 7px; background: #edf3ee; color: var(--jtl-forest-deep); font-size: 14px; line-height: 1.5; }
.jtl-supporter-acknowledgment { display: grid; grid-template-columns: 132px minmax(0, 1fr); align-items: center; gap: 22px; margin: 36px 0 0; padding: 24px; border: 1px solid var(--jtl-line); border-radius: 16px; background: #f8faf5; box-shadow: 0 5px 16px rgba(34,59,47,.07); }
.jtl-supporter-acknowledgment h2 { grid-column: 1 / -1; margin: 0 !important; color: var(--jtl-forest-deep); font: 600 24px/1.3 Georgia, "Times New Roman", serif; }
.jtl-supporter-acknowledgment a { display: block; padding: 6px; border: 1px solid var(--jtl-line); border-radius: 8px; background: #fff; }
.jtl-supporter-acknowledgment a:hover { border-color: var(--jtl-clay); }
.jtl-supporter-acknowledgment img { display: block; width: 100%; height: auto; max-height: 190px; object-fit: contain; }
.jtl-supporter-acknowledgment p { margin: 0 !important; color: var(--jtl-ink); font-size: 16px; line-height: 1.6; }
.jtl-fund-designation-inline { display: block; margin: 14px 0; padding: 14px 16px; border-left: 5px solid var(--jtl-forest); border-radius: 8px; background: #edf3ee; color: var(--jtl-forest-deep); font-size: 1.08em; line-height: 1.55; }
.jtl-boundary { margin: 22px 0 0 !important; padding: 14px 17px; border-left: 3px solid #8b9b8c; color: #536158; font-size: 14px; }
.jtl-crisis-resources { margin: 25px 0; padding: 22px 24px; border: 1px solid #e4cbbd; border-left: 5px solid var(--jtl-clay); border-radius: 14px; background: #fbf5f0; }
.jtl-crisis-resources h2, .jtl-crisis-resources h3 { color: #724934; }
.jtl-reading-listening { margin: 28px 0; padding: 26px; border: 1px solid var(--jtl-line); border-radius: 16px; background: #f8faf5; color: var(--jtl-ink); }
.jtl-reading-listening h2, .jtl-reading-listening h3, .jtl-reading-listening h4 { color: var(--jtl-forest-deep); font-family: Georgia, "Times New Roman", serif !important; font-style: normal !important; letter-spacing: 0 !important; line-height: 1.35 !important; }
.jtl-reading-listening h2 { margin: 22px 0 9px !important; font-size: 21px !important; }
.jtl-reading-listening h2:first-of-type { margin-top: 0 !important; font-size: 29px !important; }
.jtl-reading-listening h3, .jtl-reading-listening h4 { margin: 20px 0 7px !important; font-size: 18px !important; }
.jtl-reading-listening p, .jtl-reading-listening li { margin: 10px 0 !important; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; font-size: 16px !important; line-height: 1.65 !important; }
.jtl-reading-listening span, .jtl-reading-listening strong, .jtl-reading-listening em, .jtl-reading-listening b, .jtl-reading-listening i { font-family: inherit !important; font-size: inherit !important; color: inherit !important; }
.jtl-reading-listening a { color: var(--jtl-forest) !important; font-family: inherit !important; font-weight: 650; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.jtl-reading-listening iframe[src*="spotify"] { display: block; width: min(100%, 560px); max-width: 100%; margin: 14px 0; border: 0; border-radius: 12px; }
.jtl-reading-listening hr { margin: 20px 0; border: 0; border-top: 1px solid var(--jtl-line); }
.jtl-crisis-disclaimer { margin: 0 0 16px !important; color: #654b3d; font-size: 14px; }
.jtl-crisis-review { margin: 16px 0 0 !important; padding-top: 13px; border-top: 1px solid #ead8ca; color: #744a34; font-size: 13px; }
body.home #primary, body.home #content { float: none; width: 100%; margin: 0; }
body.home #secondary { display: none; }
.jtl-source-6 .entry-title { display: none; }
.jtl-source-6 .entry-content { font-size: 16px; }
.jtl-source-6 .entry-content h2 { margin-top: 1.2em; }
.jtl-contact-actions { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 24px 0 30px; }
.jtl-contact-option { display: flex; flex-direction: column; justify-content: center; gap: 7px; min-height: 90px; padding: 20px 22px; border: 1px solid #cbd9cb; border-radius: 15px; background: #f2f6ef; color: var(--jtl-forest-deep) !important; text-decoration: none !important; box-shadow: 0 5px 16px rgba(34,59,47,.06); }
.jtl-contact-option span { color: var(--jtl-muted); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.jtl-contact-option strong { font: 700 clamp(21px, 2.5vw, 29px)/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; overflow-wrap: anywhere; }
.jtl-email-option strong { font-size: clamp(15px, 2vw, 24px); white-space: nowrap; overflow-wrap: normal; }
.jtl-contact-option:hover { border-color: var(--jtl-forest); background: #e8f0e6; }
body.jtl-page-46 #primary, body.jtl-page-46 #content, body.jtl-page-46 .entry-content { float: none; width: 100%; max-width: none; margin: 0; }
body.jtl-page-46 #secondary { display: none; }
body.jtl-page-46 .jtl-feature-grid { grid-template-columns: 1fr; }
#comments { border-color: var(--jtl-line); }
#branding a:focus, #access a:focus, .entry-content a:focus, input:focus, button:focus { outline: 3px solid #c07850; outline-offset: 3px; }
@media (max-width: 1000px) {
  #page { margin: 10px; border-radius: 14px; }
  #branding { padding: 25px 5% 0; }
  #branding #site-title { font-size: 26px; }
  #branding:after { height: 130px; margin-top: 20px; }
  #access div { padding: 0 12px; }
  #access ul { justify-content: center; flex-wrap: wrap; }
  #access .jtl-intake-nav { margin-left: 0; }
  #main { padding: 32px 5% 42px; }
  #primary, #secondary, .singular #primary, .singular #secondary { float: none; width: 100%; margin: 0; }
  #primary { margin-bottom: 32px; }
  .jtl-home-hero { grid-template-columns: 1fr; }
  .jtl-home-hero .jtl-copy { grid-column: 1; grid-row: 1; }
  .jtl-logo-wrap { grid-column: 1; grid-row: 2; justify-self: center; width: min(100%, 380px); }
}
@media (max-width: 540px) {
  body { font-size: 16px; }
  #page { margin: 0; border-radius: 0; }
  #branding #site-title { font-size: 21px; letter-spacing: .025em; }
  #branding #site-description { margin-top: 2px; font-size: 13px; letter-spacing: .07em; }
  #branding:after { height: 108px; border-radius: 10px 10px 0 0; }
  #access a { padding: 9px 10px; font-size: 13px; }
  #access .jtl-intake-nav { margin-left: auto; }
  .jtl-donation-layout { grid-template-columns: minmax(0, 1fr) 90px; gap: 12px; }
  .jtl-supporter-acknowledgment { grid-template-columns: 90px minmax(0, 1fr); gap: 14px; }
  .jtl-supporter-acknowledgment h2 { font-size: 21px; }
  .jtl-feature-grid, .jtl-contact-actions { grid-template-columns: 1fr; }
  .jtl-home-hero { padding: 22px; }
  .jtl-home-hero h1 { font-size: 37px; }
  .jtl-feature-card { padding: 20px; }
  .jtl-reading-listening { padding: 19px; }
  .jtl-reading-listening h2:first-of-type { font-size: 25px !important; }
}

.jtl-link-pending { display: inline-block; color: #744a34; font-size: .92em; font-weight: 700; }

.jtl-session-options { margin: 28px 0; padding: 26px; border: 1px solid var(--jtl-line); border-radius: 18px; background: #f8faf5; }
.jtl-session-options > .jtl-eyebrow { margin-bottom: 15px !important; }
.jtl-session-options .jtl-feature-grid { margin: 0; }
.jtl-schedule-review { margin: 18px 0 0 !important; padding: 12px 15px; border-left: 3px solid var(--jtl-clay); background: #fbf4ec; color: #654b3d; font-size: 13px; line-height: 1.5; }
.jtl-facilitator-resources { max-width: 780px; }
.jtl-facilitator-resources h2 { margin-top: 30px; color: var(--jtl-forest-deep); }
.jtl-resource-list { margin: 0; padding: 0; list-style: none; }
.jtl-resource-list li { margin: 0 0 14px; padding: 18px 20px; border: 1px solid var(--jtl-line); border-radius: 14px; background: #f8faf5; }
.jtl-resource-list li p { margin: 6px 0 0; color: var(--jtl-muted); font-size: 15px; }
.jtl-resource-link { color: var(--jtl-forest); font-size: 18px; font-weight: 750; }
.jtl-resource-link:hover { color: var(--jtl-clay); }

/* Keep the private facilitator page readable in the inherited default template. */
body.jtl-page-285.singular #primary, body.jtl-page-285.singular #content { float: none; width: 100%; margin: 0; }
body.jtl-page-285.singular .entry-header, body.jtl-page-285.singular .entry-content { width: 100%; margin: 0; }
body.jtl-page-285 .entry-title { padding-top: 0; }

/* Approved headline hierarchy: quieter reassurance below the main heading. */
.jtl-home-hero h1 { font-size: clamp(30px, 3.5vw, 42px); line-height: 1.14; letter-spacing: -.025em; margin-bottom: 12px; text-wrap: balance; }
.jtl-home-hero .jtl-reassurance { margin: 0 0 22px; color: var(--jtl-forest-deep); font: 400 clamp(21px, 2.3vw, 28px)/1.35 Georgia, "Times New Roman", serif; font-style: normal; }
@media (max-width: 540px) { .jtl-home-hero h1 { font-size: 30px; } .jtl-home-hero .jtl-reassurance { font-size: 22px; } }

/* Approved staging Additional CSS, with live page IDs. */
.jtl-home-hero .jtl-copy > .jtl-actions {
 display: none !important;
}
/* Keep search above navigation at every screen width. */
#branding #searchform { position: relative; top: auto; right: auto; float: none; width: 180px; margin: 0 7.6% 16px auto; }
#branding #searchform #s { width: 100%; box-sizing: border-box; }
@media (max-width: 600px) {
 .jtl-home-hero h1 { font-size: 30px !important; line-height: 1.18 !important; }
 .jtl-home-hero .jtl-copy { padding: 18px !important; }
 #branding #searchform { width: 160px; margin-bottom: 14px; }
}
.page-id-127 .jtl-resource-divider { border: 0; border-top: 1px solid #52645a; margin: 24px 0; width: 100%; }
#branding #searchform { min-height: 62px; clear: both; }
@media (max-width:600px) { .jtl-home-hero { padding:18px !important; } .jtl-home-hero .jtl-copy { padding:0 !important; } }
/* Title and search share the header row on larger screens. */
@media (min-width:760px) {
 #branding hgroup { margin:0 7.6%; padding:20px 190px 18px 0; }
 #branding #searchform { position:absolute; top:28px; right:7.6%; margin:0; width:170px; min-height:30px; clear:none; }
}
@media (max-width:759px) { #branding #searchform { min-height:36px; margin-bottom:24px; } }
/* Resources: consistent hierarchy and links. */
.page-id-127 .entry-content a, .page-id-127 .entry-content a span, .page-id-127 .entry-content a mark { color:#285b49 !important; background:transparent !important; text-decoration:underline; }
.page-id-127 .entry-content h2 { font-size:24px; line-height:1.3; margin:0 0 20px; }
.page-id-127 .entry-content .jtl-resource-title { font-family:inherit; font-size:18px; line-height:1.6; margin:20px 0; }
.page-id-127 .entry-content figcaption { font-family:inherit; font-size:15px; line-height:1.5; margin:10px 0 24px; }
.page-id-127 .entry-content p > strong:first-child > span[style*="underline"] { font-size:24px; line-height:1.3; text-decoration:none !important; }
.page-id-127 .entry-content figure { margin-top:20px; margin-bottom:24px; }
.page-id-127 .entry-content h2, .page-id-127 .entry-content p > strong:first-child > span[style*="underline"] { font-family:Arial,sans-serif !important; font-size:24px !important; font-weight:700; line-height:1.3 !important; text-decoration:none !important; }
/* Donate: bring the introduction closer to its title. */
.page-id-10 .entry-title { margin-bottom:8px; padding-bottom:0; }
.page-id-10 .entry-content { padding-top:8px; }
/* Consistent title spacing across the other public pages. */
:is(.page-id-8,.page-id-13,.page-id-46,.page-id-127,.page-id-179) .entry-title { margin-bottom:8px; padding-bottom:0; }
:is(.page-id-8,.page-id-13,.page-id-46,.page-id-127,.page-id-179) .entry-content { padding-top:8px; }
/* Facilitator resources: match the public page title spacing. */
.jtl-deferred-library-page .entry-title { margin-bottom:8px; padding-bottom:0; }
.jtl-deferred-library-page .entry-content { padding-top:8px; }
/* Remove the extra full-width template gap above these titles. */
:is(.page-id-10,.jtl-deferred-library-page) #content > .hentry { padding-top:0; }
/* A little breathing room before the first facilitator bio. */
.page-id-13 .entry-content { padding-top:18px; }
/* Homepage: gently tighten the gap beneath the fern banner. */
.page-id-6 .entry-content { padding-top:0; }
