/* ============ 鹦鹉百科详情页 v12 重构样式 ============ */
.spv12{max-width:1180px;margin:0 auto;padding:14px 18px 60px;color:#2a2f26;font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
.spv-bread{font-size:13px;color:#7b8472;margin:8px 0 14px}
.spv-bread a{color:#5a6b50;text-decoration:none}
.spv-bread a:hover{color:#2f6b3a}
.spv-bread em{color:#2a2f26;font-style:normal;font-weight:500}

/* HERO（恢复初版：以封面图模糊作为氛围背景） */
.spv-hero{position:relative;border-radius:16px;overflow:hidden;margin-bottom:18px;min-height:340px;background:#1f3324}
.spv-hero-bg{position:absolute;inset:-30px;background-size:cover;background-position:center;background-repeat:no-repeat;filter:blur(28px) saturate(.9) brightness(.55)}
.spv-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(15,25,18,.78) 0%,rgba(15,25,18,.55) 55%,rgba(15,25,18,.35) 100%)}
.spv-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 340px;gap:24px;padding:32px 36px;color:#fff;align-items:start}
.spv-hero-aside{display:flex;flex-direction:column;gap:14px;align-self:stretch}
.spv-hero-photo{border-radius:14px;overflow:hidden;background:#1a2415;box-shadow:0 12px 32px rgba(0,0,0,.28);aspect-ratio:4/3}
.spv-hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.spv-title{font-size:42px;font-weight:700;margin:0;letter-spacing:1px}
.spv-en{font-size:18px;color:#dbe3d4;margin-top:6px}
.spv-latin{font-size:14px;color:#bcc8b3;margin-top:2px}
.spv-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.spv-pill{padding:5px 12px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:14px;font-size:12px}
.spv-lead{margin:14px 0 0;font-size:14px;color:#e5ecdf;line-height:1.7;max-width:520px}
.spv-hero-actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.spv-btn{padding:8px 16px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:8px;cursor:pointer;font-size:13px;transition:.2s}
.spv-btn:hover{background:rgba(255,255,255,.28)}
.spv-btn.is-on{background:#e23d5b;border-color:#e23d5b;color:#fff}
.spv-followers{display:flex;align-items:center;gap:10px;margin-top:22px;color:#dbe3d4;font-size:13px}
.spv-follower-avatars{display:flex}
.spv-fav{width:26px;height:26px;border-radius:50%;border:2px solid #2d3a26;margin-left:-8px;background:#7a8a6e linear-gradient(135deg,#a7b298,#5d6e51)}
.spv-fav.fav-1{background:#a7b298} .spv-fav.fav-2{background:#c9a87a} .spv-fav.fav-3{background:#8aa1c4}
.spv-fav.fav-4{background:#c08a7e} .spv-fav.fav-5{background:#6b8a6e}
.spv-fav:first-child{margin-left:0}
.spv-followers b{color:#fff}

.spv-hero-card{background:#fff;color:#2a2f26;border-radius:14px;padding:16px 20px;box-shadow:0 12px 32px rgba(0,0,0,.18)}
.spv-hc-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px dashed #eef0e8;font-size:13px}
.spv-hc-row:last-child{border-bottom:none}
.spv-hc-row .ic{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#f3f6ee;border-radius:6px;color:#2f6b3a;font-size:14px}
.spv-hc-row .ic.ok{background:#e7f3eb;color:#2f8b57}
.spv-hc-row>div{display:flex;flex-direction:column;line-height:1.4}
.spv-hc-row b{font-size:11px;color:#7b8472;font-weight:400}
.spv-hc-row em{font-style:normal;font-size:13px;color:#2a2f26;font-weight:500}
.spv-hc-tag{font-size:12.5px;color:#3a4a30}
/* 统一的绿色对勾图标（合法/保护级别等） */
.spv-check{width:18px;height:18px;border-radius:4px;background:#3b9a55;flex:none;display:inline-flex;align-items:center;justify-content:center;position:relative}
.spv-check::after{content:"";width:9px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}

@media(max-width:780px){
  .spv-hero-inner{grid-template-columns:1fr;padding:22px 18px;gap:16px}
  .spv-title{font-size:30px}
  .spv-hero-photo{aspect-ratio:16/10}
}

/* 通用卡片 */
.spv-card{background:#fff;border:1px solid #eef0e8;border-radius:14px;padding:22px 26px;margin-bottom:18px;box-shadow:0 2px 6px rgba(0,0,0,.03)}
.spv-h{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-size:17px;color:#2a2f26;font-weight:600}
.spv-h .b{width:4px;height:18px;border-radius:2px;background:#2f8b57}
.spv-h .b.green{background:#2f8b57} .spv-h .b.yellow{background:#e8b84a} .spv-h .b.orange{background:#e87a17}
.spv-h4{font-size:14px;color:#2f6b3a;margin:0 0 10px;font-weight:600}
.spv-row{display:grid;gap:18px;margin-bottom:18px}
.spv-row-2{grid-template-columns:1fr 1fr}
@media(max-width:880px){.spv-row-2{grid-template-columns:1fr}}

/* 评分一眼了解 */
.spv-rating-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:14px}
.spv-rt{text-align:left;padding:8px}
.spv-rt .t{font-size:12.5px;color:#5a6b50;margin-bottom:8px;white-space:nowrap}
.spv-rt .vv{font-size:14px;font-weight:600;color:#2a2f26}
.spv-stars{display:inline-flex;gap:2px;color:#dcd6c5;font-size:14px}
.spv-star.on{color:#f5b400}
.spv-ok{display:inline-block;width:22px;height:22px;border-radius:50%;background:#2f8b57;color:#fff;text-align:center;font-size:14px;line-height:22px}
@media(max-width:1000px){.spv-rating-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:520px){.spv-rating-grid{grid-template-columns:repeat(2,1fr)}}

/* 星级颜色（之前缺失，导致全部显示为黑色实心） */
.sp-stars{display:inline-flex;gap:2px;font-size:14px;line-height:1}
.sp-stars .sp-star{color:#e5e7eb}
.sp-stars .sp-star.on{color:#f5b400}

/* 我适合养它 / 购买指南 */
.spv-twocol{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:600px){.spv-twocol{grid-template-columns:1fr}}
.spv-yh{font-size:14px;font-weight:600;margin-bottom:10px;padding:8px 12px;border-radius:8px;background:#f3f6ee;color:#2f6b3a}
.spv-yh.ok{background:#e7f3eb;color:#2f8b57}
.spv-yh.no{background:#fdecea;color:#c0392b}
.spv-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.spv-checklist li{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;color:#3a4a30;line-height:1.5}
.spv-checklist .ic{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex:none;margin-top:2px}
.spv-checklist .ic.ok{background:#e7f3eb;color:#2f8b57}
.spv-checklist .ic.no{background:#fdecea;color:#c0392b}
.spv-checklist .ic.warn{background:#fef3c7;color:#b45309}
.spv-price{width:100%;border-collapse:collapse;font-size:13.5px}
.spv-price td{padding:8px 6px;border-bottom:1px dashed #eef0e8}
.spv-price td:last-child{text-align:right;color:#2f8b57;font-weight:600}

/* 月度成本 */
.spv-cost-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;align-items:stretch}
@media(max-width:900px){.spv-cost-row{grid-template-columns:repeat(2,1fr)}}
.spv-cost-item{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #eef0e8;border-radius:10px;background:#fafbf7}
.spv-cost-item .ic{font-size:22px}
.spv-cost-item b{display:block;font-size:12.5px;color:#7b8472;font-weight:400}
.spv-cost-item em{font-style:normal;font-size:15px;font-weight:600;color:#2a2f26}
.spv-cost-total{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:14px;border-radius:10px;background:linear-gradient(135deg,#e7f3eb,#d4ebd9);color:#2f6b3a}
.spv-cost-total b{font-size:13px}
.spv-cost-total em{font-style:normal;font-size:22px;font-weight:700;margin:4px 0}
.spv-cost-total small{font-size:11px;color:#5a6b50}
.spv-cost-tip{margin:14px 0 0;padding:10px 14px;background:#fff8e6;border-left:3px solid #f5b400;border-radius:6px;font-size:12.5px;color:#7a5a30}

/* 月度成本：空值占位 */
.spv-cost-empty{font-size:12.5px;color:#a8b29c;font-weight:400}

/* 月度成本 - 移动端紧凑版 */
@media(max-width:520px){
  .spv-cost-row{gap:8px}
  .spv-cost-item{padding:10px;gap:8px;border-radius:10px}
  .spv-cost-item .ic{font-size:18px}
  .spv-cost-item b{font-size:11.5px}
  .spv-cost-item em{font-size:13px}
  .spv-cost-total{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:12px 14px;gap:6px}
  .spv-cost-total b{font-size:13px;flex:none}
  .spv-cost-total em{font-size:18px;margin:0;white-space:nowrap}
  .spv-cost-total small{width:100%;text-align:center;font-size:11px;color:#5a6b50}
}

/* 投票 */
.spv-vote-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
@media(max-width:1000px){.spv-vote-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.spv-vote-grid{grid-template-columns:repeat(2,1fr);gap:10px}}
@media(max-width:360px){.spv-vote-grid{grid-template-columns:1fr}}
.spv-vote-item{padding:12px;border:1px solid #eef0e8;border-radius:10px;background:#fafbf7}
.spv-v-head{display:flex;align-items:baseline;gap:6px;margin-bottom:10px}
.spv-v-head b{font-size:14px;color:#2a2f26}
.spv-v-head small{font-size:11px;color:#7b8472}
.spv-donut{display:flex;gap:14px;align-items:center}
.spv-donut-ring{width:78px;height:78px;border-radius:50%;flex:none;position:relative;background:#e5e7eb;transition:background .3s}
.spv-donut-hole{position:absolute;inset:14px;background:#fafbf7;border-radius:50%;display:flex;align-items:center;justify-content:center}
.spv-donut-hole span{font-size:14px;font-weight:700;color:#2a2f26}
.spv-donut-legend{display:flex;flex-direction:column;gap:4px;flex:1}
.spv-vote-btn{display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer;font-size:12px;color:#3a4a30;text-align:left;transition:.15s}
.spv-vote-btn:hover{background:#fff;border-color:#dfe5d8}
.spv-vote-btn.is-my{background:#e7f3eb;border-color:#2f8b57;color:#2f6b3a;font-weight:600}
.spv-vote-btn .dot{width:8px;height:8px;border-radius:50%;flex:none}
.spv-vote-btn em{margin-left:auto;font-style:normal;font-size:11px;color:#7b8472}
.spv-vote-foot{margin-top:12px;text-align:right;font-size:12px;color:#7b8472}

/* 投票 - 移动端紧凑版 */
@media(max-width:520px){
  .spv-vote-item{padding:10px 9px;border-radius:12px}
  .spv-v-head{margin-bottom:8px;gap:4px;flex-wrap:wrap}
  .spv-v-head b{font-size:13px}
  .spv-v-head small{font-size:10px}
  .spv-donut{flex-direction:column;align-items:center;gap:8px}
  .spv-donut-ring{width:62px;height:62px}
  .spv-donut-hole{inset:11px}
  .spv-donut-hole span{font-size:12px}
  .spv-donut-legend{width:100%;gap:2px}
  .spv-vote-btn{padding:3px 6px;font-size:11px;gap:5px}
  .spv-vote-btn em{font-size:10px}
  .spv-vote-foot{text-align:center}
}

/* 投票 - 折叠（默认桌面展开，移动端默认折叠） */
.spv-vote-collapse > .spv-vote-summary{display:none}
@media(max-width:520px){
  .spv-vote-collapse{border:1px dashed #d4ddc8;border-radius:12px;background:#fafbf7}
  .spv-vote-collapse[open]{background:transparent;border-style:solid;border-color:#eef0e8}
  .spv-vote-collapse > .spv-vote-summary{
    display:flex;justify-content:space-between;align-items:center;
    padding:12px 14px;cursor:pointer;list-style:none;
    font-size:13px;color:#3a4a30;font-weight:600;
  }
  .spv-vote-collapse > .spv-vote-summary::-webkit-details-marker{display:none}
  .spv-vote-sum-arrow{transition:transform .2s;color:#7b8472}
  .spv-vote-collapse[open] .spv-vote-sum-arrow{transform:rotate(180deg)}
  .spv-vote-collapse[open] .spv-vote-summary{border-bottom:1px solid #eef0e8;margin-bottom:10px}
  .spv-vote-collapse[open] .spv-vote-sum-text::before{content:"📊 ";}
}

/* 颜色变异 */
.spv-morph-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.spv-morph-head .spv-h{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spv-morph-nav{display:flex;align-items:center;gap:8px;font-size:13px;color:#5a6b50}
.spv-morph-nav{flex:0 0 auto}
@media(max-width:480px){
  .spv-morph-head .spv-h{font-size:15px}
  .spv-morph-nav{gap:6px;font-size:12px}
  .spv-mbtn{width:26px;height:26px;font-size:14px}
}
.spv-mbtn{width:28px;height:28px;border:1px solid #dfe5d8;background:#fff;border-radius:6px;cursor:pointer;font-size:16px;color:#2f6b3a}
.spv-mbtn:hover{background:#f3f6ee}
.spv-morph-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
@media(max-width:700px){.spv-morph-grid{grid-template-columns:repeat(3,1fr);gap:10px}}
@media(max-width:420px){.spv-morph-grid{grid-template-columns:repeat(2,1fr);gap:10px}}
.spv-morph-item{aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:#f5f0e8;cursor:pointer;border:2px solid transparent;transition:.2s}
.spv-morph-item:hover{border-color:#2f8b57;transform:translateY(-2px)}
.spv-morph-item img{width:100%;height:100%;object-fit:cover;display:block}
.spv-lb{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:99999}
.spv-lb.open{display:flex}
.spv-lb img{max-width:92vw;max-height:90vh;object-fit:contain}
.spv-lb .cls{position:absolute;top:20px;right:24px;width:40px;height:40px;border:none;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:28px;cursor:pointer}
.spv-lb .lb-prev,.spv-lb .lb-next{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:none;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:36px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;-webkit-tap-highlight-color:transparent}
.spv-lb .lb-prev:hover,.spv-lb .lb-next:hover{background:rgba(255,255,255,.32)}
.spv-lb .lb-prev{left:20px}
.spv-lb .lb-next{right:20px}
.spv-lb .lb-count{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:#fff;font-size:14px;background:rgba(0,0,0,.45);padding:6px 14px;border-radius:999px;letter-spacing:.5px}
@media(max-width:700px){
  .spv-lb .lb-prev,.spv-lb .lb-next{width:44px;height:44px;font-size:30px}
  .spv-lb .lb-prev{left:8px}
  .spv-lb .lb-next{right:8px}
  .spv-lb .cls{top:12px;right:12px}
}

/* TABs */
.spv-tab-nav-wrap{position:relative;margin-bottom:18px}
.spv-tab-nav{display:flex;gap:0;border-bottom:1px solid #eef0e8;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.spv-tab-nav::-webkit-scrollbar{height:0}
.spv-tab{flex:1 1 0;min-width:96px;padding:11px 14px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:14px;color:#5a6b50;font-weight:500;transition:.15s;white-space:nowrap;scroll-snap-align:start}
.spv-tab:hover{color:#2f6b3a}
.spv-tab.on{color:#2f6b3a;border-bottom-color:#2f8b57;font-weight:600}
.spv-tab-fade{display:none}
@media(max-width:780px){
  .spv-tab{flex:0 0 auto;padding:11px 16px}
  .spv-tab-fade{display:block;position:absolute;top:0;right:0;width:64px;height:calc(100% - 2px);pointer-events:none;
    background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.85) 40%,#fff 100%)}
  .spv-tab-fade::after{content:"›";position:absolute;right:6px;top:50%;width:26px;height:26px;border-radius:50%;
    background:#2f8b57;color:#fff;font-size:18px;font-weight:700;line-height:26px;text-align:center;
    box-shadow:0 2px 8px rgba(47,139,87,.4);
    transform:translateY(-50%);animation:spvArrowMove 1.1s ease-in-out infinite}
  .spv-tab-nav{padding-right:56px}
}
@keyframes spvFadePulse{0%,100%{opacity:.8}50%{opacity:1}}
@keyframes spvArrowMove{0%,100%{transform:translateY(-50%) translateX(0)}50%{transform:translateY(-50%) translateX(-6px)}}
.spv-tab-pane{display:none}
.spv-tab-pane.on{display:block}

.spv-basic-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:24px}
@media(max-width:900px){.spv-basic-grid{grid-template-columns:1fr}}
.spv-tax{width:100%;border-collapse:collapse;font-size:13px}
.spv-tax td{padding:6px 8px;border-bottom:1px dashed #eef0e8;vertical-align:top}
.spv-tax td:first-child{color:#7b8472;width:88px;white-space:nowrap}
.spv-tax td:last-child{color:#2a2f26}
.spv-dist-desc{margin:12px 0 0;font-size:13px;color:#3a4a30;line-height:1.7}

/* World map */
.spv-map-wrap{}
.spv-map{width:100%;height:auto;display:block;border-radius:10px;border:1px solid #eef0e8}
.spv-region rect{transition:fill .2s}
.spv-region.is-on rect{filter:drop-shadow(0 2px 4px rgba(47,139,87,.35))}
.spv-map-legend{margin-top:10px;font-size:12px;color:#5a6b50;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.spv-map-legend .dot{display:inline-block;width:10px;height:10px;border-radius:2px;background:#3b9a55;margin-right:2px}
.spv-map-legend .tag{padding:3px 8px;background:#e7f3eb;color:#2f6b3a;border-radius:10px;font-weight:500}

/* Diet/Disease 沿用旧 */
.spv-rich p{margin:0 0 10px;line-height:1.8;color:#3a4a30;font-size:14px}
.spv-rich ul,.spv-list{padding-left:22px;margin:0 0 10px}
.spv-rich li,.spv-list li{line-height:1.8;color:#3a4a30;font-size:14px;margin-bottom:4px}
.spv-diet-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(max-width:700px){.spv-diet-groups{grid-template-columns:1fr}}
.spv-diet-group{padding:14px;border-radius:10px;background:#fafbf7;border:1px solid #eef0e8}
.spv-diet-group.is-forbid{background:#fef5f4;border-color:#f8d4d0}
.spv-diet-title{font-weight:600;color:#2f6b3a;margin-bottom:8px}
.spv-diet-group.is-forbid .spv-diet-title{color:#c0392b}
.spv-diet-desc{margin:0 0 8px;font-size:13px;color:#3a4a30;line-height:1.7}
.spv-chip-row{display:flex;flex-wrap:wrap;gap:6px}
.spv-pill{padding:4px 10px;background:#fff;border:1px solid #dfe5d8;border-radius:12px;font-size:12px;color:#3a4a30}
.spv-pill.is-danger{background:#fdecea;border-color:#f4b8b1;color:#c0392b}
.spv-dis-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.spv-dis-card{padding:12px 14px;border:1px solid #eef0e8;border-radius:10px;background:#fafbf7}
.spv-dis-title{font-weight:600;color:#c0392b;margin-bottom:6px;font-size:14px}
.spv-dis-body{font-size:12.5px;color:#3a4a30;line-height:1.7}

/* 法律提示 */
.spv-legal{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 24px;border-radius:12px;background:linear-gradient(135deg,#e7f3eb,#f0f7e8);border:1px solid #c4dcc8;margin:18px 0;flex-wrap:wrap}
.spv-legal-l{display:flex;align-items:center;gap:14px}
.spv-legal-l .ic{font-size:28px}
.spv-legal-l b{display:block;font-size:15px;color:#2f6b3a;margin-bottom:2px}
.spv-legal-l p{margin:0;font-size:12.5px;color:#5a6b50}
.spv-legal-btn{padding:9px 18px;background:#2f8b57;color:#fff;border-radius:24px;text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap}
.spv-legal-btn:hover{background:#236a42}

.spv-tip{display:flex;gap:12px;padding:14px 18px;background:#fff8e6;border-left:4px solid #f5b400;border-radius:6px;margin:16px 0;font-size:13px;color:#7a5a30;line-height:1.7}
.spv-tip .ic{font-size:20px;flex:none}
.spv-tip b{color:#a35a00}

/* 标签：内容 自适应卡片网格（用于 生活习性/繁殖育雏/训练互动） */
.spv-kv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.spv-kv-card{padding:14px 16px;border-radius:10px;background:#fafbf7;border:1px solid #eef0e8;transition:.18s}
.spv-kv-card:hover{border-color:#c4dcc8;background:#fff;box-shadow:0 4px 12px rgba(47,107,58,.06)}
.spv-kv-k{font-size:13px;font-weight:600;color:#2f6b3a;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.spv-kv-k::before{content:"";width:4px;height:14px;background:#2f8b57;border-radius:2px;display:inline-block}
.spv-kv-v{font-size:13.5px;line-height:1.75;color:#3a4a30;white-space:pre-wrap;word-break:break-word}
.spv-kv-feather{background:linear-gradient(135deg,#f4faf0,#eaf5ec);border-color:#cfe4d4}

/* World map（真实大陆轮廓样式） */
.spv-map-wrap{position:relative}
.spv-map{width:100%;height:auto;display:block;border-radius:12px;background:linear-gradient(180deg,#f3f7ee,#eef4e6);border:1px solid #e3ebd9}
.spv-map .countries path{fill:#e3ebd6;stroke:#fff;stroke-width:.5;stroke-linejoin:round;transition:fill .2s}
.spv-map .countries path:hover{fill:#cfd9bd}
.spv-map .countries path.is-on{fill:#2f8b57;stroke:#fff;stroke-width:.6;filter:drop-shadow(0 1px 2px rgba(47,139,87,.35))}
.spv-map .spv-island-dot circle{fill:#2f8b57;stroke:#fff;stroke-width:1.2;filter:drop-shadow(0 1px 2px rgba(47,139,87,.45))}
.spv-map-legend{margin-top:10px;font-size:12px;color:#5a6b50;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.spv-map-legend .dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#2f8b57;margin-right:2px}
.spv-map-legend .tag{padding:3px 10px;background:#e7f3eb;color:#2f6b3a;border-radius:12px;font-weight:500;font-size:12px}

/* 生活习性/繁殖育雏/训练互动 - 自适应列 */
.spv-kv-groups{grid-template-columns:repeat(auto-fill,minmax(260px,1fr)) !important}
.spv-kv-groups .spv-diet-group{background:#fafbf7;border-color:#eef0e8;transition:.18s}
.spv-kv-groups .spv-diet-group:hover{border-color:#c4dcc8;background:#fff;box-shadow:0 4px 12px rgba(47,107,58,.06)}
.spv-kv-groups .spv-diet-title{color:#2f6b3a;display:flex;align-items:center;gap:6px}
.spv-kv-groups .spv-diet-title::before{content:"";width:4px;height:14px;background:#2f8b57;border-radius:2px;display:inline-block}
.spv-kv-v{white-space:pre-wrap;word-break:break-word}

/* 空状态提示（适合养它/购买指南） */
.spv-empty-tip{margin:8px 0 0;padding:10px 12px;background:#fafbf7;border:1px dashed #dfe5d8;border-radius:8px;font-size:12.5px;color:#7b8472;line-height:1.6}

/* 合法饲养盾牌图标 */
.spv-legal-shield{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:none}
.spv-shield{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:none}

/* v19: 外观特征 - 嵌入野外状态下方 */
.spv-feather-block{margin-top:16px;padding-top:14px;border-top:1px dashed #d7e7d8}
.spv-feather-title{font-weight:700;color:#2f8b57;margin-bottom:10px;font-size:15px}
.spv-feather-block .spv-chip-row{display:flex;flex-wrap:wrap;gap:8px}
.spv-feather-block .spv-pill{background:#eef7f0;border:1px solid #d2e7d4;color:#2f6b4a;padding:6px 12px;border-radius:999px;font-size:13px}

/* ===================== v20: HERO 重设计 - 鸟为主角 ===================== */
.spv-hero-v20{background:linear-gradient(135deg,#f4f9ef 0%,#e9f1de 60%,#dde9cf 100%);min-height:auto;border:1px solid #e3ebd9;box-shadow:0 8px 28px rgba(60,90,40,.08)}
.spv-hero-v20 .spv-hero-bg{opacity:.12;filter:blur(40px) saturate(1.1) brightness(1.05)}
.spv-hero-v20 .spv-hero-bg::after{background:linear-gradient(135deg,rgba(244,249,239,.85),rgba(221,233,207,.7))}
.spv-hero-v20 .spv-hero-inner{display:grid;grid-template-columns:minmax(320px,440px) 1fr 300px;gap:28px;padding:26px 30px;color:#2a3a22;align-items:center}
.spv-hero-photo-main{position:relative;border-radius:18px;overflow:hidden;background:#fff;aspect-ratio:4/3;box-shadow:0 16px 40px rgba(40,60,30,.18),0 2px 6px rgba(0,0,0,.06);border:4px solid #fff}
.spv-hero-photo-main img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .6s ease}
.spv-hero-photo-main:hover img{transform:scale(1.04)}
.spv-hero-photo-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:90px;background:linear-gradient(135deg,#eef5e3,#dce8c8)}
.spv-hero-v20 .spv-hero-text{color:#2a3a22}
.spv-hero-v20 .spv-title{color:#1f3a1f;font-size:38px;text-shadow:none}
.spv-hero-v20 .spv-en{color:#4a5a3f}
.spv-hero-v20 .spv-latin{color:#6a7a5d}
.spv-hero-v20 .spv-pill{background:#fff;border:1px solid #d2e0c2;color:#2f6b3a;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.spv-hero-v20 .spv-lead{color:#3a4a30;max-width:none}
.spv-hero-v20 .spv-btn{background:#fff;border:1px solid #cfdcc0;color:#2f6b3a;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.spv-hero-v20 .spv-btn:hover{background:#f3f8ec;border-color:#a9c490}
.spv-hero-v20 .spv-btn.is-on{background:#e23d5b;border-color:#e23d5b;color:#fff}
.spv-hero-v20 .spv-followers{color:#5a6b50}
.spv-hero-v20 .spv-followers b{color:#1f3a1f}
.spv-hero-v20 .spv-fav{border-color:#fff}
.spv-hero-v20 .spv-hero-card{box-shadow:0 8px 24px rgba(40,60,30,.10);border:1px solid #e3ebd9}
@media(max-width:1080px){
  .spv-hero-v20 .spv-hero-inner{grid-template-columns:minmax(280px,360px) 1fr;gap:22px}
  .spv-hero-v20 .spv-hero-aside{grid-column:1 / -1}
  .spv-hero-v20 .spv-hero-card{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 18px}
  .spv-hero-v20 .spv-hc-row{border-bottom:1px dashed #eef0e8}
}
@media(max-width:780px){
  .spv-hero-v20 .spv-hero-inner{grid-template-columns:1fr;padding:18px;gap:16px}
  .spv-hero-v20 .spv-title{font-size:28px}
  .spv-hero-photo-main{aspect-ratio:4/3;max-height:60vh}
  .spv-hero-v20 .spv-hero-card{grid-template-columns:1fr}
}
