/* HCMC Dental — Single Post | inc/single-post.css */
/* Inherits CSS variables from hub-pages.css */

/* ── 0. Wrapper & Astra Container Reset ── */
body.single-post.ast-narrow-container .site-content > .ast-container,
body.single-post.ast-separate-container .site-content > .ast-container {
  max-width: 1320px !important;
  padding: 0 20px !important;
}
/* Ensure position: sticky works by preventing overflow clipping in parents */
html, body.single-post, 
body.single-post #page, 
body.single-post .site, 
body.single-post .site-content, 
body.single-post .ast-container, 
body.single-post #primary {
  overflow: visible !important;
  clip-path: none !important;
}
.hcms-single-wrap{padding-top:0;padding-bottom:clamp(48px,6vw,80px)}

/* ── 1. Hero Header ── */
.hcms-hero-header{margin-bottom:16px;}
.hcms-breadcrumb{font-family:var(--hub-font-body);font-size:.8125rem;color:var(--hub-muted);margin-bottom:16px;display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}
.hcms-breadcrumb a{color:var(--hub-muted);text-decoration:none;transition:color .2s}
.hcms-breadcrumb a:hover{color:var(--hub-green)}
.hcms-breadcrumb__current{color:var(--hub-slate);font-weight:600}
.hcms-cat-pill{display:inline-block;background:var(--hub-green);color:#fff;font-family:var(--hub-font-body);font-size:.7rem;font-weight:700;letter-spacing:.08em;padding:4px 12px;border-radius:20px;text-decoration:none;margin-bottom:0}
.hcms-post-title{font-family:var(--hub-font-head);font-size:clamp(1.5rem,3.2vw,2rem);font-weight:800;color:var(--hub-slate);line-height:1.3;letter-spacing:-.015em;margin:0 0 16px;}
.hcms-post-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-bottom:16px}
.hcms-post-meta__author{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--hub-slate)}
.hcms-post-meta__author:hover{color:var(--hub-green)}
.hcms-post-meta__avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--hub-orange);flex-shrink:0}
.hcms-post-meta__author span{display:flex;flex-direction:column;gap:1px}
.hcms-post-meta__author strong{font-size:.875rem;font-weight:700;color:var(--hub-slate)}
.hcms-post-meta__author em{font-size:.75rem;color:var(--hub-muted);font-style:normal}
.hcms-post-meta__sep{color:var(--hub-border);font-size:1.2rem}
.hcms-post-meta__read{display:flex;align-items:center;gap:5px;font-size:.8125rem;color:var(--hub-muted);font-family:var(--hub-font-body);font-weight:500;}
.hcms-post-meta__read svg{color:var(--hub-green)}
.hcms-post-hero-img{margin-top:24px;border-radius:var(--hub-radius) var(--hub-radius) 0 0;overflow:hidden;max-height:460px}
.hcms-post-hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.hcms-post-hero-img--placeholder{height:240px;background:linear-gradient(135deg,var(--hub-green-dark),var(--hub-green));display:flex;align-items:center;justify-content:center}
.hcms-post-hero-img--placeholder svg{width:80px;height:80px;opacity:.4}

/* ── 2. Body Layout ── */
.hcms-body-layout{display:flex;gap:32px;align-items:stretch}
.hcms-main{flex:1;min-width:0;max-width:920px;background:var(--hub-white);padding:clamp(24px,4vw,40px) clamp(16px,3vw,32px);border-radius:var(--hub-radius);box-shadow:0 12px 40px rgba(15,23,42,.06);border:1px solid var(--hub-border)}
.hcms-sidebar{width:300px;flex-shrink:0;height:auto !important;align-self:stretch !important}
.hcms-sidebar__sticky{position:sticky;top:90px;max-height:calc(100vh - 110px);overflow-y:auto;scrollbar-width:none}
.hcms-sidebar__sticky::-webkit-scrollbar{display:none}

/* ── 3. Mobile Author / TOC (hidden desktop) ── */
.hcms-mobile-author,.hcms-mobile-toc{display:none}

/* ── 4. AI Summary Box ── */
.hcms-ai-summary{background:#f0fdf4;border:1px solid #bbf7d0;border-left:4px solid var(--hub-green);border-radius:0 12px 12px 0;padding:20px 24px;margin-bottom:28px}
.hcms-ai-summary__head{display:flex;align-items:center;gap:8px;font-family:var(--hub-font-body);font-size:.8125rem;font-weight:700;color:var(--hub-green-dark);text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px}
.hcms-ai-summary__body{font-family:var(--hub-font-body);font-size:.9375rem;color:#166534;line-height:1.7}

/* ── 5. Content Body ── */
.hcms-content-body{font-family:var(--hub-font-body);font-size:1.0625rem;line-height:1.7;color:#334155;text-align:justify}
.hcms-content-body p{margin:0 0 1.25em}
body.single-post .hcms-content-body h2{font-family:var(--hub-font-head);font-size:clamp(1.25rem,2.5vw,1.6rem);font-weight:700;color:#14532d !important;border-left: none !important;padding-left:0;margin:2.25rem 0 1rem;line-height:1.35;text-align:left}
body.single-post .hcms-content-body h3{font-family:var(--hub-font-head);font-size:clamp(1.0625rem,2vw,1.25rem);font-weight:700;color:var(--hub-green-dark) !important;margin:2rem 0 1rem;line-height:1.4;text-align:left}
body.single-post .hcms-content-body h4{font-family:var(--hub-font-head);font-size:1rem;font-weight:700;color:var(--hub-slate) !important;margin:1.5rem 0 .75rem;text-align:left}
.hcms-content-body ul,.hcms-content-body ol{margin:0 0 1.6em;padding-left:1.5em;text-align:left}
.hcms-content-body li{margin-bottom:.6em}
.hcms-content-body a{color:var(--hub-green);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.hcms-content-body a:hover{color:var(--hub-green-dark)}
.hcms-content-body img{max-width:100%;height:auto;border-radius:12px;margin:32px auto 8px;box-shadow:0 6px 20px rgba(15,23,42,.08);display:block}
.hcms-content-body figcaption{text-align:center;font-size:.875rem;color:var(--hub-muted);font-style:italic;margin-bottom:32px;display:block}
.hcms-content-body blockquote{background:var(--hub-green-tint);border:1px solid #bbf7d0;border-left:4px solid var(--hub-green);border-radius:12px;padding:20px 24px;margin:2rem 0;font-style:normal;color:var(--hub-green-dark);font-size:1.0625rem;line-height:1.6;box-shadow:0 4px 12px rgba(22,101,52,.05);text-align:left}
.hcms-content-body blockquote p{margin:0}
.hcms-content-body table{width:100%;border-collapse:separate;border-spacing:0;margin:2rem 0;font-size:.9375rem;border:1px solid var(--hub-border);border-radius:8px;overflow:hidden}
.hcms-content-body th{background:var(--hub-green-tint);color:var(--hub-green-dark);padding:12px 16px;text-align:left;font-weight:700;border-bottom:2px solid var(--hub-green)}
.hcms-content-body td{padding:12px 16px;border-bottom:1px solid var(--hub-border);vertical-align:top}
.hcms-content-body tr:nth-child(even) td{background:var(--hub-light)}
.hcms-content-body strong{color:var(--hub-slate);font-weight:700}
.hcms-content-body .uagb-toc__wrap, .hcms-content-body .kb-table-of-contents-wrap, #ez-toc-container {display:none !important}

/* ── 6. In-content CTA (injected by JS) ── */
.hcms-incontent-cta{background:#ffffff;border:1px solid #e2e8f0;border-left:3px solid var(--hub-green);border-radius:8px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2rem 0;box-shadow:0 2px 6px rgba(15,23,42,.04);text-align:left}
.hcms-incontent-cta__text h4{font-family:var(--hub-font-head);font-size:.9375rem;font-weight:800;color:var(--hub-slate);margin:0 0 2px;line-height:1.3;text-transform:uppercase;letter-spacing:0.03em;}
.hcms-incontent-cta__text p{font-size:.8125rem;color:var(--hub-muted);margin:0;font-weight:500}
.hcms-incontent-cta__btns{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap;align-items:center}

/* ── 7. Medical Disclaimer ── */
.hcms-disclaimer{display:flex;gap:12px;background:#f0fdf4;border-left:4px solid var(--hub-green);border-radius:0 10px 10px 0;padding:16px 20px;font-family:var(--hub-font-body);font-size:.875rem;color:#166534;line-height:1.65;margin-top:40px}
.hcms-disclaimer a{color:var(--hub-green-dark);font-weight:700}

/* ── 8. Tags ── */
.hcms-tags{margin-top:28px;border-top:1px solid var(--hub-border);padding-top:24px;font-family:var(--hub-font-body);font-size:.875rem;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hcms-tags span{color:var(--hub-muted);font-weight:600}
.hcms-tags a{background:var(--hub-light);border:1px solid var(--hub-border);color:var(--hub-muted);padding:4px 12px;border-radius:20px;text-decoration:none;font-size:.8125rem;transition:all .2s}
.hcms-tags a:hover{background:var(--hub-green-tint);border-color:#bbf7d0;color:var(--hub-green-dark)}

/* ── 9. Rating ── */
.hcms-rating{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--hub-white);border:1px solid var(--hub-border);border-radius:var(--hub-radius);padding:24px;margin-top:28px}
.hcms-rating h4{font-family:var(--hub-font-head);font-size:1.0625rem;font-weight:700;color:var(--hub-slate);margin:0 0 4px}
.hcms-rating p{font-size:.875rem;color:var(--hub-muted);margin:0}
.hcms-stars{color:#f59e0b;font-size:1.375rem;letter-spacing:2px}
.hcms-rating__score{display:block;font-size:.8125rem;color:var(--hub-green);font-weight:700;margin-top:4px;font-family:var(--hub-font-body)}

/* ── 10. Author Bio Box ── */
.hcms-author-bio{background:var(--hub-green-tint);border:1px solid #bbf7d0;border-radius:12px;padding:20px;display:flex;gap:16px;margin-top:32px}
.hcms-author-bio__inner{display:flex;gap:24px;align-items:flex-start}
.hcms-author-bio__avatar-wrap{position:relative;flex-shrink:0}
.hcms-author-bio__avatar{width:88px;height:88px;border-radius:50%;object-fit:cover;border:3px solid #ffffff;box-shadow:0 4px 12px rgba(15,23,42,.06)}
.hcms-author-bio__badge{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);background:#16a34a;color:#ffffff;font-size:.65rem;font-weight:800;padding:2px 10px;border-radius:20px;white-space:nowrap;border:2px solid #fff;box-shadow:0 2px 4px rgba(0,0,0,0.05)}
.hcms-author-bio__name{font-family:var(--hub-font-head);font-size:1.1rem;font-weight:800;color:var(--hub-slate);margin-bottom:2px}
.hcms-author-bio__title{font-size:.75rem;color:var(--hub-green-dark);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}
.hcms-author-bio__desc{font-size:.85rem;color:var(--hub-muted);line-height:1.5;margin:0 0 16px}
.hcms-author-bio__actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.hcms-author-bio__link--profile{display:inline-flex;align-items:center;font-size:.8rem;color:var(--hub-green-dark);font-weight:700;text-decoration:none;transition:all .2s;padding-bottom:2px;border-bottom:2px solid transparent;}
.hcms-author-bio__link--profile:hover{color:#16a34a;border-bottom-color:#16a34a;}
.hcms-author-bio__link--wa{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;background:transparent;color:#16a34a;font-weight:700;text-decoration:none;padding:4px 12px;border-radius:50px;transition:all .2s;border:1px solid #16a34a}
.hcms-author-bio__link--wa:hover{background:#16a34a;color:#fff}

/* ── 11. Related Posts ── */
.hcms-related{margin-top:40px;padding-top:32px;border-top:1px solid var(--hub-border)}
.hcms-related__title{font-family:var(--hub-font-head);font-size:1.25rem;font-weight:700;color:var(--hub-slate);margin:0 0 20px;border-left:4px solid var(--hub-green);padding-left:12px}
.hcms-related-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hcms-rel-card{display:flex;gap:12px;background:var(--hub-white);border:1px solid #cbd5e1;border-radius:12px;padding:14px;transition:box-shadow .2s,transform .2s;align-items:flex-start;box-shadow:0 4px 12px rgba(15,23,42,.04)}
.hcms-rel-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(15,23,42,.08);border-color:#94a3b8}
.hcms-rel-card__thumb{width:120px;flex-shrink:0;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,#f1f5f9,#e2e8f0); aspect-ratio: 16/9;}
.hcms-rel-card__thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.hcms-rel-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);}
.hcms-rel-card__placeholder svg{width:24px;height:24px;opacity:0.3;}
.hcms-rel-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.hcms-rel-card__body h4{margin:0;font-family:var(--hub-font-head);font-size:.9rem;font-weight:700;line-height:1.4;color:var(--hub-slate)}
.hcms-rel-card__body h4 a{text-decoration:none;color:inherit;transition:color .2s}
.hcms-rel-card__body h4 a:hover{color:var(--hub-green)}
.hcms-rel-card__read{font-size:.75rem;color:var(--hub-muted);font-family:var(--hub-font-body);margin-top:auto}

/* ── 12. Shared Button ── */
.hcms-btn{display:block;text-align:center;padding:11px 16px;border-radius:50px;font-family:var(--hub-font-body);font-size:.875rem;font-weight:700;text-decoration:none;transition:all .2s;margin-bottom:8px;cursor:pointer}
.hcms-btn--green{background:var(--hub-green);color:#fff;border:2px solid var(--hub-green)}
.hcms-btn--green:hover{background:var(--hub-green-dark);border-color:var(--hub-green-dark);color:#fff}
.hcms-btn--outline{background:transparent;color:var(--hub-green);border:2px solid var(--hub-green)}
.hcms-btn--outline:hover{background:var(--hub-green);color:#fff}
.hcms-btn--white{background:#fff;color:var(--hub-green-dark);border:2px solid #fff}
.hcms-btn--white:hover{background:var(--hub-green-tint);color:var(--hub-green-dark)}

/* ── 13. Sidebar Widgets ── */
.hcms-widget{background:var(--hub-white);border:1px solid var(--hub-border);border-radius:var(--hub-radius);padding:24px;margin-bottom:24px;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.hcms-widget__title{font-family:var(--hub-font-body);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--hub-muted);border-left:3px solid var(--hub-green);padding-left:10px;margin-bottom:16px}

/* Widget 1: Author */
.hcms-widget--author{border-top:3px solid var(--hub-orange)}
.hcms-widget-author__inner{text-align:center}
.hcms-widget-author__avatar-wrap{position:relative;width:80px;height:80px;margin:0 auto 12px}
.hcms-widget-author__avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--hub-orange);box-shadow:0 0 0 4px rgba(242,146,33,.15)}
.hcms-widget-author__online{position:absolute;bottom:2px;right:2px;width:14px;height:14px;background:#22c55e;border-radius:50%;border:2px solid #fff;animation:hcmsPulse 2s ease-in-out infinite}
@keyframes hcmsPulse{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.4)}50%{box-shadow:0 0 0 5px rgba(34,197,94,0)}}
.hcms-widget-author__name{font-family:var(--hub-font-head);font-size:1.125rem;font-weight:800;color:var(--hub-slate);margin-bottom:2px}
.hcms-widget-author__name span{color:var(--hub-orange)}
.hcms-widget-author__role{font-size:.75rem;color:var(--hub-muted);font-weight:600;margin-bottom:14px;line-height:1.4}
.hcms-widget-author__creds{list-style:none;padding:0;margin:0 0 16px;text-align:left}
.hcms-widget-author__creds li{font-size:.8125rem;color:var(--hub-muted);padding:5px 0;border-bottom:1px solid var(--hub-border);display:flex;gap:8px}
.hcms-widget-author__creds li::before{content:"\2713";color:var(--hub-green);font-weight:900;flex-shrink:0}

/* Widget 2: TOC */
.hcms-widget--toc{background:var(--hub-light)}
.hcms-toc{font-family:var(--hub-font-body)}
.hcms-toc ul{list-style:none;padding:0;margin:0}
.hcms-toc li{margin-bottom:2px}
.hcms-toc a{display:block;font-size:.8125rem;color:var(--hub-muted);text-decoration:none;padding:5px 8px;border-radius:6px;line-height:1.45;transition:all .2s}
.hcms-toc a:hover,.hcms-toc a.hcms-toc--active{color:var(--hub-green);background:var(--hub-green-tint);font-weight:600}
.hcms-toc .hcms-toc-h3{padding-left:20px;font-size:.75rem}

/* Widget 3: CTA */
.hcms-widget--cta{background:linear-gradient(135deg,var(--hub-navy),var(--hub-slate));border:none;box-shadow:0 12px 32px rgba(15,23,42,.15)}
.hcms-widget--cta .hcms-widget__title{color:#86efac;border-color:#22c55e}
.hcms-widget-cta__status{display:flex;align-items:center;gap:8px;font-family:var(--hub-font-body);font-size:.875rem;color:#f1f5f9;font-weight:700;margin-bottom:4px}
.hcms-widget-cta__dot{width:10px;height:10px;background:#22c55e;border-radius:50%;flex-shrink:0;animation:hcmsPulse 2s ease-in-out infinite}
.hcms-widget-cta__sub{font-size:.8125rem;color:#94a3b8;margin:0 0 14px;font-family:var(--hub-font-body)}
.hcms-widget--cta .hcms-btn--green{box-shadow:0 4px 12px rgba(34,197,94,.35)}
.hcms-widget--cta .hcms-btn--outline{background:#25D366;color:#fff;border-color:#25D366;box-shadow:0 4px 12px rgba(37,211,102,.3)}
.hcms-widget--cta .hcms-btn--outline:hover{background:#1da851;border-color:#1da851;color:#fff}

/* Widget 4: Categories */
.hcms-widget-cats__list{list-style:none;padding:0;margin:0}
.hcms-widget-cats__link{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--hub-slate);font-size:.875rem;font-family:var(--hub-font-body);transition:all .2s;gap:8px}
.hcms-widget-cats__link:hover,.hcms-widget-cats__link.is-current{background:var(--hub-green-tint);color:var(--hub-green-dark)}
.hcms-widget-cats__link.is-current .hcms-widget-cats__name{font-weight:700}
.hcms-widget-cats__count{font-size:.75rem;color:var(--hub-muted);flex-shrink:0;background:var(--hub-light);padding:2px 7px;border-radius:20px}

/* ── 14. Mobile TOC Toggle ── */
.hcms-toc-toggle{width:100%;display:flex;align-items:center;gap:8px;background:var(--hub-light);border:1px solid var(--hub-border);border-radius:10px;padding:12px 16px;font-family:var(--hub-font-body);font-size:.875rem;font-weight:700;color:var(--hub-slate);cursor:pointer;text-align:left}
.hcms-toc-toggle .hcms-toc-arrow{margin-left:auto;transition:transform .2s}
.hcms-toc-toggle[aria-expanded="true"] .hcms-toc-arrow{transform:rotate(180deg)}
.hcms-toc-body{padding:12px 0 4px}

/* ── 15. Responsive ── */
@media(max-width:1024px){
  .hcms-body-layout{flex-direction:column;gap:0}
  .hcms-main{max-width:100%;padding:clamp(16px,3vw,24px)}
  .hcms-sidebar{display:none}
  .hcms-mobile-author,.hcms-mobile-toc{display:block}
  .hcms-mobile-author{display:flex;align-items:center;gap:12px;background:var(--hub-white);border:1px solid var(--hub-border);border-radius:12px;padding:14px 16px;margin-bottom:20px}
  .hcms-mobile-author img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--hub-orange);flex-shrink:0}
  .hcms-mobile-author div{flex:1;min-width:0}
  .hcms-mobile-author strong{display:block;font-size:.9rem;font-weight:700;color:var(--hub-slate)}
  .hcms-mobile-author span{font-size:.75rem;color:var(--hub-muted)}
  .hcms-mob-cta-btn{flex-shrink:0;background:var(--hub-green);color:#fff;text-decoration:none;font-size:.8125rem;font-weight:700;padding:8px 14px;border-radius:50px}
  .hcms-mobile-toc{margin-bottom:20px}
  .hcms-incontent-cta{background:#ffffff;border:1px solid #e2e8f0;border-left:3px solid var(--hub-green);border-radius:8px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2rem 0;box-shadow:0 2px 6px rgba(15,23,42,.04);text-align:left}
  .hcms-incontent-cta__btns{justify-content:center}
}
@media(max-width:768px){
  .hcms-post-title{font-family:var(--hub-font-head);font-size:clamp(1.5rem,3.2vw,2rem);font-weight:800;color:var(--hub-slate);line-height:1.3;letter-spacing:-.015em;margin:0 0 16px;}
  .hcms-related-grid{grid-template-columns:1fr}
  .hcms-author-bio__inner{flex-direction:column;align-items:center;text-align:center}
  .hcms-author-bio__actions{justify-content:center}
  .hcms-rating{flex-direction:column;text-align:center}
}
@media(max-width:480px){
  .hcms-post-header{padding:20px 16px 0}
}

/* ── ADDITIONS: Sidebar Premium + Typography System ── */

/* Sidebar sticky smooth */
.hcms-sidebar__sticky{position:sticky;top:90px;max-height:calc(100vh - 100px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--hub-border) transparent}
.hcms-sidebar__sticky::-webkit-scrollbar{width:3px}
.hcms-sidebar__sticky::-webkit-scrollbar-thumb{background:var(--hub-border);border-radius:4px}

/* Widget Author: dark premium card */
.hcms-widget--author{background:linear-gradient(160deg,var(--hub-navy) 0%,#0a1628 100%);border:none;border-top:3px solid var(--hub-orange);color:#fff;padding:20px;position:relative;overflow:hidden}
.hcms-widget--author::before{content:'';position:absolute;top:-40px;right:-40px;width:140px;height:140px;background:radial-gradient(circle,rgba(242,146,33,.15),transparent 70%);border-radius:50%;pointer-events:none}
.hcms-widget--author .hcms-widget__title{color:#86efac;border-color:#22c55e}
.hcms-widget--author .hcms-widget-author__name{color:#fff}
.hcms-widget--author .hcms-widget-author__role{color:#94a3b8}
.hcms-widget--author .hcms-widget-author__creds li{color:#cbd5e1;border-color:rgba(255,255,255,.08);font-size:.8rem}
.hcms-widget--author .hcms-widget-author__creds li::before{color:#4ade80}
.hcms-widget-author__avatar{border:3px solid var(--hub-orange);box-shadow:0 0 0 5px rgba(242,146,33,.2),0 8px 24px rgba(0,0,0,.4)}

/* TOC: left-border active indicator */
.hcms-toc ul{padding-left:0;border-left:2px solid var(--hub-border);margin-left:8px}
.hcms-toc li{margin:0}
.hcms-toc a{display:block;font-size:.8125rem;color:var(--hub-muted);padding:5px 8px 5px 14px;border-left:2px solid transparent;margin-left:-2px;transition:all .15s;border-radius:0 6px 6px 0}
.hcms-toc a:hover,.hcms-toc a.hcms-toc--active{color:var(--hub-green-dark);border-left-color:var(--hub-green);background:var(--hub-green-tint);font-weight:600}
.hcms-toc .hcms-toc-h3{padding-left:26px;font-size:.75rem}

/* CTA widget: glassmorphism dark */
.hcms-widget--cta{background:linear-gradient(135deg,var(--hub-navy) 0%,#0a1628 100%);border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 40px rgba(15,23,42,.2),inset 0 1px 0 rgba(255,255,255,.05);position:relative;overflow:hidden}
.hcms-widget--cta::after{content:'';position:absolute;bottom:-30px;left:-30px;width:120px;height:120px;background:radial-gradient(circle,rgba(34,197,94,.12),transparent 70%);border-radius:50%;pointer-events:none}

/* H2/H3/H4 refinements */
body.single-post .hcms-content-body h2{font-family:var(--hub-font-head);font-size:clamp(1.25rem,2.5vw,1.6rem);font-weight:700;color:#14532d !important;border-left: none !important;padding-left:0;margin:2.25rem 0 1rem;line-height:1.35;text-align:left}
body.single-post .hcms-content-body h3{font-family:var(--hub-font-head);font-size:clamp(1.0625rem,2vw,1.25rem);font-weight:700;color:var(--hub-green-dark) !important;margin:2rem 0 1rem;line-height:1.4;text-align:left}
body.single-post .hcms-content-body h4{font-family:var(--hub-font-head);font-size:1rem;font-weight:700;color:var(--hub-slate) !important;margin:1.5rem 0 .75rem;text-align:left}

/* Lead paragraph */
.hcms-content-body>p:first-of-type{font-size:1.125rem;color:var(--hub-slate);font-weight:500;line-height:1.75}

/* Tables premium */
.hcms-content-body table{width:100%;border-collapse:separate;border-spacing:0;margin:2rem 0;font-size:.9375rem;border:1px solid var(--hub-border);border-radius:8px;overflow:hidden}
.hcms-content-body thead th{background:#dcfce7;color:#14532d;padding:14px 18px;text-align:left;font-weight:700;font-size:.875rem;letter-spacing:.02em;border-bottom:2px solid #bbf7d0;}
.hcms-content-body tbody td{padding:14px 18px;border-bottom:1px solid #e2e8f0;vertical-align:top;line-height:1.55;color:#334155;}
.hcms-content-body tbody tr:nth-child(even) td{background:#fcfcfc}
.hcms-content-body tbody tr:last-child td{border-bottom:none}
.hcms-content-body tbody tr:hover td{background:var(--hub-green-tint);transition:background .15s}
.hcms-content-body .wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Blockquote: medical authority */
.hcms-content-body blockquote{background:var(--hub-green-tint);border:1px solid #bbf7d0;border-left:4px solid var(--hub-green);border-radius:12px;padding:20px 24px;margin:2rem 0;font-style:normal;color:var(--hub-green-dark);font-size:1.0625rem;line-height:1.6;box-shadow:0 4px 12px rgba(22,101,52,.05);text-align:left}
.hcms-content-body blockquote::before{content:'\201C';position:absolute;top:8px;left:14px;font-size:52px;font-family:Georgia,serif;font-style:normal;color:var(--hub-green);opacity:.2;line-height:1}
.hcms-content-body blockquote p{margin:0;text-align:left}
.hcms-content-body blockquote cite{display:block;margin-top:12px;font-size:.875rem;font-style:normal;font-weight:700;color:var(--hub-green-dark)}

/* Figcaption: professional */
.hcms-content-body figure{margin:2.5rem auto;max-width:100%}
.hcms-content-body figure img{border-radius:12px;box-shadow:0 6px 24px rgba(15,23,42,.08);display:block;margin:0 auto}
.hcms-content-body figcaption,.hcms-content-body .wp-caption-text{text-align:center;font-size:.8125rem;color:var(--hub-muted);font-style:italic;margin-top:10px;padding:8px 16px;background:var(--hub-light);border-radius:0 0 10px 10px;border-top:1px solid var(--hub-border);line-height:1.5}

/* Lists: premium numbered */
.hcms-content-body ul li::marker{color:var(--hub-green)}
.hcms-content-body ol{counter-reset:hcms-ol;list-style:none;padding-left:0}
.hcms-content-body ol li{counter-increment:hcms-ol;padding-left:2.25em;position:relative;margin-bottom:.75em}
.hcms-content-body ol li::before{content:counter(hcms-ol);position:absolute;left:0;width:1.5em;height:1.5em;background:var(--hub-green);color:#fff;border-radius:50%;font-size:.75rem;font-weight:800;display:flex;align-items:center;justify-content:center;top:.15em}

/* Typography polish */
.hcms-content-body{font-family:var(--hub-font-body);font-size:1.0625rem;line-height:1.7;color:#334155;text-align:justify}
.hcms-content-body mark{background:rgba(242,146,33,.2);color:var(--hub-slate);padding:0 4px;border-radius:3px}
.hcms-content-body hr{border:none;border-top:2px solid var(--hub-border);margin:3rem 0;position:relative}
.hcms-content-body hr::after{content:'···';position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:#fff;padding:0 12px;color:var(--hub-border);letter-spacing:4px}

/* In-content CTA tooth watermark */
.hcms-incontent-cta{background:#ffffff;border:1px solid #e2e8f0;border-left:3px solid var(--hub-green);border-radius:8px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2rem 0;box-shadow:0 2px 6px rgba(15,23,42,.04);text-align:left}
.hcms-incontent-cta::after{content:"🦷";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:72px;opacity:.05;pointer-events:none;user-select:none}

/* CSS Containment for performance */
.hcms-main{contain:layout}
.hcms-sidebar{contain:layout}
.hcms-rel-card{contain:layout paint}
.hcms-widget{contain:layout paint}

/* Hide dates site-wide */
.entry-meta .posted-on,.entry-meta .entry-date,.ast-post-date,time.entry-date,.posted-on time,.updated,span.posted-on,.entry-date.published,.post-date,.wp-block-post-date{display:none!important}

/* ── HOTFIX: Override broken contain + button visibility ── */

/* Remove contain:paint that breaks ::before gradients and absolute positioning */
.hcms-widget { contain: none; }
.hcms-rel-card { contain: none; }
.hcms-sidebar { contain: none; }

/* FIX: Sidebar author widget - ensure dark background actually renders */
.hcms-widget--author {
  background: linear-gradient(160deg, #1e293b 0%, #0a1628 100%) !important;
  border-top: 3px solid #f29221 !important;
  color: #fff !important;
  overflow: hidden;
}

/* FIX: Credentials text - higher contrast on dark bg */
.hcms-widget--author .hcms-widget-author__creds li {
  color: #e2e8f0 !important;
  border-color: rgba(255,255,255,.12) !important;
  font-size: .8125rem !important;
  padding: 6px 0 !important;
}
.hcms-widget--author .hcms-widget-author__creds li::before {
  color: #4ade80 !important;
  font-size: 1rem;
}

/* FIX: Buttons fully visible in dark widget */
.hcms-widget--author .hcms-btn--green {
  background: #16a34a !important;
  color: #fff !important;
  border-color: #16a34a !important;
  font-weight: 700;
  display: block;
  text-align: center;
  margin-bottom: 8px;
}
.hcms-widget--author .hcms-btn--green:hover {
  background: #14532d !important;
  border-color: #14532d !important;
}
.hcms-widget--author .hcms-btn--outline {
  background: transparent !important;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,.4) !important;
  display: block;
  text-align: center;
}
.hcms-widget--author .hcms-btn--outline:hover {
  background: rgba(255,255,255,.1) !important;
  border-color: rgba(255,255,255,.7) !important;
  color: #fff !important;
}

/* FIX: Dr. Cuong name color on dark */
.hcms-widget--author .hcms-widget-author__name {
  color: #ffffff !important;
  font-size: 1.125rem;
  font-weight: 800;
}
.hcms-widget--author .hcms-widget-author__name span {
  color: #f29221 !important;
}
.hcms-widget--author .hcms-widget-author__role {
  color: #94a3b8 !important;
}

/* FIX: Widget title on dark background */
.hcms-widget--author .hcms-widget__title {
  color: #86efac !important;
  border-left-color: #22c55e !important;
}

/* FIX: CTA widget dark buttons */
.hcms-widget--cta {
  background: linear-gradient(135deg, #1e293b 0%, #0a1628 100%) !important;
}
.hcms-widget--cta .hcms-widget__title {
  color: #86efac !important;
  border-left-color: #22c55e !important;
}
.hcms-widget--cta .hcms-widget-cta__status {
  color: #f1f5f9 !important;
}
.hcms-widget--cta .hcms-widget-cta__sub {
  color: #94a3b8 !important;
}

/* FIX: Main content area - white background (remove gray tint from astra) */
.hcms-main {
  background: #ffffff !important;
}

/* FIX: Page background to very light gray for contrast */
.hcms-single-wrap {
  background: var(--hub-light);
}

/* FIX: Post title more impactful */
.hcms-post-title {
  font-size: clamp(1.75rem, 3.5vw, 2.375rem) !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  line-height: 1.2 !important;
  letter-spacing: -.03em !important;
}

/* FIX: Author meta row more visible */
.hcms-post-meta__author strong {
  font-size: .9375rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}
.hcms-post-meta__author em {
  font-size: .8125rem !important;
  color: #475569 !important;
}

/* FIX: AI Summary box - better contrast green text */
.hcms-ai-summary__body {
  color: #14532d !important;
  font-size: .9375rem !important;
  line-height: 1.7 !important;
}
.hcms-ai-summary__head {
  color: #15803d !important;
  font-weight: 800 !important;
  font-size: .8125rem !important;
  letter-spacing: .08em !important;
}

/* FIX: H2 - remove underline decoration from Astra that conflicts */
.hcms-content-body h2 {
  text-decoration: none !important;
  border-bottom: none !important;
}
.hcms-content-body h2 a {
  text-decoration: none !important;
  color: inherit !important;
}

/* FIX: H3 styling more distinct */
.hcms-content-body h3 {
  font-size: clamp(1.125rem, 2vw, 1.3125rem) !important;
  color: var(--hub-green-dark) !important;
  border-bottom: 1.5px solid #e2e8f0 !important;
  padding-bottom: 8px !important;
}

/* FIX: TOC widget styling - cleaner */
.hcms-widget--toc {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
}
.hcms-widget--toc .hcms-widget__title {
  color: #475569 !important;
  font-size: .7rem !important;
  letter-spacing: .12em !important;
}

/* FIX: TOC widget styling - cleaner */
.hcms-rel-card__body h4 {
  font-size: .9375rem !important;
  line-height: 1.45 !important;
}
.hcms-rel-card__thumb {
  width: 96px !important;
  height: 96px !important;
}

/* FIX: Related posts cards - more spacious */

/* Remove Rank Math / Astra / plugin underline on H1 keywords */
.hcms-post-title a,
.hcms-post-title span,
.hcms-post-title mark,
.hcms-post-title * {
  text-decoration: none !important;
  background: transparent !important;
  color: inherit !important;
}

/* Fix H1 overall */
h1.hcms-post-title, .hcms-post-title {
  text-decoration: none !important;
}

/* In-content CTA buttons: full pill buttons, not bare links */
.hcms-incontent-cta .hcms-btn--green {
  background: #16a34a;
  color: #fff;
  border: 1px solid #16a34a;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 50px;
  font-weight: 700;
  font-size: .75rem;
  text-decoration: none;
  transition: background .2s;
  white-space: nowrap;
}
.hcms-incontent-cta .hcms-btn--green:hover {
  background: #14532d;
  border-color: #14532d;
}
.hcms-incontent-cta .hcms-btn--outline {
  background: #fff;
  color: #14532d;
  border: 1px solid #16a34a;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border-radius: 50px;
  font-weight: 700;
  font-size: .75rem;
  text-decoration: none;
  white-space: nowrap;
}
.hcms-incontent-cta .hcms-btn--outline:hover {
  background: #f0fdf4;
}

/* Content area: pure white card */
.hcms-main {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 8px 32px rgba(15,23,42,.06) !important;
}

/* Page wrapper: light gray to contrast white card */
body.hcmc-single-post #primary,
body.single-post #primary {
  background: #f1f5f9;
}

/* H2: no underline from any source */
.hcms-content-body h2,
.hcms-content-body h2 a,
.hcms-content-body h2 span {
  text-decoration: none !important;
  border-bottom: none !important;
}

/* H3: Remove override so it inherits the green color */
.hcms-content-body h3 {
  border-bottom: none !important;
}

/* Rating box: cleaner layout */
.hcms-rating {
  background: linear-gradient(135deg, #f0fdf4, #fff) !important;
  border: 1px solid #bbf7d0 !important;
  border-left: none !important;
  border-radius: 12px !important;
  padding: 20px 24px !important;
}

/* Disclaimer box: more visible */
.hcms-disclaimer {
  background: #fffbeb !important;
  border-left: none !important;
  border-radius: 0 10px 10px 0 !important;
  font-size: .875rem !important;
  color: #78350f !important;
}

/* ── PATCH 3: Kill Rank Math keyword underline in H2 ── */
.hcms-content-body h2 a,
.hcms-content-body h2 a:visited,
.hcms-content-body h2 a:hover {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  color: inherit !important;
}

/* TOC active indicator - blue line from Astra override */
.hcms-toc a.hcms-toc--active {
  color: #166534 !important;
  border-left-color: #16a34a !important;
  background: #f0fdf4 !important;
}

/* ── UI/UX REDESIGN: Layout, TOC, Light Theme Widgets ── */

/* Content width expansion & elegant float */
.hcms-main {
  padding: 1.5rem 2rem !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 40px rgba(15,23,42,.04), 0 2px 10px rgba(15,23,42,.02) !important;
  border: 1px solid rgba(226,232,240,.6) !important;
}

@media (max-width: 768px) {
  .hcms-main {
    padding: 1rem 1.25rem !important;
    border-radius: 12px !important;
  }
}

/* Light Theme for Dr. Cuong Widget */
.hcms-widget--author {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-top: 4px solid #16a34a !important;
  color: #0f172a !important;
  box-shadow: 0 10px 30px rgba(15,23,42,.04) !important;
  border-radius: 16px !important;
}
.hcms-widget--author .hcms-widget__title {
  color: #64748b !important;
  border-left-color: #cbd5e1 !important;
}
.hcms-widget--author .hcms-widget-author__name {
  color: #0f172a !important;
}
.hcms-widget--author .hcms-widget-author__name span {
  color: #16a34a !important;
}
.hcms-widget--author .hcms-widget-author__role {
  color: #64748b !important;
}
.hcms-widget--author .hcms-widget-author__creds li {
  color: #334155 !important;
  border-color: #f1f5f9 !important;
}
.hcms-widget--author .hcms-widget-author__creds li::before {
  color: #22c55e !important;
}
.hcms-widget-author__avatar {
  border: 3px solid #16a34a !important;
  box-shadow: 0 0 0 5px rgba(22,163,74,.1) !important;
}
.hcms-widget--author .hcms-btn--green {
  color: #ffffff !important;
}
/* Revert button colors to fit light theme */
.hcms-widget--author .hcms-btn--outline {
  color: #14532d !important;
  border-color: #16a34a !important;
}
.hcms-widget--author .hcms-btn--outline:hover {
  background: #f0fdf4 !important;
  color: #14532d !important;
}

/* Light Theme for Book Consultation CTA Widget */
.hcms-widget--cta {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 10px 30px rgba(15,23,42,.04) !important;
  border-radius: 16px !important;
}
.hcms-widget--cta .hcms-widget__title {
  color: #64748b !important;
  border-left-color: #cbd5e1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-size: 0.9375rem !important;
}
.hcms-widget--cta .hcms-widget-cta__status {
  color: #0f172a !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.hcms-widget-cta__dot {
  width: 10px !important;
  height: 10px !important;
  background: #22c55e !important;
  border-radius: 50% !important;
  display: inline-block !important;
}
.hcms-widget--cta .hcms-widget-cta__sub {
  color: #64748b !important;
  margin-bottom: 20px !important;
}
.hcms-widget--cta .hcms-btn {
  border-radius: 30px !important;
  padding: 12px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 600 !important;
  margin-bottom: 12px !important;
  transition: all 0.2s !important;
}
.hcms-widget--cta .hcms-btn--green {
  background: #16a34a !important;
  color: #ffffff !important;
  border: 1px solid #16a34a !important;
  box-shadow: 0 4px 10px rgba(22,163,74,0.3) !important;
}
.hcms-widget--cta .hcms-btn--green:hover {
  background: #15803d !important;
  border-color: #15803d !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 15px rgba(22,163,74,0.4) !important;
}
.hcms-widget--cta .hcms-btn--outline {
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid #cbd5e1 !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.02) !important;
}
.hcms-widget--cta .hcms-btn--outline:hover {
  background: #f8fafc !important;
  border-color: #94a3b8 !important;
  transform: translateY(-1px) !important;
}

/* TOC Design Overhaul */
.hcms-widget--toc {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 30px rgba(15,23,42,.04) !important;
  padding: 24px !important;
}
.hcms-widget--toc .hcms-widget__title {
  color: #0f172a !important;
  font-size: 1.0625rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  border-left: none !important;
  padding-left: 0 !important;
  margin-bottom: 20px !important;
}
.hcms-toc ul {
  border-left: 2px solid #e2e8f0 !important;
  margin-left: 4px !important;
  list-style: none !important;
  padding-left: 0 !important;
}
.hcms-toc li {
  position: relative !important;
}
.hcms-toc a {
  display: block !important;
  color: #475569 !important;
  padding: 8px 12px 8px 16px !important;
  font-size: .875rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  transition: all 0.2s !important;
  position: relative !important;
}
.hcms-toc a::before {
  content: '' !important;
  position: absolute !important;
  left: -2px !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 2px !important;
  background: transparent !important;
  transition: background 0.2s !important;
}
.hcms-toc a:hover {
  color: #0f172a !important;
  background: transparent !important;
}
.hcms-toc a.hcms-toc--active {
  color: #15803d !important;
  background: linear-gradient(90deg, rgba(22,163,74,0.06) 0%, rgba(255,255,255,0) 100%) !important;
  font-weight: 700 !important;
}
.hcms-toc a.hcms-toc--active::before {
  background: #16a34a !important;
}
.hcms-toc .hcms-toc-h3 {
  padding-left: 28px !important;
  font-size: .8125rem !important;
  font-weight: 400 !important;
  color: #64748b !important;
}

/* Smart Sticky Sidebar Base Styles */
.hcms-sidebar {
  /* Remove layout contain to allow stickiness and shadows */
  contain: none !important;
}
.hcms-sidebar__inner,
.hcms-sidebar__sticky {
  /* JS controls position and top — do NOT use !important here */
  position: sticky;
  top: 90px;
  max-height: none !important;
  overflow: visible !important;
  will-change: transform;
}

/* Fix Popular Services List */
.hcms-widget--cats {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: 0 10px 30px rgba(15,23,42,.04) !important;
}
.hcms-widget--cats .hcms-widget__title {
  color: #0f172a !important;
  font-size: 1.0625rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border-left: none !important;
  padding-left: 0 !important;
  margin-bottom: 20px !important;
}
.hcms-widget-cats__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.hcms-widget-cats__link {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  padding: 12px 16px !important;
  color: #0f172a !important;
  font-size: .9375rem !important;
  font-weight: 600 !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  margin-bottom: 10px !important;
  transition: all .2s ease !important;
  box-shadow: 0 2px 4px rgba(15,23,42,0.04) !important;
}
.hcms-widget-cats__link:hover {
  background: #f0fdf4 !important;
  border-color: #bbf7d0 !important;
  color: #15803d !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 12px rgba(22,163,74,0.1) !important;
}
.hcms-widget-cats__icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  color: #16a34a !important;
  transition: color 0.2s !important;
}
.hcms-widget-cats__link:hover .hcms-widget-cats__icon {
  color: #16a34a !important;
}
.hcms-widget-cats__list li:last-child .hcms-widget-cats__link {
  margin-bottom: 0 !important;
}


.hcms-incontent-cta .hcms-btn {
}


.hcms-related-guides {
  background: var(--hub-white);
  padding: 32px;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(15,23,42,0.06);
  border: 1px solid var(--hub-border);
  margin-top: 48px;
}
.hcms-related-guides__title {
  font-family: var(--hub-font-head);
  font-size: 1.5rem;
  color: var(--hub-slate);
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--hub-green);
  display: inline-block;
}
.hcms-related-guides a {
  display: block;
  padding: 16px;
  border-radius: 8px;
  background: var(--hub-light);
  border: 1px solid var(--hub-border);
  color: var(--hub-slate);
  text-decoration: none;
  font-weight: 600;
  margin-bottom: 12px;
  transition: all 0.2s;
}
.hcms-related-guides a:hover {
  background: var(--hub-green-tint);
  border-color: #bbf7d0;
  color: var(--hub-green-dark);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(22,101,52,0.05);
}


/* === FIX: Reduce gap between menu and breadcrumb === */
body.single-post .site-content { padding-top: 40px !important; }
body.single-post .ast-container { padding-top: 0 !important; }
#hcms-main-wrap, .hcms-hero-header { margin-top: 0 !important; padding-top: 0 !important; }


/* === FIX: Force H2/H3 green with max specificity === */
html body.single-post .hcms-content-body h2,
html body.single-post .hcms-content-body h2 span,
html body.single-post #hcms-main .hcms-content-body h2 {
  color: #14532d !important;
  font-size: clamp(1.25rem,2.5vw,1.6rem) !important;
  font-weight: 700 !important;
  border-left: none !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  padding-left: 0 !important;
  margin: 2.5rem 0 1.25rem !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  background: none !important;
  text-align: left !important;
}
html body.single-post .hcms-content-body h3,
html body.single-post #hcms-main .hcms-content-body h3 {
  color: #14532d !important;
  font-size: clamp(1.0625rem,2vw,1.25rem) !important;
  font-weight: 700 !important;
  margin: 2rem 0 1rem !important;
  text-decoration: none !important;
  background: none !important;
  border-bottom: none !important;
  text-align: left !important;
}
html body.single-post .hcms-content-body h4 {
  color: #0f172a !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  margin: 1.5rem 0 .75rem !important;
  text-align: left !important;
}


/* === FIX: CTA inline compact === */
.hcms-incontent-cta {
  padding: 10px 14px !important;
  margin: 1.5rem 0 !important;
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-left: none !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  box-shadow: none !important;
}
.hcms-incontent-cta__text h4 {
  font-size: .875rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin: 0 0 2px !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}
.hcms-incontent-cta__text p {
  font-size: .775rem !important;
  color: #64748b !important;
  margin: 0 !important;
}
.hcms-incontent-cta .hcms-btn,
.hcms-incontent-cta a {
  padding: 5px 10px !important;
  font-size: .75rem !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  margin-bottom: 0 !important;
}
.hcms-incontent-cta .hcms-btn--green,
.hcms-incontent-cta a.hcms-btn--green {
  background: #16a34a !important;
  color: #fff !important;
  border: 1px solid #16a34a !important;
}
.hcms-incontent-cta .hcms-btn--outline,
.hcms-incontent-cta a.hcms-btn--outline {
  background: #fff !important;
  color: #14532d !important;
  border: 1px solid #16a34a !important;
}
.hcms-incontent-cta__btns {
  display: flex !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
}


/* === FIX: Table cells left-align, not justify === */
.hcms-content-body td,
.hcms-content-body th {
  text-align: left !important;
}


/* ================================================================
   MASTER FIX v3 — single-post.css
   Fix: H2 double-bar, text-justify, blockquote, table borders,
        CTA white/boring, spacing menu-content, breadcrumb
   ================================================================ */

/* FIX 1: Body text — no justify, smaller font, tighter spacing */
html body.single-post .hcms-content-body {
  font-size: .9875rem !important;
  line-height: 1.75 !important;
  text-align: left !important;
  color: #334155 !important;
}
html body.single-post .hcms-content-body p {
  margin-bottom: 1.15em !important;
  text-align: left !important;
}
html body.single-post .hcms-content-body > p:first-of-type {
  font-size: 1.0625rem !important;
  font-weight: 500 !important;
  color: #1e293b !important;
}

/* FIX 2: H2 — single green left bar only, no double bar */
html body.single-post .hcms-content-body h2::before,
html body.single-post .hcms-content-body h2::after {
  display: none !important;
  content: '' !important;
  border: none !important;
}
html body.single-post .hcms-content-body h2 {
  color: #14532d !important;
  font-size: clamp(1.125rem, 2.2vw, 1.4375rem) !important;
  font-weight: 700 !important;
  padding: 0 !important;
  border-left: none !important;
  border-bottom: none !important;
  border-top: none !important;
  border-right: none !important;
  margin: 2.25rem 0 1rem !important;
  line-height: 1.35 !important;
  text-align: left !important;
  text-decoration: none !important;
  background: none !important;
  letter-spacing: -.01em !important;
}

/* FIX 3: H3 — green, no bars, clean */
html body.single-post .hcms-content-body h3::before,
html body.single-post .hcms-content-body h3::after {
  display: none !important;
  content: '' !important;
}
html body.single-post .hcms-content-body h3 {
  color: #14532d !important;
  font-size: clamp(.9375rem, 1.8vw, 1.125rem) !important;
  font-weight: 700 !important;
  margin: 1.75rem 0 .75rem !important;
  padding: 0 !important;
  border: none !important;
  text-align: left !important;
  text-decoration: none !important;
  background: none !important;
}

/* FIX 4: Blockquote — clean, no floating quote mark */
html body.single-post .hcms-content-body blockquote {
  background: #f0fdf4 !important;
  border: 1px solid #bbf7d0 !important;
  border-left: none !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 14px 20px !important;
  margin: 1.5rem 0 !important;
  font-style: italic !important;
  color: #166534 !important;
  font-size: .9375rem !important;
  line-height: 1.65 !important;
  position: static !important;
  overflow: visible !important;
  box-shadow: none !important;
}
html body.single-post .hcms-content-body blockquote::before,
html body.single-post .hcms-content-body blockquote::after {
  display: none !important;
  content: '' !important;
  position: static !important;
  font-size: 0 !important;
  opacity: 0 !important;
}
html body.single-post .hcms-content-body blockquote p {
  margin: 0 !important;
  text-align: left !important;
  color: inherit !important;
}

/* FIX 5: Table — complete borders all sides */
html body.single-post .hcms-content-body table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: 1px solid #bbf7d0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  margin: 1.5rem 0 !important;
  font-size: .9rem !important;
  box-shadow: 0 2px 8px rgba(22,163,74,.06) !important;
}
html body.single-post .hcms-content-body th {
  background: #dcfce7 !important;
  color: #14532d !important;
  font-weight: 700 !important;
  font-size: .875rem !important;
  padding: 11px 15px !important;
  text-align: left !important;
  border-bottom: 2px solid #86efac !important;
  border-right: 1px solid #bbf7d0 !important;
}
html body.single-post .hcms-content-body th:last-child { border-right: none !important; }
html body.single-post .hcms-content-body td {
  padding: 11px 15px !important;
  border-bottom: 1px solid #e2e8f0 !important;
  border-right: 1px solid #f1f5f9 !important;
  vertical-align: top !important;
  text-align: left !important;
  color: #334155 !important;
}
html body.single-post .hcms-content-body td:last-child { border-right: none !important; }
html body.single-post .hcms-content-body tr:last-child td {
  border-bottom: none !important;
}
html body.single-post .hcms-content-body tr:nth-child(even) td {
  background: #f8fffe !important;
}

/* FIX 6: CTA in-content — green gradient, compact, eye-catching */
.hcms-incontent-cta {
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%) !important;
  border: 1px solid #86efac !important;
  border-left: none !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  margin: 1.75rem 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  box-shadow: 0 2px 8px rgba(22,163,74,.1) !important;
  position: relative !important;
}
.hcms-incontent-cta::before,
.hcms-incontent-cta::after { display: none !important; }
.hcms-incontent-cta__text h4 {
  font-size: .8125rem !important;
  font-weight: 800 !important;
  color: #14532d !important;
  margin: 0 0 2px !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}
.hcms-incontent-cta__text p {
  font-size: .75rem !important;
  color: #166534 !important;
  margin: 0 !important;
}
.hcms-incontent-cta__btns {
  display: flex !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}
.hcms-incontent-cta .hcms-btn,
.hcms-incontent-cta a[href] {
  padding: 5px 11px !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  margin-bottom: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  line-height: 1.4 !important;
}
.hcms-incontent-cta .hcms-btn--green,
.hcms-incontent-cta a.hcms-btn--green {
  background: #16a34a !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 2px 6px rgba(22,163,74,.3) !important;
}
.hcms-incontent-cta .hcms-btn--outline,
.hcms-incontent-cta a.hcms-btn--outline {
  background: rgba(255,255,255,.9) !important;
  color: #14532d !important;
  border: 1px solid #16a34a !important;
}

/* FIX 7: Menu → content gap */
body.single-post .site-content,
body.single-post .ast-container { padding-top: 0 !important; }
body.single-post #primary { padding-top: 4px !important; }
.hcms-hero-header {
  margin-top: 0 !important;
  padding-top: 4px !important;
  margin-bottom: 12px !important;
}

/* FIX 8: Breadcrumb — more refined */
.hcms-breadcrumb {
  font-size: .78rem !important;
  color: #94a3b8 !important;
  margin-bottom: 10px !important;
  padding: 2px 0 !important;
  gap: 4px !important;
}
.hcms-breadcrumb a {
  color: #64748b !important;
  font-weight: 500 !important;
}
.hcms-breadcrumb a:hover { color: #16a34a !important; }
.hcms-breadcrumb svg { opacity: .5 !important; width: 10px !important; height: 10px !important; }

/* FIX 9: H4 */
html body.single-post .hcms-content-body h4 {
  color: #1e293b !important;
  font-size: .9375rem !important;
  font-weight: 700 !important;
  margin: 1.5rem 0 .5rem !important;
  text-align: left !important;
}



/* =================================================================
   FINAL POLISH BLOCK — single-post.css
   Fix: H2 double-bar, text justify, menu gap, table, CTA, caption
   ================================================================= */

/* ── 1. H2: SINGLE clean green left border, remove ALL other bars ── */
html body.single-post .hcms-content-body h2,
html body.single-post .hcms-content-body h2 *,
html body.single-post .hcms-content-body h2::before,
html body.single-post .hcms-content-body h2::after {
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-left: none !important;
}
html body.single-post .hcms-content-body h2 {
  border-left: none !important;
  padding: 0 0 0 12px !important;
  color: #14532d !important;
  font-size: clamp(1.125rem,2.2vw,1.4rem) !important;
  font-weight: 700 !important;
  margin: 2.25rem 0 1rem !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  background: transparent !important;
  text-align: left !important;
  letter-spacing: -.01em !important;
}

/* ── 2. H3: green, clean, no bars ── */
html body.single-post .hcms-content-body h3,
html body.single-post .hcms-content-body h3::before,
html body.single-post .hcms-content-body h3::after {
  border: none !important;
  background: transparent !important;
}
html body.single-post .hcms-content-body h3 {
  color: #14532d !important;
  font-size: clamp(.9375rem,1.8vw,1.125rem) !important;
  font-weight: 700 !important;
  margin: 1.75rem 0 .75rem !important;
  padding: 0 !important;
  text-decoration: none !important;
  text-align: left !important;
}

/* ── 3. Text JUSTIFY (căn đều 2 bên) ── */
html body.single-post .hcms-content-body p {
  text-align: justify !important;
  margin-bottom: 1.15em !important;
  hyphens: none !important;
}
html body.single-post .hcms-content-body {
  font-size: .9875rem !important;
  line-height: 1.75 !important;
  color: #334155 !important;
  text-align: left !important;
}

/* ── 4. Menu → Breadcrumb gap: target ALL possible Astra wrappers ── */
body.single-post .site-content,
body.single-post #content,
body.single-post .ast-container,
body.single-post .entry-content,
body.single-post #primary,
body.single-post .content-area {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.single-post .hcms-single-wrap,
body.single-post #hcms-main-wrap {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
body.single-post .ast-above-header-bar + .main-header-wrap,
body.single-post .site-main { padding-top: 0 !important; }
.hcms-hero-header {
  padding-top: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

/* ── 5. Table — stronger, more prominent borders ── */
html body.single-post .hcms-content-body table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: 1px solid #16a34a !important;
  border-radius: 0 !important;
  overflow: visible !important;
  margin: 1.75rem 0 !important;
  font-size: .9rem !important;
  box-shadow: 0 4px 16px rgba(22,163,74,.12) !important;
}
html body.single-post .hcms-content-body th {
  background: #dcfce7 !important;
  color: #14532d !important;
  font-weight: 700 !important;
  font-size: .875rem !important;
  padding: 12px 16px !important;
  text-align: left !important;
  border-bottom: 1px solid #16a34a !important;
  border-right: 1px solid #bbf7d0 !important;
}
html body.single-post .hcms-content-body th:last-child {
  border-right: none !important;
}
html body.single-post .hcms-content-body td {
  padding: 11px 16px !important;
  border-bottom: 1px solid #e2e8f0 !important;
  border-right: 1px solid #f1f5f9 !important;
  vertical-align: top !important;
  text-align: left !important;
  color: #334155 !important;
}
html body.single-post .hcms-content-body td:last-child {
  border-right: none !important;
}
html body.single-post .hcms-content-body tr:last-child td {
  border-bottom: none !important;
}
html body.single-post .hcms-content-body tr:nth-child(even) td {
  background: #f8fffb !important;
}
html body.single-post .hcms-content-body tr:hover td {
  background: #f0fdf4 !important;
  transition: background .15s !important;
}

/* ── 6. CTA in-content — ultra compact, green tint ── */
.hcms-incontent-cta,
.hcms-incontent-cta.hcms-incontent-cta--alt {
  background: linear-gradient(135deg,#f0fdf4,#dcfce7) !important;
  border: 1px solid #86efac !important;
  border-left: none !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  margin: 1.5rem 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  box-shadow: none !important;
  position: relative !important;
  overflow: visible !important;
}
.hcms-incontent-cta::before,
.hcms-incontent-cta::after { display: none !important; }
.hcms-incontent-cta__text { flex: 1; min-width: 0; }
.hcms-incontent-cta__text h4 {
  font-size: .78rem !important;
  font-weight: 800 !important;
  color: #14532d !important;
  margin: 0 0 1px !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  line-height: 1.3 !important;
}
.hcms-incontent-cta__text p {
  font-size: .72rem !important;
  color: #166534 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}
.hcms-incontent-cta__btns {
  display: flex !important;
  gap: 5px !important;
  flex-shrink: 0 !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}
.hcms-incontent-cta .hcms-btn,
.hcms-incontent-cta a {
  padding: 5px 10px !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  margin-bottom: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  line-height: 1.4 !important;
}
.hcms-incontent-cta .hcms-btn--green,
.hcms-incontent-cta a.hcms-btn--green {
  background: #16a34a !important;
  color: #fff !important;
  border: none !important;
}
.hcms-incontent-cta .hcms-btn--outline,
.hcms-incontent-cta a.hcms-btn--outline {
  background: rgba(255,255,255,.85) !important;
  color: #14532d !important;
  border: 1px solid #16a34a !important;
}

/* ── 7. Image caption — no italic, centered, green pill ── */
html body.single-post .hcms-content-body img + br + em,
html body.single-post .hcms-content-body p > em:only-child,
html body.single-post .hcms-content-body p[style*="text-align:center"] em,
html body.single-post .hcms-content-body p[style*="center"] em {
  display: block !important;
  font-style: normal !important;
  text-align: center !important;
  font-size: .78rem !important;
  color: #14532d !important;
  background: #dcfce7 !important;
  border: 1px solid #bbf7d0 !important;
  border-radius: 20px !important;
  padding: 3px 14px !important;
  margin: 6px auto 0 !important;
  width: fit-content !important;
  max-width: 80% !important;
  font-weight: 500 !important;
  letter-spacing: .01em !important;
}
html body.single-post .hcms-content-body figcaption,
html body.single-post .hcms-content-body .wp-caption-text {
  font-style: normal !important;
  text-align: center !important;
  font-size: .78rem !important;
  color: #14532d !important;
  background: #dcfce7 !important;
  border: 1px solid #bbf7d0 !important;
  border-radius: 20px !important;
  padding: 3px 16px !important;
  margin: 6px auto 0 !important;
  width: fit-content !important;
  font-weight: 500 !important;
}



/* === SPACING: moderate, 16px top gap === */
body.single-post .site-content { padding-top: 40px !important; }
body.single-post #content,
body.single-post #primary { padding-top: 0 !important; }
.hcms-single-wrap { padding-top: 0 !important; }

/* === H2: final override with max specificity === */
html body.single-post article .hcms-content-body h2,
html body.single-post .hcms-main .hcms-content-body h2 {
  border-left: none !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  color: #14532d !important;
  padding-left: 0 !important;
  background: none !important;
  outline: none !important;
}
html body.single-post .hcms-content-body h2::before,
html body.single-post .hcms-content-body h2::after {
  content: none !important;
  display: none !important;
}


/* === Mobile: Popular Services grid === */
.hcms-mob-services {
  display: none; /* hidden on desktop */
}
@media (max-width: 1024px) {
  .hcms-mob-services {
    display: block;
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid #e2e8f0;
  }
  .hcms-mob-services__title {
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #94a3b8;
    margin-bottom: 12px;
  }
  .hcms-mob-services__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .hcms-mob-services__grid a {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 9px 12px;
    font-size: .78rem;
    font-weight: 600;
    color: #0f172a;
    text-decoration: none;
    transition: all .2s;
  }
  .hcms-mob-services__grid a:hover,
  .hcms-mob-services__grid a:active {
    background: #f0fdf4;
    border-color: #bbf7d0;
    color: #14532d;
  }
}

/* === Mobile: Reviewed By E-E-A-T Card === */
.hcms-mob-reviewed-by {
  display: none;
}
@media (max-width: 1024px) {
  .hcms-mob-reviewed-by {
    display: block;
    background: #fff;
    border: 1px solid #bbf7d0;
    border-left: 4px solid #16a34a;
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 16px;
    box-shadow: 0 2px 10px rgba(22,163,74,.08);
  }
  .hcms-mob-rev__top {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
  }
  .hcms-mob-rev__top img {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #f29221;
    box-shadow: 0 0 0 3px rgba(242,146,33,.15);
    flex-shrink: 0;
  }
  .hcms-mob-rev__label {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #94a3b8;
    margin-bottom: 2px;
  }
  .hcms-mob-rev__name {
    font-size: 1rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.2;
  }
  .hcms-mob-rev__role {
    font-size: .75rem;
    color: #16a34a;
    font-weight: 600;
    margin-top: 2px;
    line-height: 1.3;
  }
  .hcms-mob-rev__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px;
  }
  .hcms-mob-rev__badges span {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 20px;
    padding: 3px 10px;
    font-size: .72rem;
    font-weight: 600;
    color: #14532d;
    white-space: nowrap;
  }
  .hcms-mob-rev__btns {
    display: flex;
    gap: 8px;
  }
  .hcms-mob-rev__wa,
  .hcms-mob-rev__ms {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: .8125rem;
    font-weight: 700;
    text-decoration: none;
    text-align: center;
    transition: opacity .2s;
  }
  .hcms-mob-rev__wa {
    background: #25D366;
    color: #fff;
  }
  .hcms-mob-rev__ms {
    background: #0084ff;
    color: #fff;
  }
  .hcms-mob-rev__wa:hover,
  .hcms-mob-rev__ms:hover {
    opacity: .88;
    color: #fff;
  }
}

/* =================================================================
   EXTREME OVERRIDE FOR H2 ORANGE BORDER AND MOBILE FIXES
   ================================================================= */
/* Fix 1: Kill H2 orange border once and for all */
html body.single-post.ast-single-post #page .site-content .ast-container #primary #main article .entry-content h2,
html body.single-post article .hcms-content-body h2,
.hcms-content-body h2 {
    border-left: none !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding-left: 0 !important;
}
html body.single-post.ast-single-post #page .site-content .ast-container #primary #main article .entry-content h2::before,
html body.single-post article .hcms-content-body h2::before,
.hcms-content-body h2::before,
html body.single-post.ast-single-post #page .site-content .ast-container #primary #main article .entry-content h2::after,
html body.single-post article .hcms-content-body h2::after,
.hcms-content-body h2::after {
    display: none !important;
    content: none !important;
    border: none !important;
    background: none !important;
}

/* Fix 2: Mobile CTA Text Layout */
@media (max-width: 768px) {
    .hcms-incontent-cta {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 14px 16px !important;
        gap: 12px !important;
    }
    .hcms-incontent-cta__text {
        width: 100% !important;
    }
    .hcms-incontent-cta__btns {
        width: 100% !important;
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
    }
    .hcms-incontent-cta .hcms-btn,
    .hcms-incontent-cta a {
        font-size: .75rem !important;
        padding: 8px 12px !important;
        flex: 1 !important;
        justify-content: center !important;
    }
}

/* Fix 3: Content spacing & font on Mobile */
@media (max-width: 768px) {
    body.single-post .hcms-content-body {
        font-size: 1.05rem !important; /* Larger text on mobile for readability */
        line-height: 1.65 !important;
    }
    body.single-post .ast-container {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    body.single-post .site-content {
        padding-top: 5px !important; /* Reduce space below breadcrumb */
    }
    body.single-post .hcms-main {
        padding: 12px 10px !important;
    }
    body.single-post .hcms-content-body h2 {
        margin: 2rem 0 1rem !important;
    }
    .hcms-hero-header {
        margin-bottom: 5px !important;
    }
    body.single-post .hcms-content-body p {
        margin-bottom: 1em !important;
    }
}







/* === MOBILE EDGE-TO-EDGE AND TABLE FIX === */
@media (min-width: 769px) {
    .hcms-hero-header {
        margin-top: 20px !important;
        padding-top: 10px !important;
    }
}

@media (max-width: 921px) {
    /* BREAKOUT HACK: Force white card to be exactly viewport width on mobile */
    html body .hcms-main {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(-50vw + 50%) !important;
        margin-right: calc(-50vw + 50%) !important;
        border-radius: 0 !important;
        border-left: none !important;
        border-right: none !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
    }
}

/* Responsive Table (Horizontal Scroll & Visible Scrollbar) */
@media (max-width: 1024px) {
    html body .hcms-content-body figure.wp-block-table,
    html body .hcms-content-body .table-responsive,
    html body .hcms-content-body table {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        box-sizing: border-box !important;
        /* Force scrollbar to be visible */
        scrollbar-width: thin;
        scrollbar-color: rgba(22, 163, 74, 0.6) #f1f5f9;
        padding-bottom: 10px !important; /* give scrollbar room */
    }
    
    html body .hcms-content-body table th,
    html body .hcms-content-body table td {
        min-width: 100px !important; 
        white-space: normal !important;
        word-wrap: break-word !important;
    }
    
    /* Webkit visible scrollbar */
    html body .hcms-content-body figure.wp-block-table::-webkit-scrollbar,
    html body .hcms-content-body table::-webkit-scrollbar {
        height: 6px;
        -webkit-appearance: none;
    }
    html body .hcms-content-body figure.wp-block-table::-webkit-scrollbar-thumb,
    html body .hcms-content-body table::-webkit-scrollbar-thumb {
        background-color: rgba(22, 163, 74, 0.6) !important;
        border-radius: 4px;
    }
    html body .hcms-content-body figure.wp-block-table::-webkit-scrollbar-track,
    html body .hcms-content-body table::-webkit-scrollbar-track {
        background-color: #f1f5f9 !important;
        border-radius: 4px;
    }
}

/* Responsive Table (JS Wrapper fallback via CSS) */
@media (max-width: 1024px) {
    html body .hcms-content-body figure.wp-block-table,
    html body .hcms-content-body .table-responsive,
    html body .hcms-content-body table {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        box-sizing: border-box !important;
    }
    html body .hcms-content-body table th,
    html body .hcms-content-body table td {
        min-width: 100px !important; 
        white-space: normal !important;
        word-wrap: break-word !important;
    }
}

/* Responsive Table (JS Wrapper fallback via CSS) */
@media (max-width: 1024px) {
    html body.single-post .hcms-content-body figure.wp-block-table,
    html body.single-post .hcms-content-body .table-responsive,
    html body.single-post .hcms-content-body table {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        box-sizing: border-box !important;
    }
    html body.single-post .hcms-content-body table th,
    html body.single-post .hcms-content-body table td {
        min-width: 130px !important; 
        white-space: normal !important;
        word-wrap: break-word !important;
    }
}

/* Responsive Table (Horizontal Scroll) */
@media (max-width: 1024px) {
    body.single-post .hcms-content-body table {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        border-collapse: collapse !important;
    }
    
    /* Ensure columns don't squeeze and text remains readable */
    body.single-post .hcms-content-body table th,
    body.single-post .hcms-content-body table td {
        min-width: 140px !important; 
        white-space: normal !important;
        word-break: normal !important;
        padding: 12px 10px !important;
    }
}
