/*
 * Shared, design-neutral CSS for every Lakon template. Loaded by _LakonLayout *before* each
 * design's own style.css, so a design always wins on anything it also declares.
 *
 * Deliberately tiny. These 98 bundles each ship a complete stylesheet with its own tokens, and the
 * one thing they cannot bring is a convention invented for this platform. Anything design-specific
 * belongs in that design's style.css, not here.
 */

/*
 * The canonical section anchors (#lakon-cover, #lakon-events, …) that each Index.cshtml inserts.
 *
 * template_customizations.preview_anchor scrolls the editor's live preview to these, and
 * tools/content/lakon.py asserts they are present in the rendered page. They are extra elements
 * rather than renames of the bundles' own ids, because those ids are bound by each design's
 * script.js — so they have to be layout-neutral.
 *
 * position:absolute is what makes that true: several of these sections are flex containers, and an
 * in-flow child would become a flex item and take a share of the space. Absolute takes it out of
 * flow entirely. Zero-sized and non-interactive so it can never intercept a tap.
 *
 * The negative offset is the sticky top bar: without it, scrolling to a section leaves its first
 * line underneath the bar.
 */
.lakon-anchor {
    position: absolute;
    top: -56px;
    left: 0;
    width: 0;
    height: 0;
    overflow: hidden;
    pointer-events: none;
}

/* Applied after a design has initialised. Important makes a host's explicit off switch win over
 * template display rules, including full-screen and canvas themes. */
.lakon-section-disabled {
    display: none !important;
}

/*
 * The draft-preview badge _LakonLayout renders when Model.IsPreview.
 *
 * Fixed rather than absolute, and above everything: a preview renders exactly what the public page
 * would, so this badge is the only thing distinguishing an unpublished draft from the live
 * invitation — and it has to stay visible over the cover, the bottom sheets and the lightbox, all of
 * which stack above the feed. Non-interactive so it can never swallow a tap on the design beneath.
 */
.lakon-draft-badge {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 2147483647;
    padding: 6px 12px;
    font: 600 12px/1.4 ui-sans-serif, system-ui, sans-serif;
    letter-spacing: .02em;
    text-align: center;
    color: #1b1300;
    background: #ffc94d;
    pointer-events: none;
}
