/**
 * OG Signal Plugin — Minimal (Structural-Only) Styles
 *
 * Loaded INSTEAD of og-signal-defaults.css when "Minimal default styles" is
 * enabled in settings. Contains ONLY functional/structural rules that a custom
 * style pack should not have to re-implement:
 *   - box-sizing reset
 *   - FAQ accordion show/hide behavior (JS toggles .is-open; CSS reveals answer)
 *   - button/list resets so browser chrome doesn't leak through
 *   - grid scaffolding for multi-item shortcodes
 *
 * Deliberately contains NO decorative styling — no colors, borders, bullets,
 * +/- glyphs, padding, or typography. Those belong entirely to the style pack,
 * so there is nothing here for a custom pack to fight or override.
 *
 * @package OG_Signal_Plugin
 * @since   1.8.0
 */

/* Box model */
[class^="ogs-"] *,
[class^="ogs-"] *::before,
[class^="ogs-"] *::after {
    box-sizing: border-box;
}

/* ---- FAQ accordion — FUNCTIONAL (do not remove) ---- */
.ogs-faq-question {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin: 0;
    background: none;
    border: none;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
}
.ogs-faq-answer {
    display: none;
}
.ogs-faq-item.is-open .ogs-faq-answer {
    display: block;
}

/* ---- Host-theme neutralization (structural, not decorative) ----
 *
 * Page builders style bare `blockquote` and `li` from selectors carrying an ID
 * — Divi 5 emits `.et-db #et-boc .et-l blockquote` — which outranks anything a
 * style pack can write. Two symptoms this removes:
 *
 *   [ogs_quote]          rendered TWO left rules: the pack's own on the
 *                        <figure class="ogs-quote">, plus Divi's on the inner
 *                        <blockquote class="ogs-quote__text">.
 *   [ogs_key_takeaways]  rendered a disc bullet AND the pack's marker, because
 *                        `list-style: none` on the <ul> loses to Divi's rule
 *                        targeting the <li>.
 *
 * `!important` is load-bearing here: normal specificity cannot beat an ID.
 * Kept to the few properties that are purely host-theme decoration, so packs
 * keep control of everything else. Packs indent list items via the <li>
 * (padding-left), not the <ul>.
 */
.ogs-quote > .ogs-quote__text,
blockquote.ogs-quote__text {
    padding-left: 0 !important;
    border-left: 0 !important;
    background: none !important;
    quotes: none;
}
.ogs-quote > .ogs-quote__text::before,
.ogs-quote > .ogs-quote__text::after {
    content: none;
}

/* ---- List reset for takeaways (style pack draws its own markers) ---- */
.ogs-takeaways ul,
.ogs-takeaways__list {
    margin: 0;
    padding: 0;
}
.ogs-takeaways .ogs-takeaways__list,
.ogs-takeaways .ogs-takeaways__list > li {
    list-style: none !important;
    list-style-type: none !important;
}
.ogs-takeaways .ogs-takeaways__list {
    padding-left: 0 !important;
    margin-left: 0 !important;
}
.ogs-takeaways .ogs-takeaways__list > li::marker {
    content: none;
}

/* ---- Grid scaffolding for multi-item shortcodes ---- */
.ogs-testimonials-grid {
    display: grid;
    grid-template-columns: repeat(var(--ogs-columns, 2), 1fr);
    gap: 24px;
}
.ogs-book-grid,
.ogs-publications {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
}

/* ---- Process steps counter (functional numbering) ----
 *
 * [ogs_process_steps] renders:
 *   <div class="ogs-process"><ol class="ogs-process__steps"><li class="ogs-process__step">
 *
 * The list reset has to land on the <ol>. It was on the wrapping <div>, where
 * `list-style` and `padding` do nothing — so the <ol> kept its native decimal
 * marker AND its default indent, sitting right next to the plugin's own
 * <span class="ogs-process__step-number">. Every step rendered two numbers,
 * three for packs that also draw a CSS counter.
 */
.ogs-process {
    counter-reset: ogs-step;
}
.ogs-process__steps,
.ogs-process > ol,
.ogs-process > ul {
    margin: 0;
    padding-left: 0 !important;
}
.ogs-process__steps,
.ogs-process__steps > li,
.ogs-process li {
    list-style: none !important;
    list-style-type: none !important;
}
.ogs-process__steps > li::marker {
    content: none;
}
.ogs-process li {
    counter-increment: ogs-step;
}

/* ---- Media grid + filter behavior (functional) ---- */
.ogs-media-grid,
.og-media-grid {
    display: grid;
    gap: 24px;
}
.og-media-card[style*="display: none"],
.og-media-card.is-hidden {
    display: none !important;
}

/* ---- Entity inline element stays inline ---- */
.ogs-entity {
    display: inline;
}
/* No .ogs-entity--light rule here on purpose: minimal mode ships no colours,
 * and the modifier is purely a colour hook. The style pack supplies it. */
