/* ==================================================================== */
/* 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;
}

/* 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;
}
