
/* PersonaHarbor — Article layout fix v1 (A2 Harbor Lights) — scoped to single Posts only */
body.single-post{--ph-gutter:20px}
@media(min-width:768px){body.single-post{--ph-gutter:32px}}
@media(min-width:1200px){body.single-post{--ph-gutter:40px}}

/* 1. Unified side gutter: the template shells own the padding (review: .ph-shell, comparison: .ph-main-container, legacy Candy: .shell) */
/* Astra full-bleed reset: eliminates any white boxed containers across all posts & previews */
body.single-post,body.single-post #page,body.single-post .site,body.single-post .site-content,
body.single-post #content,body.single-post #primary,body.single-post #main,body.single-post article,
body.single-post .ast-container,body.single-post .ast-article-single,body.single-post .ast-article-post{
  background:#04101E!important;border:none!important;box-shadow:none!important;color:#C9C4D6!important
}
body.single-post .entry-header,body.single-post .post-navigation,body.single-post .ast-single-post-navigation{display:none!important}
body.single-post .entry-content{padding-left:0!important;padding-right:0!important;overflow-x:clip}
body.single-post .ph-shell,body.single-post .shell,body.single-post .ph-main-container{
 width:auto!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;
 padding-left:var(--ph-gutter)!important;padding-right:var(--ph-gutter)!important;box-sizing:border-box}
body.single-post .ph-main-container .ph-main-container,body.single-post .ph-shell .ph-shell{padding-left:0!important;padding-right:0!important}
body.single-post .ph-shell *,body.single-post .ph-main-container *,body.single-post .shell *{max-width:100%;box-sizing:border-box}
body.single-post .ph-shell table,body.single-post .ph-main-container table,body.single-post .shell table{max-width:none}

