/*
  听·山河页面专属样式 (circle.css) - 红色文化主题版
*/

/* 整体网格布局 */
.content-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 2rem;
}
@media (min-width: 1100px) {
  .content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 容器 */
.map-container {
  width: 100%; 
  background-color: #fff; border-radius: 0.375rem;
}
@media (min-width: 1024px) { .map-container { height: 38rem; } }

/* 搜索 */
.search-container { display: flex; margin-bottom: 1rem; }
.search-input {
  flex-grow: 1; padding: 0.6rem 1rem; border: 1px solid #d1d5db;
  border-right: none; border-radius: 0.375rem 0 0 0.375rem; font-size: 0.95rem;
}
.search-input:focus { outline: none; border-color: var(--theme-red); }
.search-button {
  background-color: var(--theme-red); color: white; border: none;
  border-radius: 0 0.375rem 0.375rem 0; padding: 0 1rem; cursor: pointer;
}
.search-button:hover { background-color: var(--theme-red-dark); }

/* 列表 */
.song-list-container {
  flex-grow: 1; overflow-y: auto; padding-right: 0.5rem; max-height: 28rem;
  background-color: #fff; border: 1px solid #e5e7eb; border-radius: 0.375rem;
}

.song-item {
  padding: 0.75rem 1rem; border-bottom: 1px solid #f3f4f6; transition: all 0.2s;
}
.song-item:hover { background-color: #fef2f2; }
.song-item-content { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.song-details { flex-grow: 1; min-width: 0; }
.song-title { font-weight: 600; font-size: 1rem; color: #333; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.song-artist { font-size: 0.8rem; color: #666; margin-top: 2px; }
.song-region { background: var(--theme-red); color: white; padding: 1px 6px; border-radius: 99px; font-size: 0.7rem; margin-left: 0.5rem; }
.song-controls { display: flex; align-items: center; gap: 0.5rem; flex-shrink: 0; }
.audio-player {
  height: 2.5rem;
  width: 10rem;
  border-radius: 50px;
}
@media (min-width: 768px) {
  .audio-player {
    width: 16rem;
  }
}
.no-audio-text { font-size: 0.75rem; color: #ccc; }
.song-description { margin-top: 0.5rem; font-size: 0.85rem; color: #555; padding-left: 0.5rem; border-left: 2px solid #fca5a5; line-height: 1.4; }


.nav-favorite-wrapper {
    position: relative;
    margin-left: 1rem; /* 保持与 auth-container 的间距 */
    line-height: 1; /* 确保高度正常 */
    margin-top: -18px;   /* 爱心 + +1 一起往上，自行调整 */
}

.nav-favorite-link {
    color: #9ca3af;
    /* 移除原来的 margin-left: 1rem; */
    transition: color 0.2s, transform 0.2s;
}
.nav-favorite-link:hover {
    color: var(--theme-red);
    transform: scale(1.1);
}

/* plus-one-indicator 相对于新包装器定位 */
.plus-one-indicator {
    position: absolute;
    top: -0.5rem; /* 向上偏移 */
    right: 0.5rem; /* 向右偏移 */
    color: var(--theme-red);
    font-weight: 900;
    font-size: 0.75rem; /* 字体小一点，更像徽章 */
    opacity: 0;
    pointer-events: none;
    /* 动画初始状态 */
    transform: translateY(-0.5rem); 
}
/* 动画 Keyframes 保持不变 */
@keyframes plus-one-animation {
    0% { opacity: 1; transform: translateY(0) scale(1); }
    100% { opacity: 0; transform: translateY(-20px) scale(1.5); }
}
.plus-one-anim {
    animation: plus-one-animation 0.6s ease-out forwards;
}
/* 局部样式：地域分析模块 */
.analysis-box {
    margin-top: 2rem;
    border-top: 2px dashed #EAE1D3;
    padding-top: 1.5rem;
    animation: fadeIn 0.5s ease-in-out;
}
.analysis-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}
.analysis-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #C12C1F;
}
.analysis-content {
    background-color: #FFFBF5;
    border: 1px solid #EAE1D3;
    border-left: 4px solid #C12C1F;
    padding: 1.25rem;
    border-radius: 0.5rem;
    color: #4b5563;
    line-height: 1.8;
    font-size: 1rem;
    min-height: 100px;
}
.analysis-tag {
    background-color: #C12C1F;
    color: white;
    padding: 0.2rem 0.6rem;
    border-radius: 0.25rem;
    font-size: 0.75rem;
    margin-right: 0.5rem;
}
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }