/* Wit & Folly Article Template v1.1 — WordPress port (article-wp.css) 1.1.0-stg.8.2
   Canonical: Wit-Folly-Article-Template-v1.1/source/article.css, remapped from prototype classes
   (.a-head/.a-title/.a-meta/.a-hero/.a-body/.prose) onto GeneratePress single-post markup.
   Loaded ONLY when the MU plugin gate passes (is_singular('post'), not front page). Every rule is
   scoped to body.wf-v11 so nothing here can leak to other templates.
   Layout rule: CSS grid with sparse auto-flow and NO `order`; visual order == DOM order. */

body.wf-v11{--measure:680px;--breakout:1000px;--wide:1240px;--body-size:19px;--wf-mv-reserve:0px;background:var(--bone)}

/* ---- §7.3 overflow fix: gutter on the body too (the pilot's `body.postid-4550 :root` never matched) ---- */
@media (max-width:1180px){body.wf-v11{--gutter:32px}}
@media (max-width:767px){body.wf-v11{--gutter:20px;--body-size:17px}}

/* ---- neutralise GP containers on singles (no !important needed: these out-rank GP's inline CSS) ---- */
body.wf-v11 #page,
body.wf-v11 .site.grid-container,
body.wf-v11 .site-content,
body.wf-v11 #content,
body.wf-v11 .content-area,
body.wf-v11 .site-main,
body.wf-v11 article.post,
body.wf-v11 .inside-article{display:block;max-width:none;width:auto;margin:0;padding:0;background:transparent;box-shadow:none;border:0;float:none}
body.wf-v11 .site-main>*{margin-bottom:0}
/* GP chrome is removed server-side; these are belt-and-braces only (unknown GP Premium module output). */
body.wf-v11 #masthead,
body.wf-v11 #site-navigation,
body.wf-v11 #sticky-navigation,
body.wf-v11 #mobile-header,
body.wf-v11 .main-navigation:not(.wf-d),
body.wf-v11 .slideout-navigation,
body.wf-v11 .slideout-overlay,
body.wf-v11 .top-bar,
body.wf-v11 .site-header:not(.wf-d),
body.wf-v11 .site-footer:not(.wf-d),
body.wf-v11 .wf-gp-footer-retired,
body.wf-v11 #footer-widgets,
body.wf-v11 .site-info,
body.wf-v11 .inside-article>footer.entry-meta,
body.wf-v11 .inside-article>.featured-image:not(.wf-hero),
body.wf-v11 .page-header-image-single:not(.wf-hero),
body.wf-v11 #nav-below,
body.wf-v11 #right-sidebar,
body.wf-v11 #left-sidebar{display:none}
body.wf-v11 .site-header.wf-d{background:transparent}

/* skip link (visible on focus) + focus ring */
body.wf-v11 .wf-skip:focus{position:fixed;left:12px;top:12px;width:auto;height:auto;clip:auto;z-index:100;background:var(--ink);color:var(--bone);padding:10px 14px;font:600 14px var(--sans)}
body.wf-v11 a:focus-visible,body.wf-v11 button:focus-visible,body.wf-v11 input:focus-visible,body.wf-v11 textarea:focus-visible{outline:2px solid var(--link-hover);outline-offset:2px}

/* progress bar (renamed from .progress to avoid plugin collisions) */
body.wf-v11 .wf-progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--pine);z-index:60;transition:width .15s linear}
body.admin-bar.wf-v11 .wf-progress{top:32px}
@media (max-width:782px){body.admin-bar.wf-v11 .wf-progress{top:46px}}