/* 2. Tables: horizontal scroll inside wrapper + scroll hint (no squashing of data) */
body.single-post .ph-table-wrap,body.single-post .ph-table-wrapper,body.single-post .table-container{
 overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;position:relative;
 background:linear-gradient(90deg,#04101E 30%,rgba(4,16,30,0)) left/24px 100% no-repeat local,
  linear-gradient(270deg,#04101E 30%,rgba(4,16,30,0)) right/24px 100% no-repeat local,
  linear-gradient(90deg,rgba(185,166,255,.25),transparent) left/10px 100% no-repeat scroll,
  linear-gradient(270deg,rgba(185,166,255,.25),transparent) right/10px 100% no-repeat scroll;
 scrollbar-width:thin;scrollbar-color:#B9A6FF transparent}
body.single-post .entry-content > table,body.single-post .entry-content section > table{display:block;overflow-x:auto;max-width:100%}
@media(max-width:767px){
 body.single-post .ph-table-wrap table,body.single-post .ph-table-wrapper table,body.single-post .table-container table,
 body.single-post .ph-table,body.single-post .ph-matrix-table,body.single-post .data-table{min-width:560px;width:max-content;max-width:none}
 body.single-post .ph-table-wrap::before,body.single-post .ph-table-wrapper::before,body.single-post .table-container::before{
  content:"← swipe →";display:block;position:sticky;left:0;font:500 11px/1.6 "JetBrains Mono",monospace;letter-spacing:.08em;color:#B9A6FF;opacity:.75;padding:0 0 6px}
 body.single-post .ph-table th:first-child,body.single-post .ph-table td:first-child,
 body.single-post .ph-matrix-table th:first-child,body.single-post .ph-matrix-table td:first-child{position:sticky;left:0;z-index:1;background:#04101E}
}

/* 3. Card grids: single column on phones, equal heights everywhere */
body.single-post [class*="ph-"][class*="-grid"]{align-items:stretch}
body.single-post [class*="ph-"][class*="-grid"] > *{height:auto;min-width:0;display:flex;flex-direction:column}
@media(max-width:599px){
 body.single-post .ph-intent-grid,body.single-post .ph-benchmark-grid,body.single-post .ph-callout-grid,
 body.single-post .ph-decision-grid,body.single-post .ph-pros-cons-grid,body.single-post .media-duo-grid{grid-template-columns:1fr!important}
}
body.single-post .ph-sticky-nav{max-width:100%}

/* 4. Media boxes: no empty dark frames — box follows the image */
body.single-post .ph-media-figure,body.single-post .ph-media-card,body.single-post .media-card{height:auto!important;min-height:0!important;aspect-ratio:auto!important}
body.single-post .ph-media-figure img,body.single-post .ph-media-card img,body.single-post .media-card img,body.single-post .ph-media-img{width:100%!important;max-width:100%!important;height:auto!important;max-height:650px!important;object-fit:contain!important;display:block!important;contain:none!important;contain-intrinsic-size:auto none!important}
body.single-post .ph-media-card.ph-media-portrait img,body.single-post .ph-media-portrait img{width:100%;height:auto;aspect-ratio:auto!important;object-fit:cover;object-position:center top}
body.single-post .ph-video-container:empty,body.single-post .ph-media-figure:not(:has(img,video,iframe,picture)){display:none}
body.single-post [class*="character"] [class*="img"]:empty,body.single-post [class*="character"] [class*="image"]:empty{display:none}

/* 5. Lists: shallow indent, aligned with paragraph text */
body.single-post .entry-content ul,body.single-post .entry-content ol{padding-left:1.25em!important;margin-left:0!important}
body.single-post .entry-content li{padding-left:.15em}
body.single-post [class*="pros"] ul,body.single-post [class*="cons"] ul,body.single-post [class*="works"] ul{padding-left:1.1em!important}
body.single-post .ph-sticky-nav ul,body.single-post nav ul{padding-left:0!important}

/* === Exact Post 868 Typography Alignment === */
body.single-post .entry-content :is(h1, .ph-title, .comp-title, .ph-h1, .ph-hero-title){
  font-family:"Instrument Serif",Georgia,serif!important;
  font-weight:400!important;
  color:#F4EFE6!important;
  -webkit-text-fill-color:#F4EFE6!important;
  background:none!important;
  font-size:clamp(36px,6vw,64px)!important;
  line-height:1.06!important;
  letter-spacing:-.01em!important;
  margin:0 0 20px!important;
}
body.single-post .entry-content :is(h1, .ph-title, .comp-title, .ph-h1, .ph-hero-title, h2, h3) :is(em, i, .ph-em){
  font-family:"Instrument Serif",Georgia,serif!important;
  font-style:italic!important;
  font-weight:400!important;
  color:#B9A6FF!important;
  -webkit-text-fill-color:#B9A6FF!important;
}
body.single-post .entry-content .vs-emblem{
  font-family:"Instrument Serif",Georgia,serif!important;
  font-style:italic!important;
  font-weight:400!important;
  color:#B9A6FF!important;
  -webkit-text-fill-color:#B9A6FF!important;
  background:none!important;
  border:none!important;
  padding:0 .15em!important;
  text-transform:lowercase!important;
  font-size:.9em!important;
}
body.single-post .entry-content :is(h2, .ph-section-title){
  font-family:"Instrument Serif",Georgia,serif!important;
  font-weight:400!important;
  color:#F4EFE6!important;
  -webkit-text-fill-color:#F4EFE6!important;
  font-size:clamp(28px,3.8vw,40px)!important;
  line-height:1.15!important;
  letter-spacing:-.01em!important;
}
body.single-post .entry-content :is(h3, .ph-subsection-title){
  font-family:"Instrument Serif",Georgia,serif!important;
  font-weight:400!important;
  color:#F4EFE6!important;
  -webkit-text-fill-color:#F4EFE6!important;
  font-size:clamp(20px,2.4vw,26px)!important;
  line-height:1.25!important;
}
body.single-post .entry-content :is(.ph-dek, .comp-lead, .lede, .ph-lede, .ph-hero-lead){
  font-family:Inter,-apple-system,"Segoe UI",Roboto,sans-serif!important;
  font-size:clamp(17px,2vw,20px)!important;
  color:#C9C4D6!important;
  line-height:1.6!important;
  max-width:760px!important;
}

/* Hero clear fixed header */
body.single-post :is(.ph-masthead, .masthead, .ph-hero) {
  padding-top: 104px !important;
}
body.admin-bar.single-post :is(.ph-masthead, .masthead, .ph-hero) {
  padding-top: 136px !important;
}

/* Two-column hero H1 size & line wrap balance */
body.single-post .entry-content :is(.ph-masthead-grid, .hero-grid, .ph-masthead, .masthead) :is(h1, .ph-title) {
  font-size: clamp(28px, 2.9vw, 40px) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.015em !important;
}

/* === Candy AI (Post 434) A2 Harbor Lights Complete Unification === */
body.single-post :is(.masthead, .page-body, .article-stream, .sidebar-rail, .quick-verdict-box, .widget-box) {
  --night:#04101E!important;--night-deep:#030B15!important;--surface:#0A1426!important;--elevated:#0F1D36!important;
  --paper:#060E1A!important;--card:#0A1426!important;--ink:#F4EFE6!important;--muted:#C9C4D6!important;
  --line:rgba(185,166,255,0.12)!important;--border-dark:rgba(185,166,255,0.15)!important;--cta:#E4BE86!important;--cta-hover:#F0D3A8!important;
}
body.single-post .page-body{background:transparent!important;color:#C9C4D6!important}
body.single-post .article-stream{color:#C9C4D6!important}
body.single-post .article-stream p,body.single-post .article-stream li{color:#C9C4D6!important;font-size:17px!important;line-height:1.8!important}
body.single-post .article-stream strong,body.single-post .article-stream b{color:#F4EFE6!important}
body.single-post .quick-verdict-box{background:#0A1426!important;border:1px solid rgba(185,166,255,0.16)!important;box-shadow:0 12px 32px rgba(0,0,0,0.45)!important;color:#C9C4D6!important}
body.single-post .quick-verdict-box :is(h2,h3,.verdict-header h2){color:#F4EFE6!important}
body.single-post .verdict-grid .verdict-item{background:#060E1A!important;border-color:rgba(185,166,255,0.12)!important;color:#C9C4D6!important}
body.single-post .verdict-grid .verdict-item p{color:#C9C4D6!important}
body.single-post .sidebar-rail .widget-box{background:#0A1426!important;border:1px solid rgba(185,166,255,0.16)!important;color:#C9C4D6!important;box-shadow:0 8px 24px rgba(0,0,0,0.4)!important}
body.single-post .sidebar-rail :is(.platform-score,.score-display,.score-number,.rating-label){color:#F4EFE6!important}
body.single-post .sidebar-rail :is(.score-bar-bg,.bar-track){background:rgba(255,255,255,0.08)!important}
body.single-post .sidebar-rail :is(.score-bar-fill,.bar-fill){background:linear-gradient(90deg,#7C5CFF,#B9A6FF)!important}
body.single-post .sidebar-rail .widget-pricing{background:#060E1A!important;border:1px solid rgba(185,166,255,0.12)!important;border-radius:10px!important;color:#F4EFE6!important}
body.single-post .sidebar-rail .widget-pricing .price-val{color:#F4EFE6!important}
body.single-post .sidebar-rail .widget-pricing :is(.price-from,.renewal-note){color:#C9C4D6!important}
body.single-post .sidebar-rail .toc-item a{color:#C9C4D6!important}
body.single-post .sidebar-rail .toc-item.active a{color:#B9A6FF!important}
body.single-post :is(.cta-button.primary,.widget-cta,.pulse-cta,.btn-affiliate,.final-cta-btn){background:#B9A6FF!important;color:#04101E!important;font-weight:700!important;border:none!important;border-radius:999px!important;box-shadow:0 4px 18px rgba(185,166,255,0.35)!important;text-decoration:none!important}
body.single-post :is(.cta-button.primary,.widget-cta,.pulse-cta,.btn-affiliate,.final-cta-btn) :is(span,*){color:#04101E!important;font-weight:700!important}
body.single-post :is(.cta-button.primary,.widget-cta,.pulse-cta,.btn-affiliate,.final-cta-btn):hover{background:#D3C7FF!important;color:#04101E!important;transform:translateY(-1px)}
body.single-post :is(.step-card,.callout,.callout.warning,.alert-box,.currency-model-card,.author-card,.faq-item,.engine-lens-widget,.audit-scope-card,.simulator-card,.final-cta-card,.cancellation-tips){background:#0A1426!important;border:1px solid rgba(185,166,255,0.14)!important;color:#C9C4D6!important}
body.single-post :is(.step-card,.callout,.callout.warning,.alert-box,.currency-model-card,.author-card,.faq-item,.audit-scope-card,.simulator-card,.cancellation-tips) :is(h3,h4,strong,.step-title,.callout-title,.author-name,.scope-header){color:#F4EFE6!important}
body.single-post :is(.quote-prompt,.clause-quote){background:#060E1A!important;border:1px solid rgba(185,166,255,0.12)!important;border-left:3px solid #B9A6FF!important;color:#E2E8F0!important;font-style:italic!important;padding:14px 18px!important;border-radius:6px!important}
body.single-post .engine-nav-tabs{background:#060E1A!important;border:1px solid rgba(185,166,255,0.14)!important}
body.single-post .engine-tab-btn{color:#C9C4D6!important}
body.single-post .engine-tab-btn.active{background:rgba(185,166,255,0.18)!important;color:#B9A6FF!important}
body.single-post .sim-total-box{background:#060E1A!important;border:1px solid rgba(185,166,255,0.14)!important;color:#F4EFE6!important}
body.single-post :is(.pro-column,.con-column){background:#0A1426!important;border:1px solid rgba(185,166,255,0.14)!important;color:#C9C4D6!important}
body.single-post .pro-column :is(h4,.column-title){color:#6EE7B7!important}
body.single-post .con-column :is(h4,.column-title){color:#FCA5A5!important}
body.single-post .table-container,body.single-post table{background:#0A1426!important;border-color:rgba(185,166,255,0.14)!important}
body.single-post table th{background:#060E1A!important;color:#F4EFE6!important;border-color:rgba(185,166,255,0.12)!important}
body.single-post table td{color:#C9C4D6!important;border-color:rgba(185,166,255,0.08)!important}

/* === v1.1 editorial-note === */
@media (max-width:600px){
  body.single-post .editorial-note{flex-wrap:wrap;align-items:flex-start}
  body.single-post .editorial-note > p{flex:1 1 calc(100% - 34px);min-width:0;margin:0}
  body.single-post .editorial-note > a{flex:1 1 100%;padding-left:34px}
}

/* === v1.2 at-a-glance rows === */
/* v1.2: undo the generic grid-child column rule for at-a-glance rows */
body.single-post .ph-comp .ph-at-glance-grid > .ph-glance-item{flex-direction:row}
@media (max-width:860px){body.single-post .ph-comp .ph-at-glance-grid > .ph-glance-item{flex-direction:column}}

/* === v1.3 A2 fonts === */
/* PersonaHarbor Article Fonts v1.3 · A2 Harbor Lights · append to WPCode Snippet 205
   Scope: body.single-post only. Fonts are already loaded site-wide by the theme header link
   (Instrument Serif ital 0/1, Inter 400–700, JetBrains Mono 400–600), so no @import needed. */
body.single-post{
  --ph-font-display:"Instrument Serif",Georgia,serif;
  --ph-font-sans:Inter,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ph-font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}
/* comparison templates (.ph-comp) define their own font variables */
body.single-post .ph-comp,body.single-post .entry-content{
  --font-body:Inter,-apple-system,"Segoe UI",Roboto,sans-serif!important;
  --font-display:"Instrument Serif",Georgia,serif!important;
  --font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace!important;
}
/* 1. Body text: Inter */
body.single-post .entry-content,
body.single-post .entry-content :is(.ph-review-wrap,.ph-comp,.masthead,.ph-article),
body.single-post .entry-content :is(p,li,dd,blockquote,figcaption,summary,td,th,label,button):not([class*="mono"]):not([class*="eyebrow"]):not([class*="kicker"]):not([class*="tag"]):not([class*="pill"]):not([class*="badge"]):not([class*="score"]):not([class*="caption"]):not([class*="label"]):not([class*="val"]):not([class*="num"]){
  font-family:Inter,-apple-system,"Segoe UI",Roboto,sans-serif!important;
}
/* 2. Headings: Instrument Serif, regular weight (A2), lilac italic emphasis */
body.single-post .entry-content :is(h1,h2,h3){
  font-family:"Instrument Serif",Georgia,serif!important;
  font-weight:400!important;
  letter-spacing:-.005em!important;
  font-synthesis:none;
}
body.single-post .entry-content :is(h1,h2,h3) :is(em,i){
  font-family:"Instrument Serif",Georgia,serif!important;
  font-style:italic!important;font-weight:400!important;color:#B9A6FF!important;
}
/* small card / FAQ headings stay Inter for legibility */
body.single-post .entry-content :is(h4,h5,h6),
body.single-post .entry-content .faq-item :is(h3,summary){
  font-family:Inter,-apple-system,"Segoe UI",Roboto,sans-serif!important;
  font-weight:600!important;
}
/* 3. Data, labels, badges: JetBrains Mono (max loaded weight 600) */
body.single-post .entry-content :is(code,kbd,pre,.vs-emblem,
 [class*="pill"],[class*="badge"],[class*="eyebrow"],[class*="kicker"],[class*="chapter-tag"],[class*="mono"],
 [class*="score"]:not([class*="denom"]):not([class*="max"]):not([class*="label"]):not([class*="sub"]),[class*="telemetry"],[class*="dossier-label"],[class*="dossier-val"],[class*="metric-val"],[class*="slider-val"]){
  font-family:"JetBrains Mono",ui-monospace,Menlo,monospace!important;
}
body.single-post .entry-content :is(.vs-emblem,[class*="pill"],[class*="badge"],[class*="eyebrow"],[class*="kicker"],[class*="chapter-tag"]){
  font-weight:500!important;
}
body.single-post .entry-content .ph-badge-row{font-family:inherit!important}
/* CTA buttons: Inter */
body.single-post .entry-content :is(.ph-btn-primary,.ph-cta-btn,[class*="btn"]){font-family:Inter,-apple-system,"Segoe UI",Roboto,sans-serif!important}
/* OurDream (537): .ph-h1 size uses var(--ph-fs-h1), which is undefined and collapses to 16px; restore the post's own clamp */
body.single-post .entry-content h1.ph-h1{font-size:clamp(32px,3.8vw,44px)!important;line-height:1.1!important}
/* score denominators/labels keep sans so "/ 10 Score" doesn't wrap */
body.single-post .entry-content :is([class*="denom"],[class*="score-label"],[class*="score-sub"]){font-family:Inter,-apple-system,"Segoe UI",Roboto,sans-serif!important}

