/*------------- Single Post Structure -------------- */
/* Grid container (no outer padding so header can be full width) */
.single-post .content-sidebar-wrap {
  display: grid;
  grid-template-columns: 2fr 1fr;              /* 2/3 + 1/3 */
  grid-template-areas:
    "header header"
    "main   sidebar";
  column-gap: none;          /* space between main & sidebar */
  row-gap: none;           /* space below the header */
}
@media (max-width: 700px) {
	.single-post .content-sidebar-wrap {
		padding-top: 0 !important;
		grid-template-columns: 1fr; 
		grid-template-areas:
		"header"
		"main"
		"sidebar";
	}
}
/* Grid areas */
.single-post .entry-header { grid-area: header; }
.single-post .content      { grid-area: main; }
.single-post .sidebar      { grid-area: sidebar; }

/* Neutralize legacy floats/widths if theme sets them */
.single-post .content,
.single-post .sidebar {
  float: none;
  width: auto;
  min-width: 0;
}

/* Apply spacing ONLY to main & sidebar */
.single-post .content,
.single-post .sidebar{
  padding:2em 3rem;           /* inner breathing room */
}

/* =========================================================
   1) POST-RELATED ITEMS (components, utilities, tokens, headers)
   ========================================================= */
.postid-156715 .entry-image{display:none !important;}
/* ----- Legacy blog component shells / utilities ----- */
.blog-author-container{
	margin: 0 0 20px 0;
	border-radius: 25px;
	box-shadow: 7px 7px 5px 0px rgba(0,0,0,0.16);
	-webkit-box-shadow: 7px 7px 5px 0px rgba(0,0,0,0.16);
	-moz-box-shadow: 7px 7px 5px 0px rgba(0,0,0,0.16);
}


/* Full height helper */
.full-height{
  border-radius:18px;
  overflow: hidden;
  height: 100% !important;
  object-fit: fill;
}
.full-height .gb-block-layout-column-inner{
  height: 100% !important;
  object-fit: fill;
}
.full-height img{
  border-radius:18px;
  overflow: hidden;
  height: 100% !important;
  object-fit: fill;
}

/* Section summary wrapper */
.section-summary{
  border-radius: 15px;
  overflow: hidden;
 background: #000000;
background: linear-gradient(0deg, rgba(0, 0, 0, 0.075) 0%, rgba(0, 0, 0, 0.025) 100%);
  margin: 2.5rem 0 1.5rem;
  padding: clamp(1.5rem, 2vw, 1.25rem);
}

