/* wcart blog — EDITORIAL redesign (Instrument Serif / Newsreader / mono), wcart violet brand.
   LIVE layer over Twenty Twenty-Three (single posts). Reversible. */

:root{
  --fd:'Instrument Serif',Georgia,serif;      /* display */
  --fb:'Instrument Sans','Inter',-apple-system,'Segoe UI',sans-serif;  /* body — Instrument Sans, pairs w/ Instrument Serif */
  --fm:'Spline Sans Mono',ui-monospace,SFMono-Regular,monospace; /* labels */
  --acc:#1860f0; --acc-d:#1450cc; --acc-b:#0284c7;
  --g:linear-gradient(118deg,#2a72ff 0%,#1860f0 48%,#0e5bd6 100%);
  --btn:linear-gradient(180deg,#2a72ff 0%,#1450d6 100%);       /* canonical CTA — Wcart brand blue (logo #1860f0) */
  --btn-h:linear-gradient(180deg,#1f66f0 0%,#0e42b0 100%);
  --btn-sh:0 10px 24px -8px rgba(24,96,240,.5);
  --paper:#faf9f7; --ink:#171821; --ink2:#2a2b34; --body:#3c3d48; --mut:#6f7280;
  --line:#e6eaf2; --line2:#eef1f6; --lav:#eef3fe;
  --rad:8px;
  --shl:0 30px 70px -30px rgba(20,50,120,.22); --shs:0 8px 22px -10px rgba(20,50,120,.18);
  --eo:cubic-bezier(.2,.7,.25,1);
}

/* page ground */
body.single, body.single .wp-site-blocks, body.single main{background:var(--paper) !important}

/* reading progress */
#rx-progress{position:fixed;top:0;left:0;height:2px;width:0;z-index:9999;background:var(--acc);transition:width .09s linear}

/* ---- LAYOUT: TOC | article | sidebar ---- */
body.single .wp-block-columns.are-vertically-aligned-top{
  display:grid !important; grid-template-columns:166px minmax(0,1fr) 322px !important; gap:38px !important;
  max-width:1250px !important; margin-left:auto !important; margin-right:auto !important; align-items:start !important;
}
body.single .wp-block-columns.are-vertically-aligned-top > .wp-block-column{flex:none !important;width:auto !important;max-width:none !important;justify-self:stretch !important}
body.single .text-container{min-width:0 !important;max-width:none !important;order:2 !important}
body.single .sidebar{order:3 !important;display:block !important}
.rx-toc-rail{order:1}
#ez-toc-container{display:none !important}

/* ---- HERO (title / breadcrumb / meta) ---- */
body.single .rank-math-breadcrumb{font-family:var(--fm);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin-bottom:20px}
body.single .rank-math-breadcrumb a{color:var(--mut);text-decoration:none}
body.single .wp-block-post-title{
  font-family:var(--fd) !important;font-weight:400 !important;color:var(--ink) !important;
  font-size:clamp(2.05rem,5.2vw,4.2rem) !important;line-height:1.03 !important;letter-spacing:-.02em;
  margin:0 0 .35em !important;overflow-wrap:break-word;word-break:normal;hyphens:none}
.rx-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--fm);font-size:11px;letter-spacing:.05em;color:var(--mut);margin:0 0 34px;text-transform:uppercase}
.rx-meta b{color:var(--ink2);font-weight:500}
.rx-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--acc)}

/* ---- TOC rail (editorial) ---- */
.rx-toc-rail{position:sticky;top:92px;max-height:calc(100vh-108px);overflow-y:auto;overflow-x:clip}
.rx-toc-rail .h{font-family:var(--fm);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);font-weight:500;margin:0 0 16px;padding-left:16px}
.rx-toc-rail ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.rx-toc-rail li{margin:0 !important;padding:0 !important}
.rx-toc-rail a{display:block;position:relative;padding:6px 0 6px 16px;margin-left:-1px;border-left:1px solid transparent;
  font-family:var(--fb) !important;font-size:13.5px !important;line-height:1.34 !important;color:var(--body);text-decoration:none;transition:color .18s var(--eo),border-color .18s var(--eo)}
