:root{
  --cp-blue:#0b3b86;
  --cp-blue-2:#0a2f6c;
  --cp-purple: #7e5bc2;
  --cp-purple-2: #8559b4;
  --cp-yellow-1: #dfcc20;
  --cp-main: #6a1a68;
}
*, 
*::before, 
*::after {
   box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
}
ul, ol {
    list-style: none;
}

li::marker {
    content: none;
}

.cp-logo{height:60px;width:auto;}
.cp-site-title{font-weight:700;font-size:22px;line-height:1.5;color: var(--cp-purple);}
.cp-site-subtitle{font-size:11px;color:#6c757d;line-height:1.2;}

/* 小屏优化：logo 在上，文字在下 */
@media (max-width: 768px) {
  .cp-brand-center {
    flex-direction: column;
    gap: 8px;
  }

  .cp-site-title {
    font-size: 18px;
  }
}

.cp-navbar .nav-link {
  font-weight: 500;
  color: #fff;
  padding: var(--bs-navbar-toggler-padding-x);
}
.cp-navbar .nav-link.active{color:var(--cp-blue);}

@media (min-width: 992px) {
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: var(--bs-navbar-toggler-padding-x);
        padding-left: var(--bs-navbar-toggler-padding-x);
    }
}

.cp-hero{position:relative;}
.cp-hero .carousel-item{
  height:640px;
  background-size:cover;
  background-position:center;
}

.cp-section-title{
  font-size: 20px;
  font-weight:800;
  color:var(--cp-purple);
  letter-spacing:0.5px;
}

.cp-btn-primary{
  background:var(--cp-purple);
  border-color:var(--cp-purple);
} 
.cp-btn-primary:hover{
  background:var(--cp-purple-2);
  border-color:var(--cp-purple-2);
} 

.cp-link {
  color: var(--cp-main);
}

.cp-card-cover {
  width: 100%;
  height: 280px;              /* ✅ 固定高度（你可调 200 / 240） */
  overflow: hidden;
  position: relative;
  background: #f5f5f5;
}
.cp-card-cover--lg {
  height: 580px;
}
/* 图片自适应裁切 */
.cp-cover-img {
  width: 100%;
  height: 100%;
  object-fit: cover;          /* ✅ 等比填充，超出裁切 */
  object-position: center;    /* 居中裁切 */
  display: block;
}

.cp-sidebar {
  min-height: 400px;
}

.cp-sidebar .list-group-item{
  border:0;
  border-radius:0;
  padding:.5rem 0;
  color:#444;
}
.cp-sidebar .list-group-item.active{
  background:transparent;
  color:var(--cp-main);
  font-weight:700;
}

.cp-article-body img{
  max-width:100%;
  height:auto;
}

.card-img-top {
  height: 180px;
  object-fit: cover;
}

.card-text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.cp-footer-top{color:#fff; background:var(--cp-main);line-height: 2.5;}
.cp-footer-bottom{color:#fff; background:var(--cp-purple-2);}
.cp-footer-title{color:#fff;font-weight:800;}

.cp-qr-box{
  border-radius:10px;
  padding:8px;
}

.query-form {
  max-width: 1100px;
}

.label-fixed {
  min-width: 80px;
  font-size: 18px;
  color: #000;
  white-space: nowrap;
}

.input-lg {
  height: 52px;
  font-size: 16px;
  border-radius: 10px;
}

.form-select.input-lg {
  padding-right: 40px;
}

.captcha-img {
  height: 40px;
  cursor: pointer;
  border: 1px solid #ddd;
  border-radius: 6px;
}

.btn-query {
  height: 56px;
  font-size: 20px;
  border-radius: 12px;
  background-color: var(--cp-purple);
  border-color: var(--cp-purple);
  max-width: 500px;
}
.btn-query.disabled {
  opacity: 0.5;
  background-color: var(--cp-purple);
  border-color: var(--cp-purple);
}

.btn-query:hover,
.btn-query:focus {
  background-color: var(--cp-purple);
  border-color: var(--cp-purple);
}

.btn-view,
.btn-view:hover {
  color: #fff;
  background-color: var(--cp-purple);
  border-color: var(--cp-purple);
}

@media (max-width: 992px){
  .cp-site-title{font-size:13px;}
  .cp-hero .carousel-item{height:240px;}
}

.dropdown-menu .dropdown-item:hover {
  color: var(--cp-main);
}

.dropdown-menu .dropdown-item:focus {
  color: #fff;
  background-color: var(--cp-main);
}

.partner-container .partner-logo {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
.border.rounded-3 {
  height: 100%;
}

#cp-article-container img {
  max-width: 100%;
}