/* D footer: legal row (G2) + Mediavine sticky reserve (G12, live only; set --wf-mv-reserve if needed) */
body.wf-v11 .site-footer.wf-d{padding-bottom:calc(44px + var(--wf-mv-reserve))}
body.wf-v11 .wf-legal{display:flex;gap:10px;margin-top:14px;font:12px var(--sans);color:#9a948a}
body.wf-v11 .wf-legal a{color:#9a948a}
body.wf-v11 .wf-legal a:hover{color:var(--butter)}

/* fix pass 2: label colour #6b6557 (5.14:1 on bone #f4f1ea, 5.5:1 on paper #fbf9f2; was #a39b86 at 2.45:1) */
body.wf-v11{--label:#6b6557}

/* ================= article header (GP .entry-header restyled as .a-head) ================= */
body.wf-v11 .inside-article>.entry-header{max-width:var(--wide);margin:0 auto;padding:36px var(--gutter) 0}
body.wf-v11 .a-crumb{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;font:600 11px/1.5 var(--sans);letter-spacing:.16em;color:var(--label);text-transform:uppercase}
body.wf-v11 .a-crumb a{color:var(--label)}
body.wf-v11 .a-crumb a:hover{color:var(--link-hover)}
body.wf-v11 .a-crumb .sep{color:var(--hair)}
body.wf-v11 .entry-header .entry-title{max-width:22ch;margin:22px 0 0;font:500 64px/1.04 var(--serif);letter-spacing:-.015em;text-wrap:pretty;color:var(--ink);text-transform:none}
body.wf-v11 .a-dek{max-width:52ch;margin:22px 0 0;font:italic 300 23px/1.4 var(--serif);color:var(--muted-2);text-wrap:pretty}
body.wf-v11 .entry-header .a-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:30px;font:400 13px/1.5 var(--sans);color:var(--muted);letter-spacing:.02em}
body.wf-v11 .a-meta b{font-weight:600;color:var(--ink)}
body.wf-v11 .a-meta a{color:inherit;text-decoration:none}
body.wf-v11 .a-meta .dot{color:var(--hair)}
body.wf-v11 .a-meta time{display:inline}
body.wf-v11 .a-meta .sr time{display:inline}

/* ================= hero (GP featured image re-rendered after the header) ================= */
body.wf-v11 .inside-article .a-hero.wf-hero{max-width:var(--wide);margin:40px auto 0;padding:0 var(--gutter);line-height:normal}
body.wf-v11 .a-hero .frame{position:relative;overflow:hidden;background:#e9e4d8}
body.wf-v11 .a-hero.is-crop .frame{height:640px}
body.wf-v11 .a-hero.is-crop .frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 7s ease}
body.wf-v11 .a-hero.is-crop:hover .frame img{transform:scale(1.03)}
/* G6: small / portrait / text covers: native ratio, centred at intrinsic width (max 900), never upscaled or cropped */
body.wf-v11 .a-hero.is-native .frame{max-width:min(100%,var(--wf-hero-w,900px));margin:0 auto;background:transparent}
body.wf-v11 .a-hero.is-native .frame img{width:100%;height:auto}
body.wf-v11 .a-hero.is-native figcaption{max-width:min(100%,var(--wf-hero-w,900px));margin-left:auto;margin-right:auto}
body.wf-v11 .a-hero figcaption{margin-top:12px}
body.wf-v11 figcaption,
body.wf-v11 .wp-caption-text,
body.wf-v11 .wp-element-caption,
body.wf-v11 .blocks-gallery-caption,
body.wf-v11 .gallery-caption{font:italic 14px/1.45 var(--serif);color:var(--muted);text-align:left;margin:12px 0 0;padding:0;background:none;position:static}
body.wf-v11 figcaption .credit{font-style:normal;font-family:var(--sans);font-size:11px;letter-spacing:.08em;color:var(--label);margin-left:10px;text-transform:uppercase}

/* ================= body: .entry-content is the 12-col .a-body grid ================= */
body.wf-v11 .entry-content{max-width:var(--wide);margin:64px auto 0;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row;column-gap:24px;
  font:400 var(--body-size)/1.65 var(--serif);color:var(--ink);overflow-wrap:anywhere}
body.wf-v11 .entry-content>*{grid-column:4/10;min-width:0;max-width:100%;margin:0}
/* breakout 3–11 */
body.wf-v11 .entry-content>:is(.breakout,.alignwide,.wp-block-gallery,.gallery,.wp-block-embed,.wf-table-scroll,.wp-block-table,.wp-block-columns,.ninja_table_wrapper,.wp-block-pullquote,.pull,.wf-land){grid-column:3/11}
/* full 1–13 */
body.wf-v11 .entry-content>:is(.full,.alignfull){grid-column:1/13}
/* authored margin note (only true side-by-side placement; sits in the same row as the next item, order unchanged) */
body.wf-v11 .entry-content>:is(.note-l,.margin-note){grid-column:1/4}
/* G10 + G12 product boxes and ad slots stay in prose column, in source order, normal flow */
body.wf-v11 .entry-content>:is([class*="mv-ad"],[id*="mediavine"],[class*="mediavine"],.adthrive,.aawp,[class*="atkp"]){grid-column:4/10;width:100%}

/* --- vertical rhythm: grid items don't collapse margins, so emulate v1.1's collapsed spacing --- */
body.wf-v11 .entry-content>*+*{margin-top:1.35em}
body.wf-v11 .entry-content>h2{margin-top:72px}
body.wf-v11 .entry-content>h2+*{margin-top:22px}
body.wf-v11 .entry-content>:is(h3,h4){margin-top:52px}
body.wf-v11 .entry-content>:is(h3,h4)+*{margin-top:14px}
body.wf-v11 .entry-content>:is(figure,.wp-block-image,.wp-block-gallery,.gallery,.wp-block-embed,.wp-caption,.wp-block-table,.wf-table-scroll,.wp-block-columns,.ninja_table_wrapper,.ntb_table_wrapper,.ninja_tables_wrapper,.wp-block-video,.wf-fig,.tiled-gallery,.wp-block-jetpack-tiled-gallery){margin-top:44px}
body.wf-v11 .entry-content>:is(figure,.wp-block-image,.wp-block-gallery,.gallery,.wp-block-embed,.wp-caption,.wp-block-table,.wf-table-scroll,.wp-block-columns,.ninja_table_wrapper,.ntb_table_wrapper,.ninja_tables_wrapper,.wp-block-video,.wf-fig,.tiled-gallery,.wp-block-jetpack-tiled-gallery)+*{margin-top:44px}
body.wf-v11 .entry-content>:is(.field-note)+*,body.wf-v11 .entry-content>.field-note{margin-top:48px}
body.wf-v11 .entry-content>:is(.pull,.wp-block-pullquote),body.wf-v11 .entry-content>:is(.pull,.wp-block-pullquote)+*{margin-top:64px}
body.wf-v11 .entry-content>.verdict,body.wf-v11 .entry-content>.verdict+*{margin-top:56px}
body.wf-v11 .entry-content>hr,body.wf-v11 .entry-content>hr+*{margin-top:56px}
body.wf-v11 .entry-content>.wf-disclosure,body.wf-v11 .entry-content>.wf-disclosure+*{margin-top:28px}
body.wf-v11 .entry-content>:first-child{margin-top:0}
body.wf-v11 .entry-content>.wp-block-spacer{max-height:56px;margin-top:0}
body.wf-v11 .entry-content>.wp-block-spacer+*{margin-top:0}
body.wf-v11 .entry-content>.note-l+*{margin-top:0}

/* --- prose typography (v1.1 .prose) --- */
body.wf-v11 .entry-content p{margin-bottom:0;text-wrap:pretty}
body.wf-v11 .entry-content p.lead{font-size:23px;line-height:1.5;color:var(--muted-2)}
body.wf-v11 .entry-content :is(p,li,td,dd,blockquote,figcaption,h2,h3,h4,.wp-caption-text) a:not(.wp-block-button__link):not([class*="atkp"]):not([class*="aawp"]){color:var(--ink);text-decoration:underline;text-decoration-color:#cfc8b6;text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .2s,color .2s}
body.wf-v11 .entry-content :is(p,li,td,dd,blockquote,figcaption,h2,h3,h4,.wp-caption-text) a:not(.wp-block-button__link):not([class*="atkp"]):not([class*="aawp"]):hover{color:var(--link-hover);text-decoration-color:var(--link-hover)}
/* G13: spec heading styles; inline style="" attributes still win as authored; no auto .n/.num */
body.wf-v11 .entry-content h2{margin-bottom:0;font:500 34px/1.15 var(--serif);letter-spacing:-.01em;text-wrap:pretty;color:var(--ink);text-transform:none}
body.wf-v11 .entry-content h2 .n{display:block;font:600 11px var(--sans);letter-spacing:.18em;color:var(--label);margin-bottom:12px;text-transform:uppercase}
body.wf-v11 .entry-content :is(h3,h4){margin-bottom:0;font:700 21px/1.3 var(--sans);letter-spacing:-.01em;color:var(--ink);text-transform:none}
body.wf-v11 .entry-content h4{font-size:18px}
body.wf-v11 .entry-content h3 .num{color:var(--hand);font-weight:500;margin-right:10px;font-family:var(--serif);font-style:italic;font-size:22px}
body.wf-v11 .entry-content strong,body.wf-v11 .entry-content b{font-weight:600}
body.wf-v11 .entry-content>:is(ul,ol):not([class*="gallery"]):not(.wp-block-social-links),
body.wf-v11 .entry-content>:is(ul,ol):not([class*="gallery"]) :is(ul,ol){padding-left:0;list-style:none;margin-bottom:0}
body.wf-v11 .entry-content>:is(ul,ol):not([class*="gallery"]) :is(ul,ol){margin-top:.5em}
body.wf-v11 .entry-content>:is(ul,ol):not([class*="gallery"]):not(.wp-block-social-links) li{position:relative;padding-left:26px;margin:0 0 .5em}
body.wf-v11 .entry-content>ul:not([class*="gallery"]):not(.wp-block-social-links) li::before,
body.wf-v11 .entry-content>ol:not([class*="gallery"]) ul li::before{content:"";position:absolute;left:0;top:.78em;width:12px;height:1px;background:var(--hand)}
body.wf-v11 .entry-content>ol:not([class*="gallery"]){counter-reset:li}
body.wf-v11 .entry-content>ol:not([class*="gallery"])>li::before{counter-increment:li;content:counter(li);position:absolute;left:0;top:.1em;font:italic 500 17px var(--serif);color:var(--hand)}
body.wf-v11 .entry-content>ol[start]{counter-reset:none}
body.wf-v11 .entry-content hr{border:0;height:1px;background:var(--hair)}
body.wf-v11 .entry-content .aside-q{font:italic 21px/1.5 var(--serif);color:var(--muted-2)}
body.wf-v11 .entry-content pre{overflow-x:auto;max-width:100%;font-size:14px;white-space:pre-wrap}
body.wf-v11 .entry-content code{font-size:.85em;overflow-wrap:anywhere}

/* ================= images (native ratio by default; never upscaled) ================= */
body.wf-v11 .entry-content img{display:block;max-width:100%;height:auto}
body.wf-v11 .entry-content :is(figure,.wp-block-image,.wp-caption) img{margin-left:auto;margin-right:auto}
body.wf-v11 .entry-content>p>img,body.wf-v11 .entry-content>p>a>img{margin-left:auto;margin-right:auto}  /* G7 classic <p><img> */
body.wf-v11 .entry-content p>img+br,body.wf-v11 .entry-content p>a:has(>img)+br{display:none}
body.wf-v11 .entry-content .wp-block-image figure,body.wf-v11 .entry-content .wp-block-image .aligncenter{margin:0 auto;display:block}
body.wf-v11 .entry-content .wp-caption{max-width:100%!important} /* classic [caption] prints inline width */
body.wf-v11 .entry-content :is(.alignleft,.alignright){float:none;margin-left:auto;margin-right:auto}
body.wf-v11 .entry-content p :is(img.alignleft){float:left;margin:4px 20px 12px 0}
body.wf-v11 .entry-content p :is(img.alignright){float:right;margin:4px 0 12px 20px}
body.wf-v11 .entry-content .wp-block-image.alignwide img,body.wf-v11 .entry-content .wp-block-image.alignfull img,body.wf-v11 .entry-content .full img{width:100%}
body.wf-v11 .entry-content .fig-frame{position:relative;overflow:hidden;background:#e9e4d8}
/* fix pass 2: single landscape image blocks (server class wf-land: ratio >= 1.3, >= 900px intrinsic) fill the breakout track */
body.wf-v11 .entry-content>.wf-land img{width:100%;height:auto}
body.wf-v11 .entry-content>.wf-land.wp-caption{width:auto!important}
/* fix pass 2: first content image that repeats the featured image (server class wf-dup-hero); display only, node kept */
body.wf-v11 .entry-content .wf-dup-hero{display:none!important}
body.wf-v11 .entry-content .fig-frame img{width:100%;height:auto}

/* ================= galleries (block-driven, not heuristics) ================= */
/* core gallery uses flex + width:calc() with an ID in :not() — override width/flex only */
body.wf-v11 .entry-content .wp-block-gallery.has-nested-images,
body.wf-v11 .entry-content .wp-block-gallery .blocks-gallery-grid,
body.wf-v11 .entry-content .gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;margin-left:0;margin-right:0;padding:0;list-style:none}
body.wf-v11 .entry-content .wp-block-gallery.has-nested-images>figure.wp-block-image,
body.wf-v11 .entry-content .wp-block-gallery .blocks-gallery-item,
body.wf-v11 .entry-content .gallery .gallery-item{width:auto!important;max-width:none!important;flex:none!important;margin:0!important;position:relative;overflow:hidden;background:#e9e4d8;aspect-ratio:3/2;padding:0}
body.wf-v11 .entry-content .wp-block-gallery .blocks-gallery-item::before{content:none}
body.wf-v11 .entry-content .wp-block-gallery figure.wp-block-image img,
body.wf-v11 .entry-content .wp-block-gallery .blocks-gallery-item img,
body.wf-v11 .entry-content .gallery .gallery-item img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;max-width:none}
body.wf-v11 .entry-content .gallery .gallery-item :is(.gallery-icon,a){display:block;height:100%}
body.wf-v11 .entry-content .wp-block-gallery figure.wp-block-image figcaption{display:none} /* per-image overlay captions are hidden; gallery caption stays */
body.wf-v11 .entry-content .wp-block-gallery>.blocks-gallery-caption,body.wf-v11 .entry-content .gallery>br{grid-column:1/-1}
body.wf-v11 .entry-content .gallery>br{display:none}
/* columns-1: stacked, native ratio */
body.wf-v11 .entry-content :is(.wp-block-gallery.columns-1,.gallery-columns-1){grid-template-columns:1fr}
body.wf-v11 .entry-content :is(.wp-block-gallery.columns-1,.gallery-columns-1) :is(figure.wp-block-image,.gallery-item,.blocks-gallery-item){aspect-ratio:auto;background:none}
body.wf-v11 .entry-content :is(.wp-block-gallery.columns-1,.gallery-columns-1) :is(figure.wp-block-image,.gallery-item,.blocks-gallery-item) img{position:static;height:auto!important}
/* trio: columns-3 gallery with exactly 3 images -> 5fr/4fr, first tall 780, others 380 */
body.wf-v11 .entry-content .wp-block-gallery.columns-3:has(>figure.wp-block-image:nth-of-type(3)):not(:has(>figure.wp-block-image:nth-of-type(4))){grid-template-columns:5fr 4fr}
body.wf-v11 .entry-content .wp-block-gallery.columns-3:has(>figure.wp-block-image:nth-of-type(3)):not(:has(>figure.wp-block-image:nth-of-type(4)))>figure.wp-block-image{aspect-ratio:auto;height:380px}
body.wf-v11 .entry-content .wp-block-gallery.columns-3:has(>figure.wp-block-image:nth-of-type(3)):not(:has(>figure.wp-block-image:nth-of-type(4)))>figure.wp-block-image:first-of-type{grid-row:1/3;height:780px}

/* ================= G5 disclosures (class added display-only; text untouched, stays in place) ================= */
body.wf-v11 .entry-content .wf-disclosure{font:14px/1.5 var(--sans);color:var(--muted);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:16px 0}
body.wf-v11 .entry-content .wf-disclosure :is(em,i){font-style:normal}

/* ================= G8 tables ================= */
body.wf-v11 .entry-content :is(.wf-table-scroll,.wp-block-table,.ninja_table_wrapper,.ntb_table_wrapper,.ninja_tables_wrapper){overflow-x:auto;-webkit-overflow-scrolling:touch}
body.wf-v11 .entry-content table{width:100%;border-collapse:collapse;border:0;font:14px/1.45 var(--sans);color:var(--ink);margin:0}
body.wf-v11 .entry-content :is(th,td){padding:10px 14px;border:0;border-bottom:1px solid var(--hair);text-align:left;vertical-align:top;background:none}
body.wf-v11 .entry-content th{font:600 11px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--label)}
body.wf-v11 .entry-content :is(tbody tr,tr) td:first-child{font-weight:600}
body.wf-v11 .entry-content tr:nth-child(odd) td{background:none}
body.wf-v11 .entry-content>table{display:block;overflow-x:auto;grid-column:3/11}

/* ================= G9 buttons (hrefs + rel untouched) ================= */
body.wf-v11 .entry-content .wp-block-buttons{gap:12px}
body.wf-v11 .entry-content .wp-block-button__link{background:var(--ink)!important;color:var(--bone)!important;border-radius:0!important;font:600 15px/1.3 var(--sans)!important;padding:12px 22px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;transition:background .2s}
body.wf-v11 .entry-content .wp-block-button__link:hover{background:var(--link-hover)!important;color:var(--bone)!important}
body.wf-v11 .entry-content .wp-block-button.is-style-outline .wp-block-button__link{background:transparent!important;color:var(--ink)!important;border:1px solid var(--ink)}

/* ================= G10 product boxes (plugin markup + CTA kept; width + face only) ================= */
body.wf-v11 .entry-content>:is(.aawp,[class*="atkp-container"],.atkp-box){font-family:var(--sans);border:1px solid var(--hair);background:var(--paper);padding:16px}
body.wf-v11 .entry-content :is(.aawp,[class*="atkp"]) img{display:inline-block;height:auto}

/* ================= G11 embeds ================= */
body.wf-v11 .entry-content .wp-block-embed iframe{width:100%;max-width:100%}
body.wf-v11 .entry-content .wp-block-embed:not(.wp-has-aspect-ratio) iframe:is([src*="youtube"],[src*="vimeo"],[nitro-og-src*="youtube"],[data-src*="youtube"]){height:auto;aspect-ratio:16/9}
body.wf-v11 .entry-content>p>iframe:is([src*="youtube"],[src*="vimeo"],[nitro-og-src*="youtube"],[data-src*="youtube"]),
body.wf-v11 .entry-content>iframe:is([src*="youtube"],[src*="vimeo"],[nitro-og-src*="youtube"],[data-src*="youtube"]){display:block;width:100%;height:auto;aspect-ratio:16/9}
body.wf-v11 .entry-content iframe{max-width:100%}
body.wf-v11 .entry-content video{width:100%;height:auto}

/* ================= G14 columns / quote ================= */
body.wf-v11 .entry-content .wp-block-columns{gap:24px;margin-bottom:0}
body.wf-v11 .entry-content .wp-block-column>*+*{margin-top:1em}
body.wf-v11 .entry-content .wp-block-column img{max-width:100%;height:auto}
body.wf-v11 .entry-content>:is(blockquote,.wp-block-quote):not(.pull){margin-left:0;margin-right:0;padding:0 0 0 24px;border-left:1px solid var(--hair);font:italic 25px/1.4 var(--serif);color:var(--ink);background:none}
body.wf-v11 .entry-content>:is(blockquote,.wp-block-quote):not(.pull) p{margin:0 0 .6em}
body.wf-v11 .entry-content>:is(blockquote,.wp-block-quote) cite{display:block;font:normal 600 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--label)}
body.wf-v11 .entry-content .wp-block-pullquote{border-top:1px solid var(--ink);border-bottom:1px solid var(--hair);padding:36px 0;text-align:left;margin-left:0;margin-right:0}
body.wf-v11 .entry-content .wp-block-pullquote blockquote{margin:0;padding:0;border:0;font:italic 400 34px/1.3 var(--serif);letter-spacing:-.01em}

/* ================= v1.1 authored components (render exactly as v1 when present) ================= */
body.wf-v11 .entry-content .field-note{background:var(--paper);border:1px solid var(--hair);padding:28px 30px;box-shadow:0 16px 36px rgba(27,26,22,.06)}
body.wf-v11 .entry-content .field-note .k{font:600 11px var(--sans);letter-spacing:.18em;color:var(--label);text-transform:uppercase}
body.wf-v11 .entry-content .field-note h4{margin:10px 0 18px;font:500 26px/1.2 var(--serif)}
body.wf-v11 .entry-content .field-note dl{display:grid;grid-template-columns:max-content 1fr;gap:10px 28px;margin:0;font:16px/1.45 var(--serif)}
body.wf-v11 .entry-content .field-note dt{color:var(--muted);font-style:italic;font-weight:400}
body.wf-v11 .entry-content .field-note dd{margin:0}
body.wf-v11 .entry-content .field-note .foot{margin:18px 0 0;font:14px/1.5 var(--sans);color:var(--muted)}
body.wf-v11 .entry-content .pull{padding:36px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--hair);font:italic 400 34px/1.3 var(--serif);letter-spacing:-.01em;text-wrap:balance}
body.wf-v11 .entry-content .pull span{display:block;color:var(--muted-2)}
body.wf-v11 .entry-content .margin-note{align-self:start;position:sticky;top:110px;padding-right:12px;font:22px/1.25 var(--hand-font);color:var(--hand);transform:rotate(-2deg);max-width:200px}
body.wf-v11 .entry-content .margin-note small{display:block;font:italic 13px var(--serif);color:var(--muted);margin-top:6px;transform:none}
body.wf-v11 .entry-content .verdict{padding:0 0 0 28px;border-left:1px solid var(--hand)}
body.wf-v11 .entry-content .verdict p{font:italic 22px/1.45 var(--serif);color:var(--ink);margin:0 0 .6em}
body.wf-v11 .entry-content .verdict p:last-child{margin:0}