/* Section header (blue gradient + white fade + inner frame) */
.single-post h2.section-header {
  --hdr-r: 15px; /* tweak to taste */
  border-radius: var(--hdr-r) var(--hdr-r) 0 0;
  color: #fff !important;

  background:
    linear-gradient(
      to bottom,
      rgba(255,255,255,0) 25%,
      rgba(255,255,255,0.35) 50%,
      rgba(255,255,255,1) 100%
    ),
    linear-gradient(135deg, #4584b6 0%, #244A77 100%) !important;

  text-align: center;
  /* keep top rounded, remove bottom radius */
  border-radius: 20px 20px 0 0; /* (kept as-is) */
  overflow: hidden;

  margin: 2em 0 1em;
  padding: 1.25rem 1.5rem 2rem 1.5rem!important;
  font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -.015em;
  position: relative;
}
.single-post h2.section-header::after {
  --inset: clamp(6px, 0.8vw, 10px);
  --stroke: 2px;

  content: "";
  position: absolute;
  inset: var(--inset) var(--inset) 0 var(--inset);

  --frame-r: clamp(-4px, calc(var(--hdr-r) - (var(--inset) * 0.4)), var(--hdr-r));
  border-style: solid;
  border-color: #fff;
  border-width: var(--stroke) var(--stroke) 0 var(--stroke);
  border-radius: var(--frame-r) var(--frame-r) 0 0;
  pointer-events: none;
}

/* FAQ section header badge (post usage) */
.faq-section-header {
  color:#fff !important;
  background: linear-gradient(135deg, #4584b6 0%, #244A77 100%)!important;
  text-align:center;
  border-radius:18px;
  overflow:hidden;
  margin:2.5rem auto -25px auto !important;
  padding: 1rem 1.5rem !important;
  font-size:clamp(1.75rem, 1.4rem + 1.2vw, 2.25rem);
  font-weight:700;
  letter-spacing:-.015em;
  position:relative;
  z-index: 1000;
  display: block;
  width:25%;
  box-shadow:
    inset 0 0 0 1px hsl(0 0% 100% / .06),
    0 5px 20px hsl(220 40% 2% / .30);
}
.single-post h2.faq-section-header::after {
  --inset: clamp(6px, 0.8vw, 10px);
  --stroke: 2px;
  content:"";
  position:absolute;
  inset: var(--inset);
  border: var(--stroke) solid #fff;
  border-radius: calc(18px - var(--inset));
  pointer-events:none;
}

/* Dark-mode tweak (keeps accent vivid) */
@media (prefers-color-scheme: dark) {
  .single-post h2::after 
  .faq-section-header::after {
    background:
      linear-gradient(
        90deg,
        color-mix(in oklab, var(--faq-header-accent), #fff 20%),
        var(--faq-header-accent)
      );
  }
}

/* ----- Scoped post tokens ----- */
.single-post{
  --brand-bg: var(--bq-bg, #f7f9fc);
  --brand-fg: var(--bq-fg, #111);
  --brand-accent: var(--bq-accent, #244A77);
  --brand-accent-2: #4584b6;
  --radius-lg: 18px;
  --pad: clamp(1rem, 2vw, 1.25rem);
}

/* ----- Key Stats (tiles with badge) ----- */
.single-post .key-stats{
  --cols: 3;
  background: linear-gradient(135deg, #4584b6 0%, #244A77 100%);
  color:#fff !important;
  border-radius: var(--radius-lg);
  padding: var(--pad);
  margin: 2rem 0;
  position: relative;
  overflow: hidden;
  box-shadow:
    inset 0 0 0 2px hsl(0 0% 100%/.10),
    0 6px 24px hsl(220 40% 2%/.28);
}
.single-post .key-stats ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr));
  gap: clamp(.6rem, 1.2vw, .9rem);
}
.single-post .key-stats li {
  position: relative;
  padding: .9rem 1rem .9rem 3rem;
  background: hsl(0 0% 100% / .12);
  border-radius: 14px;
  box-shadow: inset 0 0 0 1px hsl(0 0% 100% / .16);
  line-height: 1.55;
  color: #fff;
  transition: transform .18s ease, box-shadow .18s ease;
  min-height: 56px;
}
.single-post .key-stats li { list-style: none !important; margin: 0 !important; color: #fff; }
.single-post .key-stats li a {
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid hsl(0 0% 100% / .45);
}
.single-post .key-stats li a:hover { border-bottom-color: #fff; }
.single-post .key-stats li {
  --ks-badge-size: 36px;
  --ks-badge-gap: 14px;
  --ks-badge-offset: -5px; /* nudge right */
  position: relative;
  padding: .9rem 1rem .9rem
           calc(1rem + (var(--ks-badge-size) / 2) + var(--ks-badge-gap) + var(--ks-badge-offset));
  min-height: max(56px, var(--ks-badge-size));
}
.single-post .key-stats li::before,
.single-post .key-stats li::after {
  inset-inline-start: var(--ks-badge-offset);
}
.single-post .key-stats li::before {
  content: "";
  position: absolute;
  inset-block-start: 10%;
  inset-inline-start: 0;
  transform: translate(-20%, 0);
  width: var(--ks-badge-size);
  height: var(--ks-badge-size);
  border-radius: 50%;
  background:
    radial-gradient(120% 120% at 30% 20%, hsl(0 0% 100% / .25), hsl(145 64% 34% / 1)),
    #22c55e;
  border: 2px solid #fff;
  box-shadow: 0 10px 24px hsl(220 40% 2% / .30);
  z-index: 1;
  pointer-events: none;
}
.single-post .key-stats li::after {
  content: "";
  position: absolute;
  inset-block-start: 10%;
  inset-inline-start: 0;
  transform: translate(-20%, 0);
  width: var(--ks-badge-size);
  height: var(--ks-badge-size);
  z-index: 2;
  background-color: #ffffff;
  -webkit-mask:
    center/58% no-repeat
    url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>\
<path d='M20.285 6.708a1.25 1.25 0 0 1 0 1.768l-9.2 9.2a1.25 1.25 0 0 1-1.768 0l-5.6-5.6a1.25 1.25 0 1 1 1.768-1.768l4.716 4.716 8.316-8.316a1.25 1.25 0 0 1 1.768 0z'/>\
</svg>");
  mask:
    center/58% no-repeat
    url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'>\
<path d='M20.285 6.708a1.25 1.25 0 0 1 0 1.768l-9.2 9.2a1.25 1.25 0 0 1-1.768 0l-5.6-5.6a1.25 1.25 0 1 1 1.768-1.768l4.716 4.716 8.316-8.316a1.25 1.25 0 0 1 1.768 0z'/>\
</svg>");
  pointer-events: none;
}
@media (hover:hover) {
  .single-post .key-stats li:hover {
    transform: translateY(-2px);
    box-shadow:
      inset 0 0 0 1px hsl(0 0% 100% / .18),
      0 8px 24px hsl(220 40% 2% / .35);
  }
}
/* responsive columns (uses --cols) */
@media (max-width: 920px) {
  .single-post .key-stats { --cols: 2; }
}
@media (max-width: 620px) {
  .single-post .key-stats { --cols: 1; }
}
/* (duplicate responsive rules kept as-is) */
@media (max-width: 920px){ .single-post .key-stats{ --cols: 2; } }
@media (max-width: 620px){ .single-post .key-stats{ --cols: 1; } }

/* ----- Intro & Conclusion (matching cards) ----- */
.single-post .post-intro,
.single-post .post-conclusion {
  position: relative;
  margin: 2rem 0;
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  background: linear-gradient(180deg, hsl(0 0% 100% / .04), transparent), var(--brand-bg);
  border-radius: var(--radius-lg);
  box-shadow:
    inset 0 0 0 1px hsl(0 0% 100% / .08),
    0 5px 20px hsl(220 40% 2% / .30);
  overflow: hidden;
}
.single-post .post-intro::before,
.single-post .post-conclusion::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 22px;
  background: linear-gradient(90deg, var(--brand-accent-2), var(--brand-accent));
}
.single-post .post-intro h2:first-of-type,
.single-post .post-conclusion h2:first-of-type {
  margin: 0 0 .5rem;
  font-weight: 800;
  letter-spacing: .01em;
  text-transform: capitalize;
  color: color-mix(in oklab, var(--brand-accent), #000 15%);
}
.single-post .post-intro p,
.single-post .post-conclusion p { margin: .4rem 0; line-height: 1.7; }
.single-post .post-conclusion .cta {
  margin-top: .9rem;
  display: flex;
  gap: .6rem;
  flex-wrap: wrap;
}
.single-post .post-conclusion .cta a {
  color: #fff;
  background: linear-gradient(135deg, #4584b6, #244A77);
  padding: .55rem .9rem;
  border-radius: 999px;
  border: 1px solid hsl(0 0% 100% / .22);
  text-decoration: none;
}
.single-post .post-conclusion .cta a:hover { filter: brightness(1.05); }

/* ----- PRO TIP (card + green badge) ----- */
/* PRO TIP (straight ribbon + reliable check icon) */
.pro-tip {
  --pt-bg: var(--bq-bg, #f7fff9);
  --pt-fg: var(--bq-fg, #0f2a1e);
  --pt-accent: #22c55e;
  --pt-accent-deep: #16a34a;
  --pt-radius: 18px;
  --pt-pad: clamp(1rem, 2.2vw, 1.5rem);
  --pt-badge-size: 72px;

  position: relative;
  margin: 2rem auto;
  max-width: 90%;
  padding: var(--pt-pad);
  color: var(--pt-fg);
  background:
    linear-gradient(180deg, hsl(0 0% 100% / .04), transparent),
    var(--pt-bg);
  border-radius: var(--pt-radius);
  box-shadow:
    inset 0 0 0 1px hsl(0 0% 100% / .06),
    0 5px 20px hsl(220 40% 2% / .30);
  overflow: visible;           /* lets the badge hang out a bit */
  isolation: isolate;

  /* room for the badge circle */
  padding-inline-start: calc(var(--pt-pad) + (var(--pt-badge-size) / 2));
}

/* Title */
.pro-tip h4 {
  margin: 0 0 .35rem;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
  font-size: .95rem;
  color: color-mix(in oklab, var(--pt-accent), #000 20%);
}

/* Links/content */
.pro-tip p { margin: .35rem 0; line-height: 1.6; }
.pro-tip a {
  color: color-mix(in oklab, var(--pt-accent), #000 15%);
  text-decoration: none;
  border-bottom: 1px solid color-mix(in oklab, var(--pt-accent), #fff 60%);
}
.pro-tip a:hover { border-bottom-color: currentColor; }

/* Badge circle with a text ✓ (more robust than data-URI) */
.pro-tip::before {
  content: url("https://jagoehomes.com/wp-content/uploads/2025/09/thumbs-up.svg");
     width: 28px; height: 28px;      /* may not affect SVG consistently */
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0;
  transform: translate(-50%, -50%);
  width: var(--pt-badge-size);
  height: var(--pt-badge-size);
  border-radius: 50%;
  border: 3px solid #fff;
  box-shadow: 0 10px 30px rgba(2,8,23,.28);
  z-index: 2; /* above the ribbon */
padding:10px;
  display: grid;
  place-items: center;
  font: 900 calc(var(--pt-badge-size) * .46)/1 system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial;
  color: #fff;

  background:
    radial-gradient(120% 120% at 30% 20%,
      color-mix(in oklab, var(--pt-accent), #fff 25%),
      var(--pt-accent-deep));
}

/* Straight vertical ribbon INSIDE the card */
.pro-tip::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;               /* no overflow past the container */
  bottom: 0;
  width: 12px;          /* thickness of the strip */
background: linear-gradient(
  180deg,
  color-mix(in oklab, var(--pt-accent), #000 15%),
  color-mix(in oklab, var(--pt-accent-deep), #000 15%)
);
}

/* Ensure inner content sits above ribbon */
.pro-tip > * { position: relative; z-index: 3; }

/* Right-aligned variant keeps working */
.pro-tip.is-right {
  padding-inline-start: var(--pt-pad);
  padding-inline-end: calc(var(--pt-pad) + (var(--pt-badge-size) / 2) + 14px);
}
.pro-tip.is-right::before { inset-inline-start: auto; inset-inline-end: 0; transform: translate(50%, -50%); }
.pro-tip.is-right::after  { left: auto; right: 0; }

/* Compact */
.pro-tip.is-compact { --pt-badge-size: 60px; --pt-pad: 1rem; }

@media (max-width: 782px) {
  .pro-tip {
    --pt-badge-size: 58px;
    padding-inline-start: calc(var(--pt-pad) + (var(--pt-badge-size) / 2) + 10px);
  }
}


/* =========================================================
   2) STYLED DEFAULT BLOCKS (core Gutenberg)
   ========================================================= */

/* Shared tokens (inherit from blockquote vars when present) */
:where(.wp-block-post-author) {
  --au-bg: var(--bq-bg, #efefef);
  --au-fg: var(--bq-fg, #000);
  --au-accent: var(--bq-accent, #244A77);
  --au-radius: 18px;
}

/* Post Author block */
.wp-block-post-author {
  position: relative;
  display: flex;
  flex-flow: row;
    column-gap: 0; 
    gap:0;
    justify-content: flex-start;
  align-items: flex-start;
  padding: 20px;
  color: var(--au-fg);
  background:
    linear-gradient(180deg, hsl(0 0% 100% / 0.04), hsl(0 0% 100% / 0)),
    var(--au-bg);
  border-radius: var(--au-radius);
  overflow: hidden;

  margin: 15px 0;
}
.wp-block-post-author .wp-block-post-author__avatar{
    margin:0;
  display: none;
}
.wp-block-post-author .wp-block-post-author__content { flex-basis: 100%; width:100%; }
.wp-block-post-author .wp-block-post-author__byline {
  display:inline;
  margin: 0 10px 0 0;
  font-size: .9rem !important;
  letter-spacing: .02em;
  opacity: .7;
}
.wp-block-post-author .wp-block-post-author__name {
  display:inline;
  margin: 0;
  font-size: .9rem !important;
  font-weight: 800;
  line-height: 1.2;
}
.wp-block-post-author .wp-block-post-author__bio {
  margin: 0;
  font-size: .9rem !important;
  line-height: 1.55;
  opacity: .9;
}
.wp-block-post-author a {
  color: var(--au-accent);
  text-decoration: none;
  border-bottom: 1px solid color-mix(in oklab, var(--au-accent), #fff 60%);
}
.wp-block-post-author a:hover { border-bottom-color: currentColor; }
@media (max-width: 680px) {
  .wp-block-post-author {
    grid-template-columns: 1fr;
    text-align: center;
    padding: calc(var(--au-pad) * .9);
  }
  .wp-block-post-author .wp-block-post-author__avatar { justify-self: center; }
}
/* Inline variant */
.wp-block-post-author.is-style-author-inline {
  --au-gap: .6rem;
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  gap: var(--au-gap);
  background: transparent;
  box-shadow: none;
  padding: .25rem .5rem;
  border-radius: 999px;
}
.wp-block-post-author.is-style-author-inline .wp-block-post-author__avatar img {
  width: 42px; height: 42px; border-radius: 50%;
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--au-accent);
}
.wp-block-post-author.is-style-author-inline .wp-block-post-author__byline,
.wp-block-post-author.is-style-author-inline .wp-block-post-author__bio { display: none; }
.wp-block-post-author__byline{ display:inline-block; }

/* Blockquotes (cardy) */
:where(.wp-block-quote) {
  --bq-bg: var(--wp--preset--color--base, #E6F4FF);
  --bq-fg: var(--wp--preset--color--contrast, #000);
  --bq-accent: var(--wp--preset--color--primary, #4584B6);
  --bq-radius: 18px;
  --bq-pad: clamp(1rem, 2.5vw, 1.5rem);

  position: relative;
  margin: 3em auto 4em!important;
  padding: var(--bq-pad);
  color: var(--bq-fg);
  background:
    linear-gradient(180deg, hsl(0 0% 100% / 0.04), hsl(0 0% 100% / 0)),
    var(--bq-bg);
  border-radius: var(--bq-radius);
  box-shadow:
    inset 0 0 0 1px hsl(0 0% 100% / 0.06),
    0 5px 20px hsl(220 40% 2% / 0.3);
  overflow: hidden;
  isolation: isolate;
}
:where(.wp-block-quote) p {
  font-size: clamp(1.05rem, 1rem + 0.5vw, 1.25rem);
  line-height: 2;
  margin: 0 0 0 0 !important;
}
:where(.wp-block-quote) cite,
:where(.wp-block-quote) footer {
  font-family: 'PT Sans', Arial, sans-serif !important;
  font-style: normal;
  display: block;
  margin-top:0;
  font-size: 0.925rem;
  opacity: 0.75;
}
/* Accent bar + subtle quote mark base */
:where(.wp-block-quote)::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  background: linear-gradient(180deg, var(--bq-accent), color-mix(in oklab, var(--bq-accent), #4584B6 25%));
  border-radius: 6px 0 0 6px;
  box-shadow: 0 10px 30px rgba(2,8,23,.08);
}
/* Align helpers */
.wp-block-quote.has-text-align-right { text-align: right; }
.wp-block-quote.has-text-align-center { text-align: center; }
.wp-block-quote.alignleft,
.wp-block-quote.is-50-left {
  float: left;
  width: min(50%, 42rem);
  margin: 0.5rem 2rem 1.5rem 0;
}
.wp-block-quote.alignright,
.wp-block-quote.is-50-right {
  float: right;
  width: min(50%, 42rem);
  margin: 0.5rem 0 1.5rem 2rem;
}
.wp-block-quote,
.wp-block-quote.aligncenter,
.wp-block-quote.is-full-center {
  float: none;
  clear: both;
  width: 100%;
  max-width: 80%;
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 782px) {
  .wp-block-quote.alignleft,
  .wp-block-quote.alignright,
  .wp-block-quote.is-50-left,
  .wp-block-quote.is-50-right {
    float: none;
    width: 100%;
    margin: 1rem 0;
  }
}
/* Tighten paragraph spacing inside blockquote & pullquote */
.site-container :is(.wp-block-quote, .wp-block-pullquote) p {
  font-family: 'PT Sans', Arial, sans-serif !important;
  font-style: italic;
  margin: 0 0 !important;
  line-height: 2;
}
/* No extra gap on the last paragraph */
.site-container :is(.wp-block-quote, .wp-block-pullquote) p:last-child { margin-bottom: 0; }
/* Optional: author/citation spacing */
.site-container .wp-block-quote cite,
.site-container .wp-block-quote footer {
  display: block;
  margin-top: 0.75rem;
  opacity: .8;
  font-style: normal;
  font-size: .95em;
}
/* Circular quote badge */
.site-container :is(.wp-block-quote, .wp-block-pullquote) {
  --bq-badge-bg: linear-gradient(135deg, #4584b6 0%, #3a6fa0 50%, #244A77 100%);
  --bq-badge-size: 80px;
  --bq-pad: 1.5rem;
  padding-inline-start: calc(var(--bq-pad) + (var(--bq-badge-size) / 3) + 12px);
  position: relative;
  overflow: visible;
}
.site-container :is(.wp-block-quote, .wp-block-pullquote)::before {
  background: var(--bq-badge-bg, var(--bq-accent, #244A77));
}
.site-container :is(.wp-block-quote, .wp-block-pullquote)::before {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0;
  transform: translate(-50%, -50%);
  width: var(--bq-badge-size);
  height: var(--bq-badge-size);
  border-radius: 50%;
  background: var(--bq-badge-bg);
  border: 3px solid #efefef;
  box-shadow: 0 10px 30px rgba(2,8,23,0.30);
  z-index: 1;
}
.site-container :is(.wp-block-quote, .wp-block-pullquote)::after {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0;
  transform: translate(-50%, -50%) rotate(180deg);
  width: var(--bq-badge-size);
  height: var(--bq-badge-size);
  z-index: 2;
  background:
    center/82% no-repeat
    url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='%23efefef'>\
<path d='M24 18c-6 0-10 4-10 10 0 5 4 9 9 9-1 6-5 10-11 12l2 7c12-4 18-14 18-26 0-7-3-12-8-12zm26 0c-6 0-10 4-10 10 0 5 4 9 9 9-1 6-5 10-11 12l2 7c12-4 18-14 18-26 0-7-3-12-8-12z'/>\
</svg>");
}
.site-container :is(.wp-block-quote, .wp-block-pullquote).has-text-align-right::before,
.site-container :is(.wp-block-quote, .wp-block-pullquote).alignright::before,
.site-container :is(.wp-block-quote, .wp-block-pullquote).is-50-right::before,
.site-container :is(.wp-block-quote, .wp-block-pullquote).has-text-align-right::after,
.site-container :is(.wp-block-quote, .wp-block-pullquote).alignright::after,
.site-container :is(.wp-block-quote, .wp-block-pullquote).is-50-right::after {
  inset-inline-start: auto;
  inset-inline-end: 0;
  transform: translate(50%, -50%) rotate(180deg);
}
@media (max-width: 782px) {
  .site-container :is(.wp-block-quote, .wp-block-pullquote) {
    --bq-badge-size: 58px;
    padding-inline-start: calc(var(--bq-pad, 1.25rem) + (var(--bq-badge-size) / 2) + 12px);
  }
}

/* Tables (borderless with bottom dividers) */
.single-post {
  --tbl-row-divider: color-mix(in oklab, var(--bq-accent, #244A77), #fff 86%);
  --tbl-row-divider-strong: color-mix(in oklab, var(--bq-accent, #244A77), #000 22%);
}
.single-post :where(.wp-block-table, .table-scroll) {
  border: none !important;
  box-shadow: inset 0 0 0 1px hsl(0 0% 100% / .06);
  border-radius: 18px;
  overflow: hidden;
  padding: .25rem;
    margin-bottom: 2em;
}
.single-post :where(.wp-block-table table, .table-scroll table, table.wp-block-table) {
  border-collapse: separate;
  border-spacing: 0;
}
.single-post :where(th, td) { border: 0 !important; }
.single-post :where(thead th) {
  border-bottom: 2px solid var(--tbl-row-divider-strong) !important;
}
.single-post :where(tbody tr td) {
  border-bottom: 1px solid var(--tbl-row-divider) !important;
}
.single-post :where(tbody tr td + td),
.single-post :where(thead tr th + th) {
  border-left: none !important;
}
.single-post :where(tbody tr:last-child td) {
  border-bottom: none !important;
}
@media (hover:hover) {
  .single-post :where(tbody tr:hover td) {
    background: color-mix(in oklab, var(--bq-accent, #244A77), #fff 94%);
  }
}
.single-post :where(.is-bordered td, .is-bordered th),
.single-post :where(.is-grid td, .is-grid th) {
  border: 0 !important;
}

/* Lists (simple modern lists, scoped to posts) */
.single-post {
  --post-fg: var(--bq-fg, #111);
  --post-accent: var(--bq-accent, #244A77);
}
.single-post .wp-block-list,
.single-post .wp-block-list ul,
.single-post .wp-block-list ol {
  margin: 0 0 1.1rem;
  padding-left: 1.15rem;
  color: var(--post-fg);
  line-height: 1.65;
  font-size: clamp(.98rem, .95rem + .2vw, 1.05rem);
  list-style-position: outside;
}
.single-post .wp-block-list li { margin: 0 0 .5rem; }
.single-post .wp-block-list li:last-child { margin-bottom: 0; }
.single-post .wp-block-list li > ul,
.single-post .wp-block-list li > ol {
  margin-top: .35rem;
  font-size: .96em;
}
.single-post .wp-block-list li::marker { color: var(--post-accent); }
.single-post .wp-block-list ul li::marker { font-size: 1.1em; }
.single-post .wp-block-list ol li::marker { font-weight: 700; }
.single-post .wp-block-list a {
  color: var(--post-accent);
  text-decoration: none;
  border-bottom: 1px solid color-mix(in oklab, var(--post-accent), #fff 60%);
}
.single-post .wp-block-list a:hover { border-bottom-color: currentColor; }

/* =========================================================
   3) RANK MATH (FAQ + TOC)
   ========================================================= */

/* FAQ tokens */
:where(.rank-math-list, .faq-single-block) {
  --faq-bg: var(--bq-bg, #AFCCE8);
  --faq-fg: var(--bq-fg, #000);
  --faq-accent: var(--bq-accent, #244A77);
  --faq-muted: #4584B6;
  --faq-radius: 18px;
  --faq-pad: clamp(1rem, 2vw, 1.5rem);
  --faq-badge-size: 50px;
  --faq-gap: 25px;
}

/* FAQ single card (modern) */
.faq-single-block {
  position: relative;
  padding: var(--faq-pad);
  border-radius: var(--faq-radius);
  color: var(--faq-fg);
  background:
    linear-gradient(180deg, hsl(0 0% 100% / .04), hsl(0 0% 100% / 0)),
    var(--faq-bg);
  box-shadow:
    inset 0 0 0 1px hsl(0 0% 100% / .06),
    0 5px 20px hsl(220 40% 2% / .30);
  isolation: isolate;
  overflow: visible;
  max-width: 90%;
  margin:0 auto;
}

/* Rank Math list fallbacks */
.rank-math-list:not(.faq-list) > .rank-math-list-item:only-child {
  margin:0 auto;
  padding: 0;
  border-bottom: none;
}

/* Q/A badges */
.rank-math-question,
.rank-math-answer {
  position: relative;
  padding-inline-start: calc(var(--faq-badge-size) / 2 + 20px);
}
.faq-single-block .rank-math-question {
  margin: 0 0 .5rem;
  font-weight: 800;
  line-height: 1.25;
    text-transform: capitalize;
}
.rank-math-list.faq-list .rank-math-question {
  margin: 25px 0 .5rem;
  font-weight: 800;
  line-height: 1.25;
    text-transform: capitalize;
}
.rank-math-answer {
  margin: 0;
  padding-block: .25rem 0;
  color: inherit;
}
.rank-math-question::before,
.rank-math-answer::before {
  content: attr(data-badge);
  position: absolute;
  inset-block-start: .1rem;
  inset-inline-start: 0;
  transform: translate(-30%, -15%);
  display: grid;
  place-items: center;
  width: var(--faq-badge-size);
  height: var(--faq-badge-size);
  border-radius: 50%;
  font: 900 1.5rem/1 system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
  letter-spacing: .02em;
  box-shadow: 0 10px 18px rgba(0,0,0,.18);
  pointer-events: none;
  border:3px solid #fff;
}
.rank-math-question::before {
  content: "Q";
  background: var(--faq-accent);
  color: #fff;
  transform: translate(-70%, -20%);
}
.rank-math-answer::before {
  content: "A";
  background: var(--faq-muted);
  color: #fff;
}
@media (max-width: 680px) {
  :where(.rank-math-list, .faq-single-block) { --faq-badge-size: 50px; }
}

/* FAQ list mode */
.rank-math-list.faq-list {
  border-radius: var(--faq-radius);
  background:
    linear-gradient(180deg, hsl(0 0% 100% / .04), hsl(0 0% 100% / 0)),
    var(--faq-bg);
  box-shadow:
    inset 0 0 0 1px hsl(0 0% 100% / .06),
    0 8px 28px hsl(220 40% 2% / .2);
  padding: var(--faq-pad);
  overflow: visible;
}
.rank-math-list.faq-list .rank-math-list-item {
  padding-block: calc(var(--faq-gap) * .75);
}
.rank-math-list-item {
  margin-top: 25px;
  margin-bottom: 25px;
  padding-bottom: 20px;
  border-bottom: 1px solid #4584b6;
}
.rank-math-list.faq-list .rank-math-list-item + .rank-math-list-item {
  border-top: 1px dashed color-mix(in oklab, var(--faq-accent), #fff 70%);
  margin-top: var(--faq-gap);
  margin-bottom: var(--faq-gap);
  padding-top: var(--faq-gap);
}

/* FAQ answer typography/links */
.rank-math-answer p { margin: .35rem 0; line-height: 1.6; }
.rank-math-answer a {
  color: var(--faq-accent);
  text-decoration: none;
  border-bottom: 1px solid color-mix(in oklab, var(--faq-accent), #fff 60%);
}
.rank-math-answer a:hover { border-bottom-color: currentColor; }

/* Compact variant */
.faq-compact .rank-math-question,
.faq-compact .rank-math-answer {
  padding-inline-start: calc(var(--faq-badge-size) / 2 + 10px);
}
.faq-compact { --faq-pad: 1rem; --faq-gap: .75rem; --faq-badge-size: 34px; }

/* Rank Math TOC (clean 2-column card) */
.wp-block-rank-math-toc-block {
  --toc-bg: var(--bq-bg, #efefef);
  --toc-fg: var(--bq-fg, #111);
  --toc-accent: var(--bq-accent, #244A77);
  --toc-radius: 18px;
  --toc-pad: clamp(1.25rem, 2vw, 1.5rem);

  position: relative;
  margin: 2rem 0;
  padding: var(--toc-pad);
  color: var(--toc-fg);
  background:
    linear-gradient(180deg, hsl(0 0% 100% / .04), hsl(0 0% 100% / 0)),
    var(--toc-bg);
  border-radius: var(--toc-radius);
}
.wp-block-rank-math-toc-block > h2 {
  margin: 0 0 .85rem;
  font-size: clamp(1.05rem, .95rem + .4vw, 1.25rem);
  font-weight: 800;
  letter-spacing: .01em;
  text-transform: capitalize;
  color: color-mix(in oklab, var(--toc-accent), #000 15%);
}
.wp-block-rank-math-toc-block nav { padding-inline-start: .5rem; }
.wp-block-rank-math-toc-block nav ul {
  list-style: disc outside;
  margin: 0;
  padding-left: .5rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1rem;
  row-gap: .4rem;
}
.wp-block-rank-math-toc-block nav li {
  margin: 0;
  padding-left: .6rem;
  line-height: 1.5;
  break-inside: avoid;
}
.wp-block-rank-math-toc-block nav li::marker {
  color: var(--toc-accent);
  font-size: .9em;
}
.wp-block-rank-math-toc-block nav a {
  color: var(--toc-fg);
  text-decoration: none;
  border-bottom: 1px solid color-mix(in oklab, var(--toc-accent), #fff 60%);
  transition: color .15s ease, border-color .15s ease;
  overflow-wrap: anywhere;
}
.wp-block-rank-math-toc-block nav a:hover {
    font-weight: bold;
  color: var(--toc-accent);
  border-bottom-color: currentColor;
}
.wp-block-rank-math-toc-block nav li > ul {
  margin-top: .3rem;
  padding-left: .75rem;
  list-style: circle outside;
  font-size: .95em;
}
@media (max-width: 720px) {
  .wp-block-rank-math-toc-block nav ul { grid-template-columns: 1fr; }
}
.wp-block-rank-math-toc-block.is-sticky { position: sticky; top: 1rem; }