.rx-toc-rail a:hover{color:var(--acc-d)}
.rx-toc-rail a.active{color:var(--acc-d);border-left-color:var(--acc)}
.rx-toc-rail .mini{margin-top:28px;padding:20px;border:1px solid var(--line);border-radius:var(--rad)}
.rx-toc-rail .mini .k{font-family:var(--fm);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc-d);margin-bottom:10px;display:block}
.rx-toc-rail .mini p{margin:0 0 14px;font-family:var(--fb);font-size:14px;line-height:1.5;color:var(--body)}
.rx-toc-rail .mini a{display:block;text-align:center;white-space:nowrap;line-height:1;font-family:var(--fm);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--btn);box-shadow:var(--btn-sh);text-decoration:none;padding:11px 10px;border-radius:10px;transition:transform .16s var(--eo)}
.rx-toc-rail .mini a:hover{transform:translateY(-2px);background:var(--btn-h);color:#fff}

/* ---- ARTICLE ---- */
body.single .entry-content{font-family:var(--fb);font-size:19px;line-height:1.72;color:var(--ink2);max-width:662px;letter-spacing:-.01em}
body.single .entry-content p,body.single .entry-content li,body.single .entry-content span{font-family:var(--fb) !important}
body.single .entry-content p{margin:0 0 1.05em;font-weight:400;line-height:1.7;letter-spacing:-.011em}
/* consecutive short paragraphs read as one block, not floating fragments */
body.single .entry-content p + p{margin-top:-.1em}
/* mono labels must render mono (were falling back to Roboto) */
.rx-toc-rail .h,.rx-meta,.rx-card-top .look,#rx-band .k,.rx-toc-rail .mini .k,.rx-logos span,body.single .rank-math-breadcrumb{font-family:var(--fm) !important}
body.single .entry-content > p:first-of-type::first-letter{font-family:var(--fd);font-weight:400;float:left;font-size:3.4em;line-height:.72;padding:.06em .12em 0 0;color:var(--acc-d)}
body.single .entry-content h2{font-family:var(--fd) !important;font-weight:400 !important;color:var(--ink) !important;
  font-size:clamp(2rem,3.4vw,2.7rem) !important;line-height:1.04 !important;letter-spacing:-.01em;margin:2em 0 .3em !important;scroll-margin-top:92px;border:0 !important;padding:0 !important}
body.single .entry-content h2::before,body.single .entry-content h2::after{content:none !important}
body.single .entry-content h2 .rx-rule{display:none}
body.single .entry-content h3{font-family:var(--fd) !important;font-weight:400 !important;color:var(--ink) !important;font-size:1.7rem !important;line-height:1.1 !important;letter-spacing:-.012em;margin:1.8em 0 .25em !important}
body.single .entry-content a{color:var(--acc-d);text-decoration:none;border-bottom:1px solid rgba(24,96,240,.3);transition:border-color .2s}
body.single .entry-content a:hover{border-bottom-color:var(--acc-d)}
body.single .entry-content strong{color:var(--ink);font-weight:600}

/* lists — flat editorial check */
body.single .entry-content ul.wp-block-list{list-style:none !important;padding-left:0 !important;margin:0 0 1.4em}
body.single .entry-content ul.wp-block-list > li{position:relative;padding-left:1.7em !important;margin:.28em 0;list-style:none !important}
body.single .entry-content ul.wp-block-list > li::before{content:"";position:absolute;left:.1em;top:.62em;width:6px;height:6px;
  border-radius:50%;background:var(--acc)}
body.single .entry-content ol.wp-block-list > li::marker{color:var(--acc-d);font-family:var(--fm);font-size:.85em}

/* two-column spec / definition list (Attribute | Value) */
body.single .entry-content dl.rx-spec{margin:1.6em 0;padding:0}
body.single .entry-content dl.rx-spec .rx-row{display:grid;grid-template-columns:148px minmax(0,1fr);gap:28px;padding:16px 2px;margin:0;border-top:1px solid var(--line)}
body.single .entry-content dl.rx-spec .rx-row:last-child{border-bottom:1px solid var(--line)}
body.single .entry-content dl.rx-spec dt{font-family:var(--fm) !important;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--mut);margin:0;padding-top:.35em;line-height:1.35}
body.single .entry-content dl.rx-spec dd{margin:0;font-family:var(--fb) !important;font-size:1.02rem;line-height:1.55;letter-spacing:-.011em;color:var(--body)}
body.single .entry-content dl.rx-spec dd b{color:var(--ink);font-weight:600}
@media(max-width:600px){body.single .entry-content dl.rx-spec .rx-row{grid-template-columns:1fr;gap:5px;padding:14px 2px}}

