/*
 * Blog post styling (group file, was uploads/tm-css/tm-blog.css).
 *
 * 2026-09-19: the .tm-bsvc services-block rules were removed from here. They
 * were byte-identical to the site-wide inline copy in
 * includes/blog/services-block-css.php, which has to stay site-wide because
 * [tm_blog_services] can be placed on any page. The same 55 remaining rules
 * were ALSO duplicated in assets/css/tm-blog-skin.css, which js-router.php
 * enqueued on the same posts; that file is deleted and this one is the single
 * copy. Three copies of the same rules loaded on every blog post before this.
 */
/*
 * TM CSS - blog
 * Generated 2026-09-03 from the inline <style> blocks that site-wide
 * snippets were echoing into wp_head on every page. Loaded by tm-css-router.
 * Blocks keep their original document order, so the cascade is unchanged.
 */

/* ---- tm-blogpost-css ---- */
/* ============================================================
   TM — Single blog post, consolidated skin  [2026-07-17]
   REPLACES: 6132 (Styling A), 6133 (Styling B),
             6228 (blog skin de-bright), 6239 (navy hero + readbar).
   Set all four to Draft when this goes live. Do not run them together.
   Scope: body.single-post only.
   Structure (single-post template 6124):
     420f1205  hero band (navy, full bleed)
     3f63d8e4  reading column (NO card — sits on the page)
     125dcb74  services band  [tm_blog_services]
     761f687d  related posts
     eed76f0   closing CTA band
   ============================================================ */