/* ================= G16 Rank Math TOC / FAQ (schema untouched) ================= */
body.wf-v11 .entry-content :is(.wp-block-rank-math-toc-block,#rank-math-toc){border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:18px 0;font:14px/1.5 var(--sans)}
body.wf-v11 .entry-content :is(.wp-block-rank-math-toc-block,#rank-math-toc) :is(h2,h3,h4,p:first-child){font:600 11px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--label);margin:0 0 10px}
body.wf-v11 .entry-content :is(.wp-block-rank-math-toc-block,#rank-math-toc) :is(ul,ol){list-style:none;padding:0;margin:0}
body.wf-v11 .entry-content :is(.wp-block-rank-math-toc-block,#rank-math-toc) li{padding:0;margin:0 0 6px}
body.wf-v11 .entry-content :is(.wp-block-rank-math-toc-block,#rank-math-toc) li::before{content:none}
body.wf-v11 .entry-content .rank-math-faq-item+.rank-math-faq-item{margin-top:28px}
body.wf-v11 .entry-content .rank-math-question{font:700 21px/1.3 var(--sans);margin:0 0 10px}

/* page-links (<!--nextpage-->) */
body.wf-v11 .entry-content .page-links{font:600 13px var(--sans)}

/* ================= end matter ================= */
body.wf-v11 .a-end{max-width:var(--wide);margin:80px auto 0;padding:0 var(--gutter)}
body.wf-v11 .a-end .row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
body.wf-v11 .filed{grid-column:4/10;display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:baseline;padding:22px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--hair);font:13px/1.5 var(--sans);color:var(--muted)}
body.wf-v11 .filed a{color:var(--ink);border-bottom:1px solid #cfc8b6;padding-bottom:1px;text-decoration:none}
body.wf-v11 .filed a:hover{color:var(--link-hover);border-color:var(--link-hover)}
body.wf-v11 .filed .tags{display:flex;flex-wrap:wrap;gap:8px 16px}
body.wf-v11 .a-end .author{grid-column:4/10;display:flex;gap:22px;align-items:center;padding:34px 0}
body.wf-v11 .a-end .author .pic{width:72px;height:72px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#e9e4d8;position:relative}
body.wf-v11 .a-end .author .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
body.wf-v11 .a-end .author .k{font:600 11px var(--sans);letter-spacing:.18em;color:var(--label);text-transform:uppercase}
body.wf-v11 .a-end .author .name{font:500 22px var(--serif);margin:4px 0 4px}
body.wf-v11 .a-end .author p{margin:0;font:15px/1.5 var(--sans);color:var(--muted-2)}
body.wf-v11 .a-end .author p em{font-family:var(--serif)}

/* ================= G4 comments (kept; restyled; fields/Akismet unchanged) ================= */
body.wf-v11 .comments-area{max-width:var(--wide);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;background:transparent}
body.wf-v11 .comments-area>*{grid-column:4/10;min-width:0}
body.wf-v11 #comments{font-family:var(--sans);color:var(--ink);padding:24px 0 0}
body.wf-v11 #comments .comments-title{font:500 34px/1.15 var(--serif);letter-spacing:-.01em;margin:24px 0 22px}
body.wf-v11 #comments .comment-list,body.wf-v11 #comments .children{list-style:none;margin:0;padding:0}
body.wf-v11 #comments .children{margin-left:26px;padding-left:20px;border-left:1px solid var(--hair)}
body.wf-v11 #comments .comment{margin:0;padding:0;border:0}
body.wf-v11 #comments .comment-body{padding:22px 0;border-bottom:1px solid var(--hair);margin:0;background:none}
body.wf-v11 #comments .comment-meta{display:flex;gap:12px;align-items:center;margin:0 0 10px}
body.wf-v11 #comments .comment-meta .avatar{width:40px;height:40px;border-radius:50%;float:none;margin:0}
body.wf-v11 #comments .comment-author,body.wf-v11 #comments .comment-author cite{font:normal 600 13px var(--sans);color:var(--ink)}
body.wf-v11 #comments .comment-metadata,body.wf-v11 #comments .comment-metadata a{font:12px var(--sans);color:var(--label);text-decoration:none}
body.wf-v11 #comments .comment-content{font:400 17px/1.6 var(--serif);overflow-wrap:anywhere;padding:0;border:0;margin:0;background:none}
body.wf-v11 #comments .comment-content p{margin:0 0 .9em}
body.wf-v11 #comments .comment-content a{text-decoration:underline;text-decoration-color:#cfc8b6;text-underline-offset:3px}
body.wf-v11 #comments .reply a{font:600 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:none;display:inline-block;min-height:44px;line-height:44px}
body.wf-v11 #comments .reply a:hover{color:var(--link-hover)}
body.wf-v11 #respond{margin-top:40px;padding:0;background:none}
body.wf-v11 #respond .comment-reply-title{font:500 27px/1.2 var(--serif);margin:0 0 18px}
body.wf-v11 #respond :is(input[type="text"],input[type="email"],input[type="url"],textarea){width:100%;max-width:100%;font:15px/1.5 var(--sans);color:var(--ink);background:var(--bone);border:1px solid var(--hair);border-radius:0;padding:12px 14px;margin:0 0 12px}
body.wf-v11 #respond :is(input,textarea):focus{border-color:var(--ink)}
body.wf-v11 #respond input[type="submit"]{background:var(--ink);color:var(--bone);border:0;border-radius:0;font:600 15px var(--sans);min-height:44px;padding:12px 22px;cursor:pointer}
body.wf-v11 #respond input[type="submit"]:hover{background:var(--link-hover)}
body.wf-v11 #respond .comment-form-cookies-consent{font:13px var(--sans);color:var(--muted)}

/* ================= Keep reading ================= */
body.wf-v11 .related{background:var(--paper);border-top:1px solid var(--hair);margin-top:72px;padding:88px var(--gutter) 96px}
body.wf-v11 .related .inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:5fr 7fr;gap:80px}
body.wf-v11 .related h2{margin:0;font:500 40px var(--serif);color:var(--ink)}
body.wf-v11 .related .lede{font:italic 17px/1.5 var(--serif);color:var(--muted);margin:8px 0 0;max-width:30ch}
body.wf-v11 .related .all{display:inline-block;margin-top:20px;font-size:15px;border-bottom:1px solid var(--ink);padding-bottom:2px}
body.wf-v11 .related .all:hover{color:var(--link-hover);border-color:var(--link-hover)}
body.wf-v11 .rel-list{display:flex;flex-direction:column}
body.wf-v11 .rel-list a{display:grid;grid-template-columns:150px 1fr;gap:26px;align-items:center;padding:20px 0;border-bottom:1px solid var(--hair);min-height:44px}
body.wf-v11 .rel-list a:last-child{border-bottom:0}
body.wf-v11 .rel-list .th{position:relative;height:104px;overflow:hidden;background:#e9e4d8}
body.wf-v11 .rel-list .th img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 5s ease}
body.wf-v11 .rel-list a:hover .th img{transform:scale(1.04)}
body.wf-v11 .rel-list .t{font:400 24px/1.2 var(--serif);text-wrap:pretty}
body.wf-v11 .rel-list .m{margin-top:6px;font-size:12px;letter-spacing:.08em;color:var(--label);text-transform:uppercase}
body.wf-v11 .rel-list a:hover .t{color:var(--link-hover)}

/* ================= tablet ================= */
@media (max-width:1180px){
  body.wf-v11 .entry-header .entry-title{font-size:52px}
  body.wf-v11 .a-hero.is-crop .frame{height:520px}
  body.wf-v11 .entry-content>*{grid-column:3/11}
  body.wf-v11 .entry-content>:is(.breakout,.alignwide,.wp-block-gallery,.gallery,.wp-block-embed,.wf-table-scroll,.wp-block-table,.wp-block-columns,.ninja_table_wrapper,.wp-block-pullquote,.pull,table,.wf-land){grid-column:2/12}
  body.wf-v11 .entry-content>:is(.full,.alignfull){grid-column:1/13}
  body.wf-v11 .entry-content>:is(.note-l,.margin-note){grid-column:1/3}
  body.wf-v11 .entry-content>:is([class*="mv-ad"],[id*="mediavine"],[class*="mediavine"],.adthrive,.aawp,[class*="atkp"]){grid-column:3/11}
  body.wf-v11 .entry-content .margin-note{font-size:19px}
  body.wf-v11 .filed,body.wf-v11 .a-end .author,body.wf-v11 .comments-area>*{grid-column:3/11}
  body.wf-v11 .related .inner{gap:48px}
}
/* ================= mobile (390) ================= */
@media (max-width:767px){
  body.wf-v11 .inside-article>.entry-header{padding-top:22px}
  body.wf-v11 .a-crumb{font-size:10px}
  body.wf-v11 .entry-header .entry-title{font-size:36px;line-height:1.05;margin-top:16px;max-width:none}
  body.wf-v11 .a-dek{font-size:18px;margin-top:14px}
  body.wf-v11 .entry-header .a-meta{margin-top:20px;font-size:12px;gap:4px 12px}
  body.wf-v11 .inside-article .a-hero.wf-hero{margin-top:26px;padding:0}
  body.wf-v11 .a-hero.is-crop .frame{height:300px}
  body.wf-v11 .a-hero.is-native .frame,body.wf-v11 .a-hero.is-native figcaption{max-width:100%}
  body.wf-v11 .a-hero figcaption{padding:0 var(--gutter)}
  body.wf-v11 .entry-content{display:block;margin-top:40px}
  body.wf-v11 .entry-content p.lead{font-size:19px}
  body.wf-v11 .entry-content h2{font-size:27px}
  body.wf-v11 .entry-content>h2{margin-top:48px}
  body.wf-v11 .entry-content>h2+*{margin-top:16px}
  body.wf-v11 .entry-content :is(h3,h4){font-size:18px}
  body.wf-v11 .entry-content>:is(h3,h4){margin-top:36px}
  body.wf-v11 .entry-content>:is(h3,h4)+*{margin-top:10px}
  body.wf-v11 .entry-content h3 .num{font-size:19px}
  body.wf-v11 .entry-content>:is(figure,.wp-block-image,.wp-block-gallery,.gallery,.wp-block-embed,.wp-caption,.wp-block-table,.wf-table-scroll,.wp-block-columns,.ninja_table_wrapper,.wp-block-video,.wf-fig,.tiled-gallery,.wp-block-jetpack-tiled-gallery),
  body.wf-v11 .entry-content>:is(figure,.wp-block-image,.wp-block-gallery,.gallery,.wp-block-embed,.wp-caption,.wp-block-table,.wf-table-scroll,.wp-block-columns,.ninja_table_wrapper,.wp-block-video,.wf-fig,.tiled-gallery,.wp-block-jetpack-tiled-gallery)+*{margin-top:30px}
  body.wf-v11 .entry-content>:first-child{margin-top:0}
  /* figures full-bleed at native ratio */
  body.wf-v11 .entry-content>:is(.wp-block-image:not(.alignleft):not(.alignright),.wp-block-gallery,.gallery,.breakout,.full,.alignwide,.alignfull){margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));max-width:none}
  body.wf-v11 .entry-content>:is(.wp-block-image,.wp-block-gallery,.gallery,.breakout,.full,.alignwide,.alignfull) :is(figcaption,.blocks-gallery-caption){padding:0 var(--gutter)}
  body.wf-v11 .entry-content .wp-block-gallery.has-nested-images,body.wf-v11 .entry-content .wp-block-gallery .blocks-gallery-grid,body.wf-v11 .entry-content .gallery{gap:8px;padding:0 var(--gutter)}
  body.wf-v11 .entry-content>.wp-block-gallery>.blocks-gallery-caption{padding:0}
  /* trio on mobile: 1 large (native, max 80vh) + 2 small side by side */
  body.wf-v11 .entry-content .wp-block-gallery.columns-3:has(>figure.wp-block-image:nth-of-type(3)):not(:has(>figure.wp-block-image:nth-of-type(4))){grid-template-columns:1fr 1fr}
  body.wf-v11 .entry-content .wp-block-gallery.columns-3:has(>figure.wp-block-image:nth-of-type(3)):not(:has(>figure.wp-block-image:nth-of-type(4)))>figure.wp-block-image{height:auto;aspect-ratio:3/2}
  body.wf-v11 .entry-content .wp-block-gallery.columns-3:has(>figure.wp-block-image:nth-of-type(3)):not(:has(>figure.wp-block-image:nth-of-type(4)))>figure.wp-block-image:first-of-type{grid-row:auto;grid-column:1/3;aspect-ratio:auto;max-height:80vh;background:none}
  body.wf-v11 .entry-content .wp-block-gallery.columns-3:has(>figure.wp-block-image:nth-of-type(3)):not(:has(>figure.wp-block-image:nth-of-type(4)))>figure.wp-block-image:first-of-type img{position:static;height:auto!important;max-height:80vh}
  body.wf-v11 .entry-content .field-note{padding:22px 20px}
  body.wf-v11 .entry-content>.field-note,body.wf-v11 .entry-content>.field-note+*{margin-top:32px}
  body.wf-v11 .entry-content .field-note h4{font-size:22px}
  body.wf-v11 .entry-content .field-note dl{grid-template-columns:1fr;gap:4px;font-size:15px}
  body.wf-v11 .entry-content .field-note dt{margin-top:8px}
  body.wf-v11 .entry-content .field-note dt:first-child{margin-top:0}
  body.wf-v11 .entry-content .pull,body.wf-v11 .entry-content .wp-block-pullquote blockquote{font-size:25px}
  body.wf-v11 .entry-content .pull{padding:26px 0}
  body.wf-v11 .entry-content>:is(.pull,.wp-block-pullquote),body.wf-v11 .entry-content>:is(.pull,.wp-block-pullquote)+*{margin-top:44px}
  body.wf-v11 .entry-content .margin-note{position:static;transform:rotate(-2deg);margin:0 0 24px 4px;font-size:20px;max-width:none}
  body.wf-v11 .entry-content .verdict{padding-left:18px}
  body.wf-v11 .entry-content>.verdict,body.wf-v11 .entry-content>.verdict+*{margin-top:36px}
  body.wf-v11 .entry-content .verdict p{font-size:19px}
  body.wf-v11 .entry-content>:is(blockquote,.wp-block-quote):not(.pull){font-size:20px;padding-left:16px}
  body.wf-v11 .entry-content .wp-block-columns{flex-wrap:wrap!important;flex-direction:column}
  body.wf-v11 .entry-content .wp-block-columns>.wp-block-column{flex-basis:100%!important;width:100%}
  body.wf-v11 .a-end{margin-top:48px}
  body.wf-v11 .filed{flex-direction:column;gap:8px;align-items:flex-start}
  body.wf-v11 .a-end .author{gap:16px;padding:26px 0}
  body.wf-v11 .a-end .author .pic{width:56px;height:56px}
  body.wf-v11 .comments-area{display:block}
  body.wf-v11 #comments .comments-title{font-size:27px}
  body.wf-v11 #comments .children{margin-left:12px;padding-left:12px}
  body.wf-v11 .related{padding:52px var(--gutter) 60px;margin-top:40px}
  body.wf-v11 .related .inner{grid-template-columns:1fr;gap:20px}
  body.wf-v11 .related h2{font-size:28px}
  body.wf-v11 .related .lede{display:none}
  body.wf-v11 .rel-list a{grid-template-columns:96px 1fr;gap:16px;padding:14px 0}
  body.wf-v11 .rel-list .th{height:70px}
  body.wf-v11 .rel-list .t{font-size:18px}
  body.wf-v11 .wf-legal{margin-top:8px}
}
/* ===== legacy (pre-WP 5.9) gallery markup: figure.wp-block-gallery > ul.blocks-gallery-grid > li.blocks-gallery-item > figure > img
   (QA 1.1.0-stg.4: 21c columns-2/3 galleries collapsed to 0x0 because the outer figure stayed flex and the ul shrank). ===== */
body.wf-v11 .entry-content .wp-block-gallery:not(.has-nested-images){display:block}
body.wf-v11 .entry-content .wp-block-gallery .blocks-gallery-grid{width:100%;flex:none;margin:0}
body.wf-v11 .entry-content .wp-block-gallery .blocks-gallery-item>figure{margin:0;height:100%;width:100%}
body.wf-v11 .entry-content .wp-block-gallery.columns-1 .blocks-gallery-grid{grid-template-columns:1fr}
body.wf-v11 .entry-content .wp-block-gallery.columns-1 .blocks-gallery-item>figure{height:auto}
body.wf-v11 .entry-content .wp-block-gallery.columns-3 .blocks-gallery-grid:has(>li:nth-child(3)):not(:has(>li:nth-child(4))){grid-template-columns:5fr 4fr}
body.wf-v11 .entry-content .wp-block-gallery.columns-3 .blocks-gallery-grid:has(>li:nth-child(3)):not(:has(>li:nth-child(4)))>li{aspect-ratio:auto;height:380px}
body.wf-v11 .entry-content .wp-block-gallery.columns-3 .blocks-gallery-grid:has(>li:nth-child(3)):not(:has(>li:nth-child(4)))>li:first-child{grid-row:1/3;height:780px}
@media (max-width:767px){
  body.wf-v11 .entry-content .wp-block-gallery.columns-3 .blocks-gallery-grid:has(>li:nth-child(3)):not(:has(>li:nth-child(4))){grid-template-columns:1fr 1fr}
  body.wf-v11 .entry-content .wp-block-gallery.columns-3 .blocks-gallery-grid:has(>li:nth-child(3)):not(:has(>li:nth-child(4)))>li{height:auto;aspect-ratio:3/2}
  body.wf-v11 .entry-content .wp-block-gallery.columns-3 .blocks-gallery-grid:has(>li:nth-child(3)):not(:has(>li:nth-child(4)))>li:first-child{grid-row:auto;grid-column:1/3;aspect-ratio:auto;max-height:80vh;background:none}
  body.wf-v11 .entry-content .wp-block-gallery.columns-3 .blocks-gallery-grid:has(>li:nth-child(3)):not(:has(>li:nth-child(4)))>li:first-child img{position:static;height:auto!important;max-height:80vh}
}
@media (prefers-reduced-motion:reduce){
  /* !important: these must beat the more specific component rules above (QA found .is-crop 7s + button .2s surviving). */
  body.wf-v11 .a-hero .frame img,body.wf-v11 .rel-list .th img,body.wf-v11 .wf-progress,body.wf-v11 .entry-content .wp-block-button__link,body.wf-v11 .wp-block-button__link{transition:none!important;animation:none!important}
  body.wf-v11 .a-hero.is-crop:hover .frame img,body.wf-v11 .rel-list a:hover .th img{transform:none!important}
}

/* ===== fix pass 3 ===== */
/* D1: Ninja Tables (builder .ntb_table_wrapper, classic .ninja_table_wrapper / footable_parent_*, and any block wrapper holding one)
   go on the FULL track so every column, incl. the "Check on Amazon" CTA column, is visible at 1440 (1144px track) like production.
   Tablet (<=1180): full track plus the side gutters (1024 -> 1024px). Wider-than-track tables scroll inside their own wrapper only.
   Mobile (<=767): Ninja's own stacked mobile view; wrapper stays inside the column and scrolls internally if ever needed. */
body.wf-v11 .entry-content>:is(.ntb_table_wrapper,.ninja_table_wrapper,.ninja_tables_wrapper,[id^="footable_parent_"],[id^="ninja_table_builder_"],:has(>:is(.ntb_table_wrapper,.ninja_table_wrapper,.ninja_tables_wrapper))){grid-column:1/13;max-width:100%;min-width:0}
body.wf-v11 .entry-content :is(.ntb_table_wrapper,.ninja_table_wrapper,.ninja_tables_wrapper){overflow-x:auto;-webkit-overflow-scrolling:touch;margin-left:auto;margin-right:auto}
@media (max-width:1180px){
  body.wf-v11 .entry-content>:is(.ntb_table_wrapper,.ninja_table_wrapper,.ninja_tables_wrapper,[id^="footable_parent_"],[id^="ninja_table_builder_"],:has(>:is(.ntb_table_wrapper,.ninja_table_wrapper,.ninja_tables_wrapper))){grid-column:1/13;margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));max-width:none}
}
@media (max-width:767px){
  body.wf-v11 .entry-content>:is(.ntb_table_wrapper,.ninja_table_wrapper,.ninja_tables_wrapper,[id^="footable_parent_"],[id^="ninja_table_builder_"],:has(>:is(.ntb_table_wrapper,.ninja_table_wrapper,.ninja_tables_wrapper))){margin-left:0;margin-right:0;max-width:100%}
  /* meta: separators are decorative; hide them on mobile so a wrapped line never ends (or starts) with a lone dot */
  body.wf-v11 .entry-header .a-meta .dot{display:none}
  body.wf-v11 .entry-header .a-meta{gap:4px 14px}
}
/* D2: a hidden duplicate of the hero (wf-dup-hero) as first block leaves no gap: hero -> body stays 64px (mobile 40px) */
body.wf-v11 .entry-content>.wf-dup-hero.wf-dup-hero:first-child+*{margin-top:0}

/* ===== fix pass 4: image spacing (SPEC §5 figures 44 / 30 mobile; §7 pair 20px gap / 8px mobile) ===== */
/* image-only classic paragraph (server class wf-fig) = a figure: same 44/30 rhythm as a core image block; no <br> lines */
body.wf-v11 .entry-content>.wf-fig>br{display:none}
/* multi-image classic paragraph (server class wf-stack): breakout track, 20px gaps; same-ratio portraits/squares pair 2-up
   (server classes wf-pi + wf-r45/r23/r11, cell at that ratio), landscapes full row (wf-li), unpaired portrait at prose
   width (wf-si). Grid with normal auto-flow and no `order`: visual order == DOM order. No width:auto on stack imgs: it overrides the width attribute and a lazy image then collapses to 0x0 and never loads. */
/* image-only 2-column core Columns = an image group: 20px gap (8px and still 2-up on mobile) */
body.wf-v11 .entry-content>.wp-block-columns:not(:has(>.wp-block-column:nth-child(3))):not(:has(>.wp-block-column>:not(figure,.wp-block-image))){gap:20px}
/* Jetpack tiled galleries: breakout track + figure rhythm; their own computed tile geometry is left alone */
body.wf-v11 .entry-content>:is(.tiled-gallery,.wp-block-jetpack-tiled-gallery){grid-column:3/11}
/* empty spacer paragraphs (&nbsp; / <br> only; server class wf-empty): hidden, node kept. The next block keeps the gap it
   would have had next to the block before the spacer (headings keep their own). Ads are never inside one. */
body.wf-v11 .entry-content>p.wf-empty:not(:has(iframe,ins,[class*="mv-"],[id*="mediavine"])){display:none}
body.wf-v11 .entry-content>:is(figure,.wp-block-image,.wp-block-gallery,.gallery,.wp-block-embed,.wp-caption,.wp-block-table,.wf-table-scroll,.wp-block-columns,.ninja_table_wrapper,.ntb_table_wrapper,.ninja_tables_wrapper,.wp-block-video,.wf-fig,.tiled-gallery,.wp-block-jetpack-tiled-gallery)+.wf-empty+:not(h2,h3,h4,.wf-empty),
body.wf-v11 .entry-content>:is(figure,.wp-block-image,.wp-block-gallery,.gallery,.wp-block-embed,.wp-caption,.wp-block-table,.wf-table-scroll,.wp-block-columns,.ninja_table_wrapper,.ntb_table_wrapper,.ninja_tables_wrapper,.wp-block-video,.wf-fig,.tiled-gallery,.wp-block-jetpack-tiled-gallery)+.wf-empty+.wf-empty+:not(h2,h3,h4,.wf-empty){margin-top:44px}
body.wf-v11 .entry-content>h2+.wf-empty+*,body.wf-v11 .entry-content>h2+.wf-empty+.wf-empty+*{margin-top:22px}
body.wf-v11 .entry-content>:is(h3,h4)+.wf-empty+*,body.wf-v11 .entry-content>:is(h3,h4)+.wf-empty+.wf-empty+*{margin-top:14px}
body.wf-v11 .entry-content>.wf-empty:first-child+*,body.wf-v11 .entry-content>.wf-empty:first-child+.wf-empty+*{margin-top:0}
@media (max-width:1180px){
  body.wf-v11 .entry-content>:is(p.wf-stack,.tiled-gallery,.wp-block-jetpack-tiled-gallery){grid-column:2/12}
}
@media (max-width:767px){
  body.wf-v11 .entry-content>.wp-block-columns:not(:has(>.wp-block-column:nth-child(3))):not(:has(>.wp-block-column>:not(figure,.wp-block-image))){flex-direction:row;flex-wrap:nowrap!important;gap:8px}
  body.wf-v11 .entry-content>.wp-block-columns:not(:has(>.wp-block-column:nth-child(3))):not(:has(>.wp-block-column>:not(figure,.wp-block-image)))>.wp-block-column{flex-basis:0!important;flex-grow:1;width:auto}
  body.wf-v11 .entry-content>:is(figure,.wp-block-image,.wp-block-gallery,.gallery,.wp-block-embed,.wp-caption,.wp-block-table,.wf-table-scroll,.wp-block-columns,.ninja_table_wrapper,.ntb_table_wrapper,.ninja_tables_wrapper,.wp-block-video,.wf-fig,.tiled-gallery,.wp-block-jetpack-tiled-gallery)+.wf-empty+:not(h2,h3,h4,.wf-empty),
  body.wf-v11 .entry-content>:is(figure,.wp-block-image,.wp-block-gallery,.gallery,.wp-block-embed,.wp-caption,.wp-block-table,.wf-table-scroll,.wp-block-columns,.ninja_table_wrapper,.ntb_table_wrapper,.ninja_tables_wrapper,.wp-block-video,.wf-fig,.tiled-gallery,.wp-block-jetpack-tiled-gallery)+.wf-empty+.wf-empty+:not(h2,h3,h4,.wf-empty){margin-top:30px}
  body.wf-v11 .entry-content>h2+.wf-empty+*,body.wf-v11 .entry-content>h2+.wf-empty+.wf-empty+*{margin-top:16px}
  body.wf-v11 .entry-content>:is(h3,h4)+.wf-empty+*,body.wf-v11 .entry-content>:is(h3,h4)+.wf-empty+.wf-empty+*{margin-top:10px}
}

/* ===== fix pass 5 (1.1.0-stg.8): 2-across without cropping =====
   Server classes: wf-pi = one of a pair (--wf-pr = its share of the row, proportional to its aspect ratio, so both images
   are the same height at their NATURAL ratio; nothing is cropped); wf-pk = pair stays 2-across on phones (portraits only,
   row >= ~200px tall), otherwise the pair stacks full width; wf-li / wf-si / wf-ti = solo row at natural ratio, at most
   its intrinsic width (--wf-w; wf-si also <= 560), centred. wf-ti = technical image (PNG/GIF, screenshot-like, tutorial).
   Flex wrap, no `order`: visual order == DOM order. */
body.wf-v11 .entry-content{--wf-g:20px}
body.wf-v11 .entry-content>p.wf-stack{grid-column:3/11;display:flex;flex-wrap:wrap;gap:var(--wf-g);align-items:flex-start}
body.wf-v11 .entry-content>p.wf-stack>img{display:block;height:auto;margin:0;max-width:100%;object-fit:contain}
body.wf-v11 .entry-content>p.wf-stack>img:not(.wf-pi),
body.wf-v11 .entry-content .wf-flow .wf-gi:not(.wf-pi){flex:0 0 auto!important;width:min(100%,var(--wf-w,100%))!important;margin:0 max(0px,calc((100% - min(100%,var(--wf-w,100%))) / 2))!important}
body.wf-v11 .entry-content>p.wf-stack>img.wf-pi,
body.wf-v11 .entry-content .wf-flow .wf-gi.wf-pi{flex:0 0 calc((100% - var(--wf-g)) * var(--wf-pr) - .5px)!important;width:calc((100% - var(--wf-g)) * var(--wf-pr) - .5px)!important;min-width:0}
/* galleries (core nested, legacy ul grid, classic [gallery]): the same flow instead of fixed-ratio cover cells */
body.wf-v11 .entry-content .wf-flow.has-nested-images,
body.wf-v11 .entry-content .wf-flow .blocks-gallery-grid,
body.wf-v11 .entry-content .wf-flow.gallery{display:flex!important;flex-wrap:wrap;gap:var(--wf-g);align-items:flex-start}
body.wf-v11 .entry-content .wf-flow .wf-gi{position:static!important;aspect-ratio:auto!important;height:auto!important;max-height:none!important;grid-row:auto!important;grid-column:auto!important;background:none!important;overflow:visible!important;margin:0}
body.wf-v11 .entry-content .wf-flow .wf-gi :is(figure,.gallery-icon,a){height:auto!important;margin:0}
body.wf-v11 .entry-content .wf-flow .wf-gi img{position:static!important;inset:auto!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;max-width:100%!important;display:block}
body.wf-v11 .entry-content .wf-flow>.blocks-gallery-caption,body.wf-v11 .entry-content .wf-flow .blocks-gallery-caption{flex:0 0 100%}
/* image-only 2-column Columns: shares by aspect (paired) or stacked full width */
body.wf-v11 .entry-content>.wf-flow-cols.wf-flow-cols.wf-flow-cols{gap:var(--wf-g)!important;align-items:flex-start!important}
body.wf-v11 .entry-content>.wf-flow-cols.wf-flow-cols.wf-flow-cols>.wp-block-column.wf-gi.wf-gi.wf-pi{flex:0 0 calc((100% - var(--wf-g)) * var(--wf-pr) - .5px)!important;min-width:0}
body.wf-v11 .entry-content>.wf-flow-cols.wf-flow-cols.wf-flow-cols.wf-cols-stack{flex-direction:column!important}
body.wf-v11 .entry-content>.wf-flow-cols.wf-flow-cols.wf-flow-cols.wf-cols-stack>.wp-block-column.wf-gi.wf-gi{flex-basis:auto!important;width:min(100%,var(--wf-w,100%))!important;align-self:center}
body.wf-v11 .entry-content>.wf-flow-cols.wf-flow-cols.wf-flow-cols img{width:100%;height:auto;object-fit:contain}
@media (max-width:767px){
  body.wf-v11 .entry-content{--wf-g:8px}
  body.wf-v11 .entry-content>p.wf-stack>img.wf-pi:not(.wf-pk),
  body.wf-v11 .entry-content .wf-flow .wf-gi.wf-pi:not(.wf-pk){flex:0 0 100%!important;width:100%!important}
  body.wf-v11 .entry-content>.wf-flow-cols.wf-flow-cols.wf-flow-cols:not(:has(>.wf-pk)){flex-direction:column!important}
  body.wf-v11 .entry-content>.wf-flow-cols.wf-flow-cols.wf-flow-cols:not(:has(>.wf-pk))>.wp-block-column.wf-gi.wf-gi{flex:0 0 auto!important;width:100%!important}
  body.wf-v11 .entry-content>.wf-flow-cols.wf-flow-cols.wf-flow-cols:has(>.wf-pk){flex-direction:row!important;flex-wrap:nowrap!important}
}
/* technical / informational images anywhere in the body (server class wf-ti, --wf-w = real file width): natural pixel
   width, capped at the column, never upscaled, never cropped; centred when it is the block's only content */
body.wf-v11 .entry-content img.wf-ti{width:min(100%,var(--wf-w,100%))!important;max-width:100%!important;height:auto!important;object-fit:contain!important}
body.wf-v11 .entry-content :is(figure,.wp-block-image,.wf-fig,.wp-caption)>img.wf-ti,
body.wf-v11 .entry-content :is(figure,.wp-block-image,.wp-caption)>a>img.wf-ti{display:block;margin-left:auto;margin-right:auto}
body.wf-v11 .entry-content :is(.wp-block-image,figure):has(>img.wf-ti,>a>img.wf-ti)>figcaption{text-align:center}
/* author-cropped galleries keep their crop; a technical image inside one is shown whole (letterboxed), never cropped */
body.wf-v11 .entry-content .wf-gt img{object-fit:contain!important;background:#e9e4d8}
/* fix pass 5: on phones a bled block (-gutter margins) must be exactly the viewport wide; theme/core width rules on
   .alignwide galleries made them 20px too wide (how-to-pose-for-pictures @390 scrollWidth 410) */
@media (max-width:767px){
  body.wf-v11 .entry-content>:is(.wp-block-image:not(.alignleft):not(.alignright),.wp-block-gallery,.gallery,.breakout,.full,.alignwide,.alignfull){width:auto!important}
}
/* ===== 1.1.0-stg.8.1: authored small images (server classes wf-sm on the paragraph, wf-smi + --wf-w = authored
   width on the img). They keep their authored size and the author's inline / row layout; never enlarged to the
   column, never stacked or paired. Rows wrap inside the column (and on phones); repeated <br> spacers collapse. ===== */
body.wf-v11 .entry-content>p.wf-fig.wf-sm{text-align:left}
body.wf-v11 .entry-content img.wf-smi{display:inline-block!important;width:min(100%,var(--wf-w))!important;max-width:100%!important;height:auto!important;margin:0 8px 8px 0!important;vertical-align:top;object-fit:contain!important;float:none}
body.wf-v11 .entry-content>p.wf-sm br+br{display:none}
body.wf-v11 .entry-content>p.wf-sm>a{display:inline}

/* ===== 1.1.0-stg.8.2 =====
   M1: bare top-level text runs wrapped server-side in p.wf-bare get normal paragraph flow (no extra rules needed; it is a <p>).
   M2: a native-ratio hero is never wider than its natural width on phones/tablets either (was max-width:100% <=767px). */
@media (max-width:767px){
  body.wf-v11 .a-hero.is-native .frame,body.wf-v11 .a-hero.is-native figcaption{max-width:min(100%,var(--wf-hero-w,100%))}
}
/* Optional (QA stg.8.1): authored thumbnail rows (wf-sm) are separated by the normal figure spacing (44px, phones 30px)
   instead of 8px; the extra bottom margin of the last row is taken back so the gap after the block stays 44/30. */
body.wf-v11 .entry-content img.wf-smi{margin-bottom:44px!important}
body.wf-v11 .entry-content>p.wf-sm{margin-bottom:-44px}
@media (max-width:767px){
  body.wf-v11 .entry-content img.wf-smi{margin-bottom:30px!important}
  body.wf-v11 .entry-content>p.wf-sm{margin-bottom:-30px}
}
/* 1.1.1-stg.1: refreshed posts carry a per-post style (.posted-on .updated::before{content:"Updated "}); the template prints its own "Updated" label. */
body.wf-v11 .a-meta .updated::before{content:none!important}
