/* Extracted inline styles for soso-archive. */


/* From hk_archive_inline_styles */
/* Archive Page Plugin - 内联样式 */
.archive-filter-sidebar {
background: #f8f9fa;
padding: 20px;
border-radius: 8px;
border: 1px solid #e9ecef;
}
.archive-filter-sidebar h3 {
margin-top: 0;
margin-bottom: 15px;
font-size: 1.1rem;
color: #333;
}
.archive-filter-group {
margin-bottom: 20px;
}
.archive-filter-group label {
display: block;
margin-bottom: 5px;
font-weight: 500;
font-size: 0.9rem;
}
.archive-filter-select,
.archive-filter-select-multi {
width: 100%;
padding: 8px 12px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 0.9rem;
background: #fff;
}
.archive-filter-select:focus,
.archive-filter-select-multi:focus {
outline: none;
border-color: #007cba;
box-shadow: 0 0 0 1px #007cba;
}
.archive-filter-btn {
background: #007cba;
color: #fff;
border: none;
padding: 10px 20px;
border-radius: 4px;
cursor: pointer;
font-size: 0.9rem;
font-weight: 500;
width: 100%;
margin-top: 10px;
}
.archive-filter-btn:hover {
background: #005a87;
}
.archive-filter-btn:disabled {
background: #ccc;
cursor: not-allowed;
}
.archive-results-container {
margin-top: 20px;
}
.archive-loading {
text-align: center;
padding: 20px;
color: #666;
}
.archive-no-results {
text-align: center;
padding: 40px 20px;
color: #666;
font-style: italic;
}
/* 响应式设计 */
@media (max-width: 768px) {
.archive-filter-sidebar {
margin-bottom: 20px;
}
}


