/*
 * Collapse the empty Vocento component shells left behind by the import.
 *
 * Codex relaunch audit group D / Asana 1217306061615529 item 16. The scrape kept
 * Vocento's wrapper but not the embed inside it, so imported bodies carry:
 *
 *   <div class="detail__cmp">
 *   <section class="detail-code detail-component" data-voc-component="iframe-container"></section>
 *   </div>
 *
 * Measured across the corpus (ig-includes/voc-empty-component-scan.php):
 * 11,507 shells across 8,574 posts, every one of them `iframe-container`.
 * koi gives .detail__cmp `display:inline-block`, so each shell renders a ~32px
 * blank band mid-article (confirmed in Chromium, not inferred).
 *
 * WHY CSS AND NOT A CONTENT REWRITE
 * Nothing fills these at runtime -- no theme PHP or JS targets iframe-container
 * and koi 3.31.0 only names it in a comment -- so they are permanently empty.
 * Stripping them from post_content would mean rewriting 8,574 rows, and the
 * wrapper is also the only remaining marker of WHERE each video sat, which a
 * future re-scrape would need. Hiding them costs one rule, applies everywhere at
 * once, writes nothing, and reverts by deleting this file.
 *
 * :empty stops matching the moment anything is inserted, so a shell that is ever
 * filled -- by a re-scrape or by an editor -- becomes visible again on its own.
 * The :has() rule removes the wrapper's line box too; the bare :empty rule below
 * it is the fallback for engines without :has(), which still leaves a single
 * empty line box rather than a 32px band.
 */

.detail__cmp:has(> section.detail-component[data-voc-component="iframe-container"]:empty) {
	display: none;
}

section.detail-component[data-voc-component="iframe-container"]:empty {
	display: none;
}