/* editorial numerals for numbered problem/point labels */
body.single .entry-content p.rx-problem{display:flex;align-items:baseline;gap:.5em;margin:2em 0 .3em !important}
/* uniform, small gap right after a numeral heading — whether a sentence or a bold label follows */
body.single .entry-content p.rx-problem + p{margin-top:0 !important}
body.single .entry-content p.rx-problem + p:has(+ ul.wp-block-list){margin-top:0 !important}
/* uniform across page: a label/numeral that follows a heading or intro paragraph sits tight
   (kills double-gaps); one that follows a bullet list keeps its section separation) */
body.single .entry-content h2 + p:has(+ ul.wp-block-list),
body.single .entry-content h3 + p:has(+ ul.wp-block-list),
body.single .entry-content p + p:has(+ ul.wp-block-list),
body.single .entry-content h2 + p.rx-problem,
body.single .entry-content h3 + p.rx-problem{margin-top:.35em !important}
/* intro paragraph right before a label: reduce its bottom so the pair sits tight */
body.single .entry-content p:has(+ p:has(+ ul.wp-block-list)){margin-bottom:.35em !important}
body.single .entry-content p.rx-problem .rx-num{font-family:var(--fd) !important;font-size:2.7em;line-height:.64;color:var(--acc);font-weight:400;letter-spacing:-.03em;flex:none}
body.single .entry-content p.rx-problem .rx-lead{font-family:var(--fb) !important;font-weight:600;font-size:1.12em;line-height:1.2;color:var(--ink);letter-spacing:-.01em}

/* group bold label with its point (spacing only) */
body.single .entry-content p:has(+ ul.wp-block-list){margin:1.9em 0 .12em !important}
body.single .entry-content p:has(+ ul.wp-block-list) + ul.wp-block-list{margin-top:0 !important;margin-bottom:.85em !important}

/* blockquote */
body.single .entry-content blockquote{margin:1.8em 0;padding:0 0 0 26px;border-left:3px solid var(--acc);
  font-family:var(--fd) !important;font-style:italic;font-size:1.9rem;line-height:1.28;color:var(--ink)}
body.single .entry-content blockquote p{font-family:var(--fd) !important;margin:0}