/* From archive-render.php <style> block */
		.reference-archive-layout { display: flex; flex-direction: column; width: 100%; }
		.reference-archive-container { display: flex; gap: 30px; align-items: flex-start; margin-top: 20px; }
		.reference-sidebar { width: 260px; flex-shrink: 0; background: #fff; padding: 20px; border: 1px solid #eee; border-radius: 8px; position: sticky; top: 20px; max-height: calc(100vh - 40px); overflow-y: auto; }
		.reference-content { flex: 1; min-width: 0; }

		/* Hide desktop-sidebar-duplicated filters on desktop */
		@media (min-width: 901px) {
			.reference-archive-layout .archive-filter-reference-groups { display: none !important; }
			/* Hide the global School Type toggle on desktop as it is in the sidebar */
			.reference-archive-layout .archive-meta-toggle[id*="-related_profile_types"] { display: none !important; }
		}

		@media (max-width: 900px) {
			.reference-archive-container { flex-direction: column; }
			.reference-sidebar { display: none !important; }
		}

		.archive-sidebar-toggle.active .toggle-icon { transform: rotate(180deg); }


/* Extracted inline styles from archive-render.php and filters. */
.archive-filter-item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    background: #fff;
    padding: 8px 12px;
    border: 1px solid #eee;
    border-radius: 6px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.archive-filter-item-label {
    font-size: 13px;
    color: #444;
    white-space: nowrap;
    min-width: 60px;
}

.archive-filter-control {
    flex: 1;
    padding: 6px 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 13px;
    color: #555;
    background-color: #fcfcfc;
    outline: none;
    cursor: pointer;
    transition: border-color 0.2s;
}

.archive-filter-control:focus {
    border-color: #0073aa;
}

.archive-tax-toggle,
.archive-meta-toggle {
    padding: 8px 10px;
    background: #e8f4f8;
    color: #0073aa;
    border: 1px solid #bce0fd;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.8rem;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
}

.archive-toggle-caret {
    font-size: 0.8rem;
}

.university-filter-container.archive-filter-sidebar,
.archive-filter-sidebar--university {
    background: #f9f9f9;
    padding: 0;
    border-radius: 8px;
    margin-bottom: 10px;
    position: relative;
    z-index: 2000;
}

.uni-footer {
    margin-top: 14px;
}

.uni-btn-group {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.uni-btn {
    flex: 1 1 120px;
    padding: 8px;
    background: #fff;
    color: steelblue;
    border: 1px solid steelblue;
    text-decoration: none;
    text-align: center;
    border-radius: 4px;
    font-size: 0.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.uni-btn--primary {
    background: #0073aa;
    color: #fff;
    border-color: steelblue;
    cursor: pointer;
}

.archive-item.archive-tutorial-card {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 18px;
    background: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    box-sizing: border-box;
}

.archive-item.archive-default-card {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 20px;
    background: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.archive-card-header {
    display: flex;
    gap: 14px;
    align-items: center;
    margin-bottom: 12px;
}

.archive-card-header--default {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
    min-height: 70px;
    align-items: flex-start;
}

.archive-card-band {
    background: steelblue;
    padding: 6px 18px;
    margin: -10px -20px 15px -20px;
    color: #fff;
    font-size: 0.8rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Filter toolbar buttons. */
.archive-filter-pill {
    padding: 8px 10px;
    background: #e8f4f8;
    color: #0073aa;
    border: 1px solid #bce0fd;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.8rem;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
}

.archive-filter-pill .label-short {
    display: none;
}

.archive-toggle-caret {
    font-size: 0.8rem;
}

.archive-filter-search {
    flex: 1;
    padding: 8px 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-sizing: border-box;
    font-size: 0.8rem;
    min-width: 0;
}

.archive-filter-action {
    flex: 1;
    padding: 6px;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.8rem;
    white-space: nowrap;
}

.archive-filter-action--compare {
    background: #17a2b8;
}

.archive-filter-action--apply {
    background: #0073aa;
}

.archive-filter-action--clear {
    background: #e74c3c;
}

/* Action buttons in cards. */
.archive-action-btn {
    flex: 1 1 120px;
    padding: 8px;
    background: #fff;
    color: steelblue;
    border: 1px solid steelblue;
    text-decoration: none;
    text-align: center;
    border-radius: 4px;
    font-size: 0.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.archive-action-btn--primary {
    background: #0073aa;
    color: #fff;
    cursor: pointer;
}

.archive-meta-row {
    display: flex;
    font-size: 0.8rem;
    margin: 5px 0;
    line-height: 1.4;
}

.archive-meta-label {
    color: steelblue;
    font-weight: 600;
    flex: 0 0 80px;
}

/* Additional extracted inline styles. */
.archive-filter-control--hidden {
    display: none;
}

.archive-tax-panel,
.archive-meta-panel {
    display: none;
    background: #fff;
    padding: 12px;
    border-radius: 8px;
    margin-top: 10px;
    border: 1px solid #ddd;
}

.archive-panel-chip-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.archive-tax-term-btn,
.archive-meta-val-btn,
.uni-sat-btn,
.uni-deadline-btn {
    padding: 6px 12px;
    border: 1px solid #ddd;
    background: #fff;
    color: #666;
    border-radius: 20px !important;
    cursor: pointer;
    font-size: 0.85rem;
}

.archive-tax-term-btn.active,
.archive-meta-val-btn.active,
.uni-sat-btn.active,
.uni-deadline-btn.active {
    background: #0073aa;
    border-color: #0073aa;
    color: #fff;
}

.archive-filter-toolbar {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
    position: relative;
    flex-wrap: nowrap;
    align-items: center;
}

.archive-filter-toolbar--wrap {
    flex-wrap: wrap;
}

.hk-filter-top-row {
    display: flex;
    gap: 12px;
    align-items: stretch;
}

.hk-view-toggle {
    width: 200px;
    height: 40px;
    flex-shrink: 0;
    display: none;
    cursor: pointer;
    transition: transform 0.2s;
    border-radius: 8px;
    align-items: center;
    justify-content: center;
    background: #0073aa;
    color: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.hk-view-toggle-content {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.9rem;
    font-weight: 600;
}

@media (min-width: 900px) {
    .hk-view-toggle {
        display: flex !important;
    }
}

.hk-view-toggle:hover {
    transform: translateY(-2px);
    background: #006395;
}

.hk-profile-filter-form .hk-filter-container {
    flex: 1;
    background: #fff;
    padding: 0;
    border-radius: 8px;
    position: relative;
    z-index: 2000;
}

.hk-filter-buttons-row {
    display: flex;
    gap: 5px;
    align-items: center;
    flex-wrap: nowrap;
}

.hk-filter-buttons-row--spaced {
    margin-bottom: 5px;
}

.hk-filter-reset {
    padding: 8px 12px;
    background: #999;
    color: #fff;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    white-space: nowrap;
    font-size: 0.8rem;
}

.hk-calc-btn {
    padding: 6px 10px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.8rem;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border: 1px solid transparent;
    background: transparent;
    color: inherit;
}

.hk-calc-btn--primary {
    background: #fff;
    color: #0073aa;
    border-color: #0073aa;
}

.hk-calc-btn--reset {
    background: #f0f0f1;
    color: #333;
    border-color: #ccc;
}

.hk-type-btn {
    padding: 6px 12px;
    border: 1px solid #ddd;
    background: #fff;
    color: #666;
    border-radius: 20px;
    cursor: pointer;
    font-size: 0.85rem;
}

.hk-type-btn.active {
    background: #0073aa;
    border-color: #0073aa;
    color: #fff;
}

.uni-filter-buttons-row {
    display: flex;
    gap: 5px;
    align-items: center;
    flex-wrap: nowrap;
    flex-shrink: 0;
}

.uni-filter-toggle {
    padding: 8px 10px;
    background: #e8f4f8;
    color: #0073aa;
    border: 1px solid #bce0fd;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.8rem;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
}

.hk-fav-wrapper,
.hk-other-fav-wrapper {
    position: relative;
    flex-shrink: 0;
}

.favorites-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: auto;
    z-index: 100;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-top: 5px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    width: 460px;
    max-width: calc(100vw - 16px);
    max-height: 60vh;
    overflow-y: auto;
    box-sizing: border-box;
}

.favorites-dropdown--profile {
    left: auto;
    right: 0;
    min-width: 320px;
    width: 320px;
}

.favorites-dropdown .archive-filter-action--clear {
    background: #c0392b;
    color: #fff;
}

.favorites-dropdown .archive-filter-action--clear:hover {
    background: #a93226;
}

.favorites-dropdown--compact {
    max-height: 360px;
}

.favorites-dropdown-actions {
    border-top: 1px solid #eee;
    padding: 8px;
    display: flex;
    gap: 5px;
}

@media (max-width: 768px) {
    .archive-filter-action-buttons-row {
        position: relative;
    }

    .archive-filter-action-buttons-row .hk-other-fav-wrapper {
        position: static;
    }

    .archive-filter-action-buttons-row .favorites-dropdown {
        left: 0;
        right: 0;
        width: 100%;
        max-width: none;
    }
}

.archive-filter-search-row {
    display: flex;
    gap: 8px;
    align-items: center;
    flex: 1 1 360px;
    min-width: 0;
}

.archive-filter-search-row--compact {
    flex: 1;
    gap: 5px;
    min-width: 250px;
}

.uni-filter-panel {
    display: none;
    background: #fff;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 10px;
    border: 1px solid #ddd;
}

.uni-panel-title {
    font-weight: 700;
    color: #333;
    margin-bottom: 10px;
}

.uni-rank-label {
    font-size: 0.85rem;
    color: #555;
    margin-bottom: 6px;
    font-weight: 600;
}

.uni-rank-help {
    font-size: 0.75rem;
    color: #888;
    margin-top: 6px;
}

.uni-req-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: flex-start;
}

.uni-req-col {
    min-width: 220px;
    flex: 1;
}

.uni-chip-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.uni-location-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-start;
}

.uni-location-col {
    min-width: 240px;
    flex: 1;
}

.archive-filter-grid {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.archive-filter-groups {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.archive-filter-tax-group {
    flex: 1 1 220px;
    min-width: 200px;
}

.archive-filter-reference-groups {
    display: contents;
}

.archive-filter-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.archive-filter-action-buttons-row {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: nowrap;
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    flex: 0 0 auto;
}

.archive-filter-buttons {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.archive-results {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}

.archive-pagination {
    margin-top: 30px;
    text-align: center;
}

.archive-no-results {
    grid-column: 1 / -1;
}

.uni-req-modal {
    display: none;
    position: fixed;
    z-index: 2147483647;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    align-items: center;
    justify-content: center;
}

.uni-req-modal-content {
    background: #fff;
    width: 90%;
    max-width: 900px;
    max-height: 90vh;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
    position: relative;
}

.uni-req-close {
    position: absolute;
    right: 12px;
    top: 8px;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    color: #666;
    z-index: 5;
}

.uni-req-modal-body {
    max-height: 90vh;
    overflow: auto;
    padding: 12px;
}

.archive-tutorial-header {
    margin-bottom: 20px;
}

.archive-tutorial-title-en {
    color: goldenrod;
    font-size: 1rem;
    margin-top: 10px;
    margin-bottom: 20px;
    font-weight: 500;
    text-align: center;
}

.archive-tutorial-title-zh {
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
}

.archive-tutorial-title-zh-highlight {
    color: steelblue;
}

.archive-card-header-block {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
    align-items: center;
}

.archive-card-header-link {
    text-decoration: none;
}

.archive-card-header-image {
    width: 50px;
    height: 50px;
    object-fit: cover;
    border-radius: 4px;
    flex-shrink: 0;
}

.archive-card-header-content {
    flex: 1;
    min-width: 0;
}

.archive-card-short {
    font-size: 0.72rem;
    color: #777;
    margin-bottom: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.archive-card-title-link {
    text-decoration: none;
    color: inherit;
}

.archive-card-title-cn {
    font-size: 0.95rem;
    font-weight: 600;
    color: #333;
    line-height: 1.2;
    margin-bottom: 2px;
}

.archive-card-title-en {
    font-size: 0.72rem;
    color: #666;
    line-height: 1.2;
}

.archive-card-fields {
    margin-bottom: 15px;
    flex: 1;
    min-width: 0;
}

.archive-meta-value {
    color: #666;
    flex: 1;
    margin-left: 5px;
}

.post-card-wrapper {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 20px;
    background: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    box-sizing: border-box;
}

.post-card-divider {
    border-top: 1px solid lightgrey;
    margin: 10px 0;
}

.post-card-footer {
    margin-top: auto;
}

.post-card-buttons {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
