/*
 * ThaerStack Base — base reset
 * Nothing else. All design is Elementor's responsibility.
 */

/*
 * Sticky footer layout.
 *
 * Two structures must be handled:
 *
 *   Standard:    body > [header.elementor] > main > [content.elementor] > [footer.elementor]
 *   Full-width:  body > [header.elementor] > [content.elementor] > [footer.elementor]
 *
 * Without this, a short page leaves blank space below the footer because
 * the body height equals content height, not the viewport height.
 *
 * body: flex column filling at least the full viewport height.
 * content: grows to consume all leftover space, pushing footer to the bottom.
 */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Standard pages — content is wrapped in <main> */
body > main {
    flex: 1 0 auto;
}

/*
 * Elementor full-width pages — no <main> wrapper, content is a direct body child.
 *
 * Header and footer rendered by thaerstack_render_elementor_template() always carry
 * data-elementor-type="page" (library templates). Content divs use distinct types:
 *   wp-*       → standard WP content (wp-post, wp-page, any CPT)
 *   single     → Elementor Pro Single template
 *   archive    → Elementor Pro Archive template
 *   search-results → Elementor Pro Search template
 *   404        → Elementor Pro 404 template
 *
 * Targeting these positively avoids accidentally selecting the header/footer divs.
 */
body > .elementor[data-elementor-type^="wp-"],
body > .elementor[data-elementor-type="single"],
body > .elementor[data-elementor-type="archive"],
body > .elementor[data-elementor-type="search-results"],
body > .elementor[data-elementor-type="404"] {
    flex: 1 0 auto;
}