/* ---- 1. Page surface ---- */
body.single-post{ background:#EDEFF4 !important; }

/* ---- 2. Hero band: full bleed navy, flush under the header ----
   6228's margin-top:34px is GONE — that was the stray #EDEFF4 bar. */
body.single-post .elementor-element-420f1205{
  max-width:none !important;
  margin:0 !important;
  padding:64px 20px 48px !important;
  background:#283071 !important;
}
body.single-post .elementor-element-420f1205 > .e-con-inner{
  max-width:760px !important; margin:0 auto !important;
}
body.single-post .elementor-element-420f1205 .tm-post-cat{
  display:inline-block; font:600 13px/1 'Poppins',sans-serif;
  letter-spacing:.12em; text-transform:uppercase;
  color:#F9A96A !important; text-decoration:none; margin:0 0 14px;
}
body.single-post .elementor-element-420f1205 .tm-post-cat:hover{ color:#F57B20 !important; }
body.single-post .elementor-element-420f1205 .elementor-widget-theme-post-title h1{
  font-family:'Poppins',sans-serif !important; font-weight:800 !important;
  font-size:44px !important; line-height:1.1 !important;
  letter-spacing:-.02em !important; color:#ffffff !important; margin:0 0 22px !important;
}

/* ---- 3. Meta bar — [tm_post_meta], snippet 6635 ---- */
body.single-post .tm-pmeta{
  display:flex; flex-wrap:wrap; align-items:center; gap:0 10px;
  border-top:1px solid rgba(255,255,255,.18); padding-top:18px;
  font:500 14px/1.5 'Poppins',sans-serif; color:#C3C7DE;
}
body.single-post .tm-pmeta-sep{ color:rgba(255,255,255,.30); }
body.single-post .tm-pmeta-author{ color:#E4E7F5; font-weight:600; }
body.single-post .tm-pmeta-read{ color:#F9A96A; font-weight:600; }
body.single-post .tm-pmeta-upd{ color:#9BA1C4; }

/* ---- 4. Reading column: NO card. Sits directly on the page. ---- */
body.single-post .elementor-element-3f63d8e4{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  max-width:760px !important;
  margin:0 auto !important;
  padding:44px 20px 8px !important;
}
body.single-post .elementor-widget-theme-post-excerpt{
  font:400 20px/1.6 'Poppins',sans-serif !important;
  color:#5A5F7A !important; margin:0 0 4px !important;
}
body.single-post .elementor-widget-theme-post-excerpt p{ margin:0 !important; }
body.single-post .elementor-widget-theme-post-featured-image{ margin:0 auto 8px !important; }
body.single-post .elementor-widget-theme-post-featured-image img{
  border-radius:14px !important; width:100% !important; height:auto !important;
  aspect-ratio:16/8; object-fit:cover; display:block !important;
}
body.single-post .elementor-widget-theme-post-content p{
  font-family:'Poppins',sans-serif; color:#20233A; font-size:18px; line-height:1.75; margin:0 0 22px;
}
body.single-post .elementor-widget-theme-post-content h2{
  font-family:'Poppins',sans-serif; font-weight:700; font-size:28px; line-height:1.25;
  color:#283071; margin:48px 0 16px; letter-spacing:-.01em;
}
body.single-post .elementor-widget-theme-post-content h3{
  font-family:'Poppins',sans-serif; font-weight:600; font-size:21px;
  color:#283071; margin:32px 0 12px;
}
body.single-post .elementor-widget-theme-post-content ul,
body.single-post .elementor-widget-theme-post-content ol{ margin:0 0 22px; padding-left:22px; }
body.single-post .elementor-widget-theme-post-content li{ font-size:18px; line-height:1.7; margin-bottom:10px; }
body.single-post .elementor-widget-theme-post-content blockquote{
  border-left:4px solid #F57B20; margin:32px 0; padding:6px 0 6px 24px;
  font:500 22px/1.5 'Poppins',sans-serif; color:#283071;
}
body.single-post .elementor-widget-theme-post-content img{ border-radius:12px; }
body.single-post .elementor-widget-theme-post-content a{ color:#D9691A; text-decoration:underline; }

/* ---- 5. Post nav + share row + author ---- */
body.single-post .elementor-widget-post-navigation{
  border-top:1px solid #DDE1EC; padding-top:20px; margin-top:8px;
}
body.single-post .elementor-element-36c8d905{ margin-top:24px; align-items:center; }
body.single-post .elementor-widget-author-box{ max-width:760px; margin:0 auto; }
body.single-post .elementor-widget-author-box .elementor-author-box{
  background:#F4F5FB !important; border:1px solid #E0E4EF !important;
  border-radius:14px !important; padding:28px !important;
}
body.single-post .elementor-widget-author-box .elementor-author-box__name{
  font-family:'Poppins',sans-serif; color:#283071;
}

/* ---- 7. Related posts ----
   Cards skin paints .elementor-post__card, NOT .elementor-post.
   That mismatch is why the old rules never landed. */
body.single-post .elementor-element-761f687d{
  max-width:1160px !important; margin:0 auto !important; padding:64px 20px !important;
}
body.single-post .elementor-element-761f687d > .e-con-inner{ max-width:100% !important; }
body.single-post .elementor-element-761f687d .elementor-heading-title{
  font:700 26px 'Poppins',sans-serif !important; color:#283071 !important;
  text-align:center; margin:0 !important;
}
body.single-post .elementor-element-761f687d .elementor-post__card{
  background:#ffffff !important; border:1px solid #E0E4EF !important;
  border-radius:14px !important; overflow:hidden !important;
  box-shadow:0 6px 20px rgba(40,48,113,.06) !important;
  display:flex !important; flex-direction:column !important; height:100% !important;
  transition:transform .18s ease, box-shadow .18s ease !important;
}
body.single-post .elementor-element-761f687d .elementor-post__card:hover{
  transform:translateY(-4px) !important; box-shadow:0 14px 34px rgba(40,48,113,.12) !important;
}
body.single-post .elementor-element-761f687d .elementor-post__thumbnail__link{ margin:0 !important; }
body.single-post .elementor-element-761f687d .elementor-post__text{
  padding:22px 22px 26px !important; display:flex !important;
  flex-direction:column !important; flex:1 !important;
}
body.single-post .elementor-element-761f687d .elementor-post__title{ margin:0 0 10px !important; }
body.single-post .elementor-element-761f687d .elementor-post__title a{
  color:#283071 !important; font-family:'Poppins',sans-serif !important;
  font-weight:600 !important; font-size:1.15rem !important; line-height:1.3 !important;
}
body.single-post .elementor-element-761f687d .elementor-post__title a:hover{ color:#F57B20 !important; }
body.single-post .elementor-element-761f687d .elementor-post__excerpt p{
  color:#555555 !important; font-size:.92rem !important; line-height:1.6 !important; margin:0 !important;
}
body.single-post .elementor-element-761f687d .elementor-post__read-more{
  margin-top:auto !important; padding-top:14px !important;
  color:#F57B20 !important; font-weight:600 !important;
  font-style:normal !important; text-decoration:none !important; text-transform:none !important;
}
body.single-post .elementor-element-761f687d .elementor-post__read-more:hover{ text-decoration:underline !important; }

/* ---- 8. Closing CTA band ---- */
body.single-post .elementor-element-eed76f0 .elementor-heading-title{ color:#ffffff !important; }
body.single-post .tm-cta-band .elementor-button{
  background:#F57B20; border-radius:10px; font-family:'Poppins',sans-serif; font-weight:600;
}
body.single-post .tm-cta-band .elementor-button:hover{ background:#D9691A; }

/* ---- 9. Reading progress bar ---- */
#tm-readbar{
  position:fixed; top:0; left:0; height:4px; width:0; background:#F57B20;
  z-index:99999; transition:width .08s linear; pointer-events:none;
}

/* ---- 10. Responsive ---- */
@media(max-width:820px){
  body.single-post .elementor-element-420f1205{ padding:44px 20px 34px !important; }
  body.single-post .elementor-element-420f1205 .elementor-widget-theme-post-title h1{ font-size:32px !important; }
  body.single-post .elementor-element-3f63d8e4{ padding:30px 18px 8px !important; }
  body.single-post .elementor-widget-theme-post-excerpt{ font-size:18px !important; }
  body.single-post .elementor-element-761f687d{ padding:44px 18px !important; }
  body.single-post .elementor-element-761f687d .elementor-heading-title{ font-size:22px !important; }
}

/* Post-scoped placement for the services block. These two live ONLY here: the
   site-wide inline copy in services-block-css.php styles the block internals,
   not where it sits inside a post. */
body.single-post .tm-bsvc{background:#E5E8F1 !important;
  border-top:1px solid #D8DCE9 !important;
  border-bottom:1px solid #D8DCE9 !important;}
body.single-post .tm-bsvc-wrap{background:transparent !important;}
