/* ==================================================================== */
/* TENANT ESSENTIALS                                                    */
/* ==================================================================== */
/*
   Rules every tenant page needs regardless of which theme it wears.

   base_tenant.html loads this OUTSIDE {% block theme_stylesheet %}, so a
   bespoke theme that overrides that block still gets these. They are not
   theming — one is a security control and one is application behaviour —
   and a theme has no reason to restyle either.

   Anything that changes what a page DOES rather than how it looks belongs
   here, not in tenant_themes.css.
*/

/* ------------------------------------------------------------------ */
/* SPAM PROTECTION (TICKET-012)                                        */
/* ------------------------------------------------------------------ */

/* Honeypot field — hidden from real users, bots auto-fill it.         */
/* position:absolute + left:-9999px moves it off-screen without        */
/* display:none, which some bots detect and skip.                      */
/* A filled honeypot makes the server discard the submission behind a  */
/* fake success page, so if this rule ever fails to load, real people  */
/* see the field, fill it in, and lose their application silently.     */
.form-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* ------------------------------------------------------------------ */
/* JOB SEARCH (TICKET-036)                                             */
/* ------------------------------------------------------------------ */

/* Hidden state used by job-search.js to show/hide cards and the       */
/* no-results message — avoids inline styles per project convention.   */
.job-search-hidden {
    display: none;
}

/* The Jobs and Insights lists: the headline and intro sit in a full-width band so a
   background colour can run edge to edge. The band holds the top padding the page
   used to carry, and flow-root keeps the margins of the heading and intro inside it,
   so the spacing is the same whether or not a colour is chosen. */
.list-page {
    padding-bottom: 3rem;
}

.list-page-header {
    display: flow-root;
    padding-top: 3rem;
}

/* Jobs page intro paragraph. Sits between the heading and the search box, so
   it needs to read as supporting copy rather than compete with either. Capped
   for line length: a full-width paragraph across a wide screen is hard to
   scan, and this one is the first thing a candidate reads. */
.jobs-intro {
    max-width: 65ch;
    font-size: 1.05rem;
    line-height: 1.7;
}

.jobs-intro p:last-child {
    margin-bottom: 0;
}
