/* AI search: header entry point + search page template.
   The search UI itself is rendered by the ss-ai-search plugin. */

/* #page-section is a centered flex column, so its .page-content child shrinks
   to fit content by default; force it to stretch full width on pages that
   render the search so it isn't narrow until search results add width. */
#page-section .page-content:has(.ss-ai-search) {
    width: 100%;
    align-self: stretch;
}

/* Header search icon (2023 nav) */
.ssau-old-nav .ssau-old-header-search {
    display: inline-flex;
    align-items: center;
    margin-right: 20px;
    line-height: 0;
}

.ssau-old-nav .ssau-old-header-search svg {
    width: 24px;
    height: 24px;
    display: block;
    stroke: #00afaa;
    stroke-width: 1px;
}

/* Stacked off-canvas nav */
@media (max-width: 1024px) {
    .ssau-old-nav .ssau-old-header-search {
        margin: 0 0 16px;
    }
}

/* AI Search page template (template-ai-search-2026.php) */
.ssau-ai-search-hero {
    width: 100%;
    display: flex;
    justify-content: center;
    background-color: #fff;
    padding: 140px 0 0;
}

.ssau-ai-search-hero-inner {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 150px;
}

.ssau-ai-search-title {
    margin: 0;
    font-size: 56px;
    font-weight: 700;
    line-height: 67px;
    letter-spacing: -0.035em;
    text-align: center;
    color: var(--primary-blue, #07324a);
}

/* The template splits the title so its first word carries the brand colour,
   as the leadership and section titles do. */
.ssau-ai-search-title span {
    color: #00afaa;
}

.ssau-ai-search-body {
    padding: 40px 0 100px;
}

/* Idle state only: a 100px tail under the centred wording reads as the copy
   sitting high, so the section closes up. The plugin hides the wording on
   search, which brings the gap back under the results. */
.ssau-ai-search-body:has(.ss-ai-search__intro:not([hidden])) {
    padding-bottom: 0;
}

/* Match hero width and padding */
.ssau-ai-search-container {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 150px;
}

.ssau-ai-search-page .ss-ai-search__results {
    min-height: 320px;
}
/* No bottom margin: the gap below belongs to the hero's padding. */
.ssau-ai-search-subtitle-page {
    font-family: var(--ssau-ff-roboto);
    max-width: 620px;
    margin: 14px auto 0;
    text-align: center;
    color: rgba(16, 64, 90, 0.65);
    line-height: 1.6;
    font-size: 18px;
}
@media screen and (max-width: 1300px) {
    .ssau-ai-search-hero-inner,
    .ssau-ai-search-container {
        padding: 0 80px;
    }
}

@media screen and (max-width: 900px) {
    .ssau-ai-search-title {
        font-size: 48px;
        line-height: 58px;
    }
}

@media screen and (max-width: 600px) {
    .ssau-ai-search-hero {
        padding-top: 110px;
    }

    .ssau-ai-search-title {
        font-size: 40px;
        line-height: 48px;
    }

    .ssau-ai-search-body {
        padding: 24px 0 60px;
    }

    .ssau-ai-search-hero-inner,
    .ssau-ai-search-container {
        padding: 0 20px;
    }

    .ssau-ai-search-page .ss-ai-search__results {
        min-height: 160px;
    }
}
