/* Grid container */
.journal-grid {
    display: grid;
    grid-template-columns: 1fr; /* 1 column taking full width */
    gap: 20px;
}

/* Individual journal card */
.journal-card {
    background: #fff;
    border: 1px solid #aaa;
    border-radius: 10px;
    padding: 15px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

/* Field styling */
.journal-title {
    font-size: 1.2rem;
    margin-bottom: 10px;
}

.journal-publisher,
.journal-website,
.journal-apc,
.journal-indexing,
.journal-subjects,
.journal-frequency {
    margin: 5px 0;
}

/* Filter form container */
#journal-filter {
    display: flex;
    flex-direction: column; /* stack inputs vertically */
    gap: 15px;
    width: 100%;
    margin-bottom: 30px;
}

/* Search wrapper */
.qubic-search-wrapper {
    position: relative;
    width: 100%;
}

/* Search input with magnifying glass */
.qubic-search-wrapper input.filter-search {
    width: 100%;
    padding: 10px 40px 10px 10px; /* space for icon */
    box-sizing: border-box;
    font-size: 1rem;
    border-radius: 8px;
    border: 1px solid #aaa;
    height: 40px !important;
}

.filter-search::placeholder {
    color: #999;       /* same as Select2 placeholder */
    font-style: italic; /* optional for consistency */
}

/* Magnifying glass icon */
.qubic-search-wrapper .qubic-search-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #666;
    font-size: 18px;
    pointer-events: none;
}

/* Select2 dropdown styling */
.select2-container {
    width: 100% !important;
}

.select2-selection--single {
    height: 40px !important;
    padding: 5px 5px;
    border-radius: 8px;
    border: 1px solid #aaa !important;
}

.select2-selection__rendered {
    line-height: 28px;
}

.select2-selection__arrow {
    height: 38px !important;
    right: 5px !important;
}

.select2-selection__placeholder {
    color: #999 !important;  /* pick any colour you like */
    font-style: italic;      /* optional: make it italic to show it's a placeholder */
}

/* Hover state for dropdown options */
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #4F35BF !important; /* your purple background */
    color: #fff !important;               /* white text for contrast */
    transition: all 0.2s ease;
}

/* Style fieldsets */
#journal-filter fieldset {
    border: 1px solid #aaa;
    padding: 10px 15px;
    border-radius: 8px;
    width: 100%;
    margin-bottom: 15px;
}

/* Fieldset legend */
#journal-filter legend {
    font-weight: bold;
    padding: 0 5px;
}

/* Radio buttons stacked vertically */
#journal-filter fieldset label {
    display: block;
    margin-bottom: 8px;
    cursor: pointer;
}

#journal-filter input[type="radio"] {
    margin-right: 5px;
}

/* Responsive adjustments */
@media (max-width: 600px) {
    #journal-filter {
        gap: 10px;
    }
}
