/* 最外层容器 */
.main-container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.search-container {
    width: 100%;
    padding: 20px 0;
}

/* 卡片容器 */
.relay-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 25px;
    margin: 0 auto;
    justify-content: center;
}

/* 卡片样式 */
.relay-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    overflow: hidden;
    transition: transform 0.2s;
    display: flex;
    flex-direction: column;
    min-height: 480px;
}

.relay-card:hover {
    transform: translateY(-5px);
}

/* 卡片头部 */
.card-header {
    background: #2c3e50;
    color: white;
    padding: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.relay-name {
    color: #ffffff !important;
    margin: 0;
    font-size: 16px;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.region-tag {
    background: #3498db;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* 卡片内容区：去掉列表圆点 */
.card-body {
    padding: 20px;
    flex: 1;
    overflow-y: auto;
}

/* 关键：去掉列表默认圆点 + 内外边距 */
.relay-info-list {
    list-style: none !important; /* 强制去掉圆点 */
    padding: 0 !important;
    margin: 0 !important;
}

.relay-info-list li {
    padding: 10px 0;
    border-bottom: 1px solid #f5f5f5;
    font-size: 15px;
}

.relay-info-list li:last-child {
    border-bottom: none;
}

/* 卡片底部 */
.card-footer {
    padding: 12px 20px;
    background: #f8f9fa;
    font-size: 13px;
    color: #666;
    border-top: 1px solid #eee;
    flex-shrink: 0;
}

/* 恢复分页美观样式（匹配页面深色系） */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 30px 0 20px;
    flex-wrap: wrap;
}

.page-link {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #333;
    text-decoration: none;
    transition: background 0.2s;
}

/* 活跃页样式（匹配卡片头部深色） */
.page-link.active {
    background: #2c3e50;
    color: white !important;
    border-color: #2c3e50;
}

.page-link:hover:not(.active) {
    background: #f0f0f0;
}

.page-ellipsis {
    padding: 0 8px;
    color: #666;
}

.page-info {
    margin-left: 10px;
    color: #666;
    font-size: 14px;
}

/* 响应式适配 */
@media (max-width: 1300px) {
    .relay-cards {
        grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    }
}

@media (max-width: 1000px) {
    .relay-cards {
        grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    }
}

@media (max-width: 650px) {
    .relay-cards {
        grid-template-columns: 1fr;
    }
}

/* 通用样式 */
.alert {
    padding: 15px;
    border-radius: 4px;
    margin: 10px 0;
}

.alert-danger {
    background: #f8d7da;
    color: #721c24;
}

.alert-info {
    background: #d1ecf1;
    color: #0c5460;
}

.result-summary {
    padding: 0 15px; /* 取消上下内边距，改用flex居中控制垂直间距 */
    background: #f8f9fa;
    border-radius: 4px;
    margin-bottom: 20px;
    /* 关键：弹性布局实现垂直+水平居中 */
    display: flex;
    align-items: center; /* 垂直居中 */
    justify-content: center; /* 水平居中（替代text-center） */
    min-height: 60px; /* 增加最小高度，让区域更饱满，避免文字靠上 */
}

/* 清除p标签的默认margin，避免影响居中 */
.result-summary p {
    margin: 0;
    font-size: 16px;
}