/* Keep the first Blog sidebar block flush; separate only rendered siblings. */
.sidebar.sidebar-main > .block-blog-search + :is(.block-blog-categories, .block-blog-recent-posts),
.sidebar.sidebar-main > .block-blog-categories + .block-blog-recent-posts {
    margin-top: 2rem;
}

/* Keep Blog widget titles neutral at rest and use the configured link interaction color. */
.blog-widget-post-list h3 > a,
.blog-widget-carousel h3 > a {
    color: inherit;
    transition: color 200ms ease;
}

.blog-widget-post-list h3 > a:is(:hover, :focus-visible),
.blog-widget-carousel h3 > a:is(:hover, :focus-visible) {
    color: var(--ca-color-link-hover, var(--ca-link-color, var(--ca-primary, #ff5500)));
}

.blog-sidebar-search-field {
    position: relative;
}

.blog-sidebar-search-input.form-input {
    display: block;
    width: 100%;
    height: 40px;
    border: 1px solid var(--ca-color-border, #e2e8f0);
    border-radius: var(--ca-top-search-radius, 4px);
    background-color: var(--ca-color-surface-muted, #f8fafc);
    padding: 0 2.75rem 0 1rem;
    color: var(--ca-color-text-primary, #334155);
    font-size: .875rem;
    line-height: 1.25rem;
    box-shadow: none;
}

.blog-sidebar-search-input.form-input::placeholder {
    color: var(--color-slate-400, #94a3b8);
}

.blog-sidebar-search-input.form-input:focus {
    border-color: var(--ca-primary, #ff5500);
    outline: none;
    box-shadow: none;
}

.blog-sidebar-search-submit {
    position: absolute;
    inset-block: 0;
    inset-inline-end: 0;
    display: inline-flex;
    width: 2.75rem;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    padding: 0;
    color: var(--color-slate-400, #94a3b8);
    transition: color 150ms ease;
}

.blog-sidebar-search-submit:hover {
    color: var(--ca-primary, #ff5500);
}

@media (max-width: 767px) {
    .sidebar.sidebar-main > .block-blog-search + :is(.block-blog-categories, .block-blog-recent-posts),
    .sidebar.sidebar-main > .block-blog-categories + .block-blog-recent-posts {
        margin-top: 1rem;
    }
}
