/* ================= 自习室详情 ================= */
.page {
  min-height: 100vh;
  padding: 0 24rpx;
  background: var(--xz);
}

/* ---------- 图册 ---------- */
.gallery {
  position: relative;
  margin: 20rpx 0 22rpx;
  border-radius: 22rpx;
  overflow: hidden;
  background: #EDE7E1;
}
.sw { width: 100%; height: 420rpx; }
.gi { width: 100%; height: 420rpx; }
.g-count {
  position: absolute; right: 16rpx; bottom: 16rpx;
  font-size: 22rpx; color: #fff;
  background: rgba(20, 26, 32, .58);
  border-radius: 999rpx; padding: 4rpx 18rpx;
}

/* ---------- 标题区 ---------- */
.head { margin-bottom: 22rpx; }
.h-name {
  font-size: 38rpx;
  font-weight: 600;
  color: var(--xs);
  line-height: 1.45;
}
.h-tags { margin-top: 16rpx; }
.h-tags .tag, .h-tags .badge { margin-bottom: 8rpx; }

/* ---------- 推荐理由高亮卡 ---------- */
.reason {
  background: #FBF3E9;
  border-left: 8rpx solid var(--gyj);
  border-radius: 0 20rpx 20rpx 0;
  padding: 24rpx 26rpx;
  margin-bottom: 0;
}
.reason-label {
  display: flex; align-items: center;
  font-size: 26rpx; font-weight: 600; color: #8A6D12;
  margin-bottom: 10rpx;
}
.reason-label .ico-sm { margin-right: 8rpx; }
.reason-text { font-size: 29rpx; color: var(--xs); line-height: 1.65; }
.detail-text { font-size: 26rpx; color: var(--t2); line-height: 1.75; }
.notice-li { position: relative; padding-left: 22rpx; margin-bottom: 8rpx; }
.notice-li::before {
  content: '';
  position: absolute; left: 0; top: 16rpx;
  width: 10rpx; height: 10rpx; border-radius: 5rpx; background: var(--djh);
}

/* ---------- 键值行补充 ---------- */
.kv { align-items: flex-start; }
.kv-go {
  color: var(--djh);
  font-size: 25rpx;
  margin-left: 10rpx;
  white-space: nowrap;
}
.kv-tip { font-size: 22rpx; color: var(--t3); }

/* ---------- 设施栅格 ---------- */

/* ---------- 长文 ---------- */
.detail-text {
  font-size: 28rpx;
  color: var(--t2);
  line-height: 1.85;
  text-align: justify;
}

/* ---------- 联系人 ---------- */
.contact { display: flex; align-items: center; }
.avatar {
  width: 88rpx; height: 88rpx;
  border-radius: 50%;
  flex: none;
  margin-right: 20rpx;
}
.ct-body { flex: 1; min-width: 0; }
.ct-name { font-size: 29rpx; font-weight: 600; color: var(--xs); }
.ct-title {
  font-size: 22rpx; color: var(--t2);
  background: #F1F3F5;
  border-radius: 8rpx;
  padding: 3rpx 12rpx;
  margin-left: 12rpx;
  font-weight: 400;
}
.ct-phone { font-size: 25rpx; color: var(--t2); margin-top: 6rpx; }

/* ---------- 提示 ---------- */
.note-wrap { margin-top: 22rpx; }
.note-wrap .ico-sm { flex: none; margin-top: 6rpx; margin-right: 10rpx; }

/* ---------- 底部操作条 ---------- */
.bottom-space { height: 170rpx; }
.bottom-bar {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  display: flex;
  align-items: center;
  padding: 16rpx 24rpx calc(16rpx + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, .98);
  border-top: 1rpx solid var(--line);
}
.bb-main {
  flex: 1;
  display: flex; align-items: center; justify-content: center;
  height: 84rpx;
  border-radius: 18rpx;
  background: linear-gradient(140deg, var(--dj2), var(--djh));
  color: #fff;
  font-size: 28rpx;
  font-weight: 500;
  box-shadow: 0 10rpx 24rpx -10rpx rgba(158, 27, 36, .65);
}
.bb-main .ico-sm { margin-right: 8rpx; }
.bb-item {
  flex: none;
  width: 116rpx;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  height: 84rpx;
  font-size: 21rpx;
  color: var(--t2);
  background: transparent;
  border: none;
  line-height: 1.3;
  padding: 0;
}
.bb-item .ico-sm { margin-bottom: 4rpx; }
.bb-share::after { border: none; }