/* ---- TABLE (extra-premium editorial) ---- */
body.single .entry-content figure.wp-block-table,body.single .entry-content .wp-block-table{margin:2.4em 0;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px;box-shadow:0 30px 60px -34px rgba(20,50,120,.28)}
body.single .entry-content table{width:100%;min-width:640px;table-layout:auto;border-collapse:separate;border-spacing:0;background:#fff;margin:0;border:0;font-family:var(--fb);font-size:.94rem}
body.single .entry-content table td,body.single .entry-content table th{padding:15px 18px;border:0;border-bottom:1px solid var(--line2);vertical-align:top;text-align:left;color:var(--body);word-break:normal !important;overflow-wrap:normal !important;hyphens:none}
body.single .entry-content table td:first-child,body.single .entry-content table th:first-child{font-weight:600;color:var(--ink)}
/* ONE dark editorial header for BOTH <thead> tables and headerless tables; overrides the old gradient + kills mid-word breaks */
body.single .entry-content table thead th,body.single .entry-content table thead td,
body.single .entry-content table:not(:has(thead)) tr:first-child td{
  background:var(--ink) !important;background-image:none !important;color:#f4f2ec !important;font-family:var(--fm) !important;font-weight:400 !important;
  font-size:.66rem !important;letter-spacing:.07em !important;text-transform:uppercase !important;line-height:1.35 !important;vertical-align:middle !important;
  white-space:normal !important;word-break:normal !important;overflow-wrap:normal !important;border-bottom:0 !important;padding:16px 18px !important}
body.single .entry-content table thead th strong,body.single .entry-content table thead td strong,
body.single .entry-content table:not(:has(thead)) tr:first-child td strong{color:#f4f2ec !important;font-weight:400}
body.single .entry-content table tbody tr:nth-child(even):not(.wcart-row) td{background:#faf9fc}
body.single .entry-content table tbody tr:hover:not(.wcart-row) td{background:var(--lav)}
body.single .entry-content table tr.wcart-row td{background:var(--lav) !important;box-shadow:inset 4px 0 0 var(--acc)}
body.single .entry-content table tr.wcart-row td:first-child{color:var(--acc-d) !important;font-weight:700}
body.single .entry-content table tbody tr:last-child td{border-bottom:0}

/* ---- FAQ (Kadence) — premium facelift ---- */
body.single .wp-block-kadence-accordion .kt-accordion-pane{border:0 !important;border-top:1px solid var(--line) !important;border-radius:0 !important;margin:0 !important;background:transparent;box-shadow:none;transition:background .18s var(--eo)}
body.single .wp-block-kadence-accordion .kt-accordion-pane:last-of-type{border-bottom:1px solid var(--line) !important}
body.single .wp-block-kadence-accordion .kt-accordion-pane:hover{background:linear-gradient(90deg,var(--lav) 0%,rgba(244,240,252,0) 78%)}
body.single .wp-block-kadence-accordion .kt-blocks-accordion-header{background:transparent !important;border:0 !important;outline:0 !important;box-shadow:none !important;font-family:var(--fb) !important;font-weight:600 !important;color:var(--ink) !important;font-size:1.14rem !important;letter-spacing:-.01em !important;line-height:1.4 !important;padding:22px 6px 22px 2px !important;transition:color .18s var(--eo)}
body.single .wp-block-kadence-accordion .kt-accordion-header-wrap,
body.single .wp-block-kadence-accordion .kt-blocks-accordion-header.kt-accordion-panel-active{border:0 !important;box-shadow:none !important}
body.single .wp-block-kadence-accordion .kt-blocks-accordion-header:hover,
body.single .wp-block-kadence-accordion .kt-blocks-accordion-header.kt-accordion-panel-active{color:var(--acc-d) !important}
/* circular refined toggle */
body.single .wp-block-kadence-accordion .kt-blocks-accordion-icon-trigger{width:28px !important;height:28px !important;min-width:28px !important;border:1px solid var(--line) !important;border-radius:50% !important;background:#fff !important;transition:background .2s var(--eo),border-color .2s var(--eo)}
body.single .wp-block-kadence-accordion .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger,
body.single .wp-block-kadence-accordion .kt-accordion-panel-active .kt-blocks-accordion-icon-trigger{border-color:var(--acc) !important;background:var(--acc) !important}
body.single .wp-block-kadence-accordion .kt-blocks-accordion-icon-trigger::before,
body.single .wp-block-kadence-accordion .kt-blocks-accordion-icon-trigger::after{background:var(--acc) !important;transition:background .2s,transform .2s var(--eo);
  top:50% !important;left:50% !important;right:auto !important;bottom:auto !important;
  width:11px !important;height:2px !important;border-radius:2px;margin-top:-1px !important;margin-left:-5.5px !important;transform-origin:center center}
body.single .wp-block-kadence-accordion .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger::before,
body.single .wp-block-kadence-accordion .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger::after,
body.single .wp-block-kadence-accordion .kt-accordion-panel-active .kt-blocks-accordion-icon-trigger::before,
body.single .wp-block-kadence-accordion .kt-accordion-panel-active .kt-blocks-accordion-icon-trigger::after{background:#fff !important}

/* ---- SIDEBAR card (editorial) ---- */
body.single .sidebar{position:sticky !important;top:92px;padding:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important;max-height:calc(100vh - 110px);overflow-y:auto;overflow-x:clip}
.rx-card{border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;background:#fff;font-family:var(--fb);box-shadow:0 24px 60px -28px rgba(28,27,38,.35)}
.rx-card-top{position:relative;padding:20px 22px 22px;background:var(--ink);color:#f4f2ec;overflow:hidden}
.rx-card-top::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 100% 0%,rgba(24,96,240,.45),transparent 62%);pointer-events:none}
.rx-card-top .look{font-family:var(--fm);font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.7;margin:0 0 10px !important;color:#bcd4ff !important;position:relative}
.rx-card-top h4{font-family:var(--fd) !important;font-weight:400 !important;font-size:1.42rem !important;line-height:1.08 !important;margin:0 !important;color:#fff !important;position:relative;overflow-wrap:normal !important;word-break:normal !important}
.rx-card-body{padding:20px 22px}
.rx-feat{list-style:none !important;margin:0 0 20px !important;padding:0 !important;display:grid;gap:11px}
.rx-feat li{position:relative;padding-left:26px !important;font-size:.98rem;font-weight:500;color:var(--ink2);list-style:none !important;margin:0 !important}
.rx-feat li::before{content:"";position:absolute;left:2px;top:.42em;width:11px;height:8px;border-left:2px solid var(--acc);border-bottom:2px solid var(--acc);transform:rotate(-45deg)}
.rx-cta2{display:flex;box-sizing:border-box;align-items:center;justify-content:center;gap:6px;width:100%;white-space:nowrap;line-height:1;background:var(--btn);color:#fff;text-decoration:none;font-family:var(--fm);font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;padding:14px 8px;border-radius:10px;box-shadow:var(--btn-sh);transition:transform .16s var(--eo),background .16s var(--eo);overflow:hidden}
.rx-cta2:hover{transform:translateY(-2px);background:var(--btn-h);color:#fff}
.rx-logos{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:14px 20px 20px;border-top:1px solid var(--line)}
.rx-logos span{height:36px;border-radius:5px;background:var(--paper);border:1px solid var(--line);display:grid;place-items:center;font-family:var(--fm);font-size:.52rem;color:var(--mut);text-align:center;line-height:1.1;padding:2px}

/* ---- conversion band (editorial dark) ---- */
#rx-band{margin:44px auto 0;max-width:1220px;background:var(--ink);color:#f4f2ec;padding:60px 48px;text-align:center;border-radius:var(--rad);position:relative;overflow:hidden}
#rx-band::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 100% at 82% 0%,rgba(2,132,199,.4),transparent 60%),radial-gradient(46% 90% at 14% 100%,rgba(24,96,240,.45),transparent 60%)}
#rx-band > *{position:relative}
#rx-band .k{font-family:var(--fm);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#a9c6ff;margin-bottom:14px}
#rx-band h3{font-family:var(--fd);font-weight:400;font-size:clamp(2rem,3.4vw,2.9rem);margin:0 0 14px;line-height:1.02;color:#fff !important}
#rx-band p{margin:0 auto 26px;max-width:52ch;color:#cfcdd6;font-size:1.1rem}
#rx-band a{display:inline-block;background:var(--btn);color:#fff;text-decoration:none;font-family:var(--fm);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;padding:15px 34px;border-radius:10px;box-shadow:var(--btn-sh);transition:transform .16s var(--eo),background .16s var(--eo)}
#rx-band a:hover{transform:translateY(-2px);background:var(--btn-h);color:#fff}

/* ---- responsive ---- */
@media(max-width:1080px){
  body.single .wp-block-columns.are-vertically-aligned-top{grid-template-columns:minmax(0,1fr) 300px !important;gap:44px !important}
  .rx-toc-rail{display:none}
}
@media(max-width:820px){
  body.single .wp-block-columns.are-vertically-aligned-top{grid-template-columns:minmax(0,1fr) !important;gap:32px !important;max-width:100% !important}
  body.single .sidebar{position:static !important;max-height:none !important;overflow:visible !important;margin-top:40px}
  body.single .entry-content{max-width:100% !important}
  body.single .entry-content{font-size:19px}
  body.single .entry-content ul.wp-block-list > li{padding-left:1.7em !important}
}
