/* Percentage-width images need a definite containing block. WordPress' centered
   display:table figures otherwise shrink/reflow while native-lazy images decode. */
.gsb-prose .wp-block-image.aligncenter:not(.is-resized){display:block}
.gsb-prose .wp-block-image.aligncenter:not(.is-resized) > a{display:block}
.gsb-prose .wp-block-image.aligncenter:not(.is-resized) > figcaption{display:block;width:auto}
.gsb-art-grid > *{min-width:0}

/* The normal comment widget resets/re-renders asynchronously; keep its slot. */
.cf-turnstile-comments[data-size="normal"]{min-height:65px;line-height:0}

/* Reserve the same video slot before the player is requested or JS initialises. */
:is(.gsb-prose,.gsk-prose) :is(iframe.gpd-editorial-video,.gpd-yt-facade){display:block;width:100%;aspect-ratio:16/9;height:auto;margin:0;padding:0;border:1px solid var(--line-1);border-radius:var(--r-lg);background:#000;overflow:hidden;position:relative}
:is(.gsb-prose,.gsk-prose) .gpd-yt-facade{cursor:pointer}
:is(.gsb-prose,.gsk-prose) .gpd-yt-facade img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;border-radius:0}
:is(.gsb-prose,.gsk-prose) .gpd-yt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:48px;border-radius:12px;background:rgba(0,0,0,.72)}
:is(.gsb-prose,.gsk-prose) .gpd-yt-play::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-40%,-50%);border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #fff}
:is(.gsb-prose,.gsk-prose) .gpd-yt-facade:focus-visible{outline:2px solid var(--teal-500);outline-offset:4px}
