/*
 * ALLOut Security — force sheet for an embedded policy.
 *
 * Loaded ONLY on a page that embeds a policy with [allout_policy_content], and only
 * while that shortcode is forcing (force="no" turns this off). Scoped to the
 * `.aouv-embed-force` wrapper the shortcode prints, so it cannot reach one pixel of
 * anything else on the site.
 *
 * ============================================================================
 * WHY THIS FILE EXISTS
 *
 * A policy renders through the plugin's own single-aos_doc.php template on its own
 * URL, but on an embedding page it lands inside the theme's page wrappers — for
 * BeTheme, `.section_wrapper .the_content_wrapper` and friends. Those wrappers carry
 * list resets that are more specific than the site's own document styling, so the
 * identical markup loses its bullets on the page while looking correct on the policy
 * URL. Same content, two different results, and no way to tell from the editor which
 * one a reader will get.
 *
 * ============================================================================
 * MARKERS ONLY — NOT ONE BOX METRIC
 *
 * What the theme destroys is the MARKER: list-style is reset away, so the items
 * render as plain lines. That is what this file puts back, and it is all it puts
 * back. There is deliberately no margin and no padding anywhere below.
 *
 * The reason is that the spacing was never broken. Indentation and rhythm come from
 * the site's own policy CSS, which applies on both pages perfectly well; forcing
 * values here would not be repairing the theme's damage, it would be overruling the
 * site's design with numbers invented by this plugin — and !important would make
 * them unfixable from the stylesheet that should own them. A restored marker plus
 * the site's own spacing is the page as it was designed.
 *
 * So: list-style-type, list-style-position, display:list-item, and the removal of
 * substitute bullets a theme drew itself. Nothing else.
 *
 * ============================================================================
 * LISTS THAT CARRY A CLASS ARE LEFT ALONE — every selector is `:not([class])`.
 *
 * The published Licensing Terms convention uses classed lists to say "this list is
 * styled deliberately": `no-list-style` with a <span class="item-label">a.</span>
 * per item, `latin-child-list`, `special-list-with-styles`. Forcing discs onto those
 * would put a bullet next to every "a." in the terms. An unclassed <ul> is an
 * ordinary bullet list and is the only thing repaired here.
 *
 * @author ALLOut Security
 * @link   https://alloutsecurity.com
 */

/* The chain is repetition of the wrapper's own class, not a longer descendant path:
   it buys specificity without assuming anything about the theme's markup. */
.aouv-embed-force.aouv-embed-force.aouv-embed-force ul:not([class]) {
	list-style-type: disc !important;
	list-style-position: outside !important;
}

.aouv-embed-force.aouv-embed-force.aouv-embed-force ol:not([class]) {
	list-style-type: decimal !important;
	list-style-position: outside !important;
}

.aouv-embed-force.aouv-embed-force.aouv-embed-force ul:not([class]) > li,
.aouv-embed-force.aouv-embed-force.aouv-embed-force ol:not([class]) > li {
	display: list-item !important;
	list-style: inherit !important;
}

/* Themes that replace bullets with a generated glyph or a background image leave it
   behind once the real marker is restored, giving every item two. BeTheme is one of
   them. Removing the substitute is part of restoring the marker, not spacing. */
.aouv-embed-force.aouv-embed-force.aouv-embed-force ul:not([class]) > li::before,
.aouv-embed-force.aouv-embed-force.aouv-embed-force ol:not([class]) > li::before {
	content: none !important;
	display: none !important;
}

.aouv-embed-force.aouv-embed-force.aouv-embed-force ul:not([class]) > li {
	background-image: none !important;
}
