/* =========================================================
   Filter Bar
   ========================================================= */

.bv-archive-filter-top {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);

    margin: 1.25rem 0 2rem;
    padding: 1rem 1.25rem;
    display: flex;
    justify-content: center;

    background: var(--bv-card-bg);
    border-top: 1px solid var(--bv-border-soft);
    border-bottom: 1px solid var(--bv-border-soft);
    box-shadow: var(--bv-shadow-elevated);
}

.bv-archive-filter-form.horizontal-centered {
    display: flex;
    justify-content: center;
    width: 100%;
}

.bv-my-journals-filter-form {
    width: min(100%, 1400px);
}

.bv-archive-filter-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    gap: 1.25rem;
    width: 100%;
}

.bv-archive-filter-field {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    min-width: 180px;
    color: var(--bv-label-color);
}

.bv-archive-filter-field label {
    font-size: 16px;
    font-weight: 600;
    color: var(--bv-text-primary);
}

.bv-archive-filter-field select,
.bv-archive-filter-field input[type="text"],
.bv-archive-filter-field input[type="date"] {
    min-height: 46px;
    font-size: 14px;
    padding: 0.7rem 0.9rem;
    background: var(--bv-input-bg);
    border: 1px solid var(--bv-input-border);
    border-radius: var(--bv-input-radius);
    color: var(--bv-input-text);
    font-size: 1rem;
    font-family: inherit;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.bv-archive-filter-field select:hover,
.bv-archive-filter-field input[type="text"]:hover,
.bv-archive-filter-field input[type="date"]:hover {
    border-color: var(--bv-accent-border-soft);
}

.bv-archive-filter-field select:focus,
.bv-archive-filter-field input[type="text"]:focus,
.bv-archive-filter-field input[type="date"]:focus {
    outline: none;
    border-color: var(--bv-accent);
    background: var(--bv-input-bg-focus);
    box-shadow: 0 0 0 3px var(--bv-accent-soft);
}

.bv-archive-filter-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: flex-end;
}

.bv-archive-filter-submit input[type="submit"] {
    min-height: 46px;
    padding: 0.7rem 1.35rem;
    background: var(--bv-btn-bg);
    color: var(--bv-btn-text);
    font-size: 14px !important;
    font-weight: 700;
    border: 1px solid var(--bv-btn-border);
    border-radius: var(--bv-btn-radius);
    cursor: pointer;
    font-size: 1rem;
    transition: border-color 0.2s ease, transform 0.2s ease, background 0.2s ease;
}

.bv-archive-filter-submit .bv-my-journals-submit {
    min-height: 46px;
    padding: 0.7rem 1.35rem;
    border: 1px solid var(--bv-btn-border);
    border-radius: var(--bv-btn-radius);
    background: var(--bv-btn-bg);
    color: var(--bv-btn-text);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: border-color 0.2s ease, transform 0.2s ease, background 0.2s ease;
}

.bv-archive-filter-submit input[type="submit"]:hover {
    border-color: var(--bv-accent);
    background: var(--bv-surface-soft);
    transform: translateY(-1px);
}

.bv-archive-filter-submit .bv-my-journals-submit:hover {
    border-color: var(--bv-accent);
    background: var(--bv-surface-soft);
    transform: translateY(-1px);
}

.bv-archive-filter-submit input[type="submit"]:active {
    transform: translateY(0);
}

@media (max-width: 768px) {
    .bv-archive-filter-top {
        padding: 1rem;
    }

    .bv-archive-filter-row {
        flex-direction: column;
        align-items: stretch;
    }

    .bv-archive-filter-field,
    .bv-archive-filter-submit {
        width: 100%;
    }

    .bv-archive-filter-submit input[type="submit"] {
        width: 100%;
    }

    .bv-archive-filter-submit .bv-my-journals-submit {
        width: 100%;
    }
}
