/* =========================================================
   植物图库 / 产品列表 · 全新版式（杂志目录 / 图鉴栅格 / 非对称 Bento）
   仅作用于产品列表页本体；公共顶部/底部与全局令牌见 inner.css
   ========================================================= */
.pl-main{display:block}

.pl-sec{
  --pl-grad:linear-gradient(135deg,#1f7d4d 0%,#2a9d63 58%,#37a86a 100%);
  --pl-grad-dark:linear-gradient(155deg,#0d2a1f 0%,#103024 52%,#16432f 100%);
  position:relative;
  padding:clamp(56px,6.5vw,104px) 0;
  overflow:clip;
}
.pl-sec-soft{background:
  radial-gradient(1000px 420px at 90% -6%,rgba(55,168,106,.09),transparent 60%),
  linear-gradient(180deg,#f5faf6,#eef5f0)}

/* ---------- 标题体系 ---------- */
.pl-kicker{display:inline-flex;align-items:center;gap:12px;margin:0 0 14px;font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--primary)}
.pl-kicker em{font-style:normal;font-family:Georgia,serif;font-size:15px;letter-spacing:0;color:var(--fx-gold)}
.pl-kicker i{width:30px;height:1px;background:var(--fx-line-2)}
.pl-kicker-light{color:var(--primary)}
.pl-kicker-light em{color:var(--fx-gold)}
.pl-eyebrow{display:inline-flex;align-items:center;gap:12px;margin:0 0 16px;font-size:12px;font-weight:700;letter-spacing:.26em;color:var(--fx-gold-l)}
.pl-eyebrow i{width:30px;height:1px;background:linear-gradient(90deg,var(--fx-gold-l),rgba(226,199,145,0))}
.pl-sec-head h2{margin:0;font-size:clamp(26px,3vw,42px);line-height:1.24;font-weight:800;letter-spacing:-.01em;color:var(--fx-title)}
.pl-sec-head h2 em{font-style:normal;background:linear-gradient(120deg,#1f7d4d,#37a86a 60%,#1f7d4d);-webkit-background-clip:text;background-clip:text;color:transparent}
.pl-lead{margin:14px 0 0;font-size:15px;line-height:1.95;color:var(--fx-muted);max-width:760px}
.pl-sec-head{max-width:820px;margin-bottom:clamp(32px,4vw,54px)}
.pl-sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.pl-sec-head.center .pl-lead{margin-left:auto;margin-right:auto}

/* ---------- 按钮 ---------- */
.pl-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:50px;padding:0 28px;border-radius:999px;border:1px solid transparent;font-size:14.5px;font-weight:700;letter-spacing:.02em;cursor:pointer;font-family:inherit;text-decoration:none;transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s ease,background .28s ease,color .28s ease}
.pl-btn-solid{background:var(--pl-grad);color:#fff;box-shadow:0 14px 30px -16px rgba(31,125,77,.9)}
.pl-btn-solid:hover{transform:translateY(-3px);box-shadow:0 20px 38px -16px rgba(31,125,77,1)}
.pl-btn-ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4);color:#fff}
.pl-btn-ghost:hover{background:rgba(255,255,255,.16);border-color:var(--fx-gold-l);transform:translateY(-3px)}
.pl-btn:focus-visible{outline:3px solid var(--fx-gold-l);outline-offset:3px}

/* ---------- HERO ---------- */
.pl-hero{position:relative;isolation:isolate;color:#fff;padding:clamp(112px,14vh,164px) 0 clamp(56px,6vw,92px);overflow:hidden;background:var(--pl-grad-dark);background-size:cover;background-position:center}
.pl-hero-veil{position:absolute;inset:0;z-index:-2;background:
  linear-gradient(100deg,rgba(9,32,23,.94) 0%,rgba(11,38,27,.84) 46%,rgba(16,48,36,.55) 100%),
  linear-gradient(180deg,rgba(9,32,23,.28),rgba(9,32,23,.5))}
.pl-orb{position:absolute;z-index:-1;border-radius:46% 54% 60% 40%/48% 44% 56% 52%;filter:blur(34px);opacity:.45;pointer-events:none}
.pl-orb-1{width:340px;height:320px;right:-70px;top:4%;background:radial-gradient(circle,rgba(55,168,106,.9),transparent 68%)}
.pl-orb-2{width:250px;height:270px;left:-60px;bottom:-60px;background:radial-gradient(circle,rgba(200,163,92,.5),transparent 68%)}
.pl-hero-in{position:relative;z-index:1}
.pl-crumb{display:flex;align-items:center;gap:9px;font-size:13px;color:rgba(255,255,255,.62);margin-bottom:26px}
.pl-crumb a{color:rgba(255,255,255,.8);text-decoration:none;transition:color .2s}
.pl-crumb a:hover{color:var(--fx-gold-l)}
.pl-crumb i{font-style:normal;color:rgba(255,255,255,.34)}
.pl-hero-grid{display:grid;grid-template-columns:1.55fr .9fr;gap:clamp(28px,4vw,60px);align-items:end}
.pl-hero-copy h1{margin:0;font-size:clamp(32px,4.6vw,58px);line-height:1.14;font-weight:800;letter-spacing:-.02em}
.pl-hero-sub{margin:20px 0 0;max-width:640px;font-size:15.5px;line-height:2;color:rgba(255,255,255,.78)}
.pl-hero-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pl-meta-item{padding:18px 16px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;flex-direction:column;gap:5px;transition:transform .3s cubic-bezier(.16,1,.3,1),background .3s ease}
.pl-meta-item:hover{transform:translateY(-4px);background:rgba(255,255,255,.14)}
.pl-meta-item b{font-size:clamp(22px,2.4vw,30px);font-weight:800;line-height:1;color:#fff}
.pl-meta-item i{font-style:normal;font-size:12.5px;color:rgba(255,255,255,.7)}
.pl-meta-wide{grid-column:1/-1;flex-direction:row;align-items:center;gap:12px}

/* ---------- Sticky 导航条 ---------- */
.pl-rail{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--fx-line);border-bottom:1px solid var(--fx-line);box-shadow:0 10px 30px -26px rgba(16,48,36,.4)}
.pl-rail-in{display:flex;align-items:center;gap:8px;height:60px;overflow-x:auto;scrollbar-width:none}
.pl-rail-in::-webkit-scrollbar{display:none}
.pl-rail-link{position:relative;display:inline-flex;align-items:center;height:38px;padding:0 16px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--fx-text);text-decoration:none;white-space:nowrap;transition:color .24s ease,background .24s ease}
.pl-rail-link:hover{color:var(--primary);background:rgba(31,125,77,.08)}
.pl-rail-link.is-active{color:#fff;background:var(--pl-grad)}
.pl-rail-cta{margin-left:auto;display:inline-flex;align-items:center;height:38px;padding:0 18px;border-radius:999px;background:var(--fx-gold);color:#0f2b1c;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;transition:transform .24s ease}
.pl-rail-cta:hover{transform:translateY(-2px)}

/* ---------- 分类索引条（12 列非对称栅格，双行 5/4/3 + 3/4/5） ---------- */
.pl-series-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.pl-series-card{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:10px clamp(12px,1.5vw,22px);padding:16px 20px;border-radius:16px;background:#fff;border:1px solid var(--fx-line);text-decoration:none;box-shadow:0 14px 34px -28px rgba(16,48,36,.34);overflow:hidden;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,border-color .3s ease}
.pl-series-card::after{content:"";position:absolute;right:-34px;top:-34px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(31,125,77,.12),transparent 70%);transition:transform .5s ease;pointer-events:none}
.pl-series-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -26px rgba(16,48,36,.46);border-color:rgba(31,125,77,.35)}
.pl-series-card:hover::after{transform:scale(1.45)}
.pl-series-card.sp-3{grid-column:span 3}
.pl-series-card.sp-4{grid-column:span 4}
.pl-series-card.sp-5{grid-column:span 5}
.pl-series-card.is-lead{background:linear-gradient(150deg,#0f3322,#1c5238);border-color:transparent;color:#fff;box-shadow:0 20px 44px -28px rgba(16,48,36,.5)}
.pl-series-card.is-lead .pl-series-name{color:#fff}
.pl-series-card.is-lead .pl-series-en{color:var(--fx-gold-l)}
.pl-series-card.is-lead .pl-series-no{color:rgba(226,199,145,.55)}
.pl-series-card.is-lead .pl-series-param{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.16)}
.pl-series-card.is-lead .pl-series-param i{color:rgba(255,255,255,.55)}
.pl-series-card.is-lead .pl-series-param b{color:#fff}
.pl-series-card.is-lead .pl-series-foot{color:rgba(255,255,255,.72)}
.pl-series-card.is-lead .pl-series-foot b{color:var(--fx-gold-l)}
.pl-series-card.is-lead::after{background:radial-gradient(circle,rgba(255,255,255,.1),transparent 70%)}
.pl-series-no{flex:0 0 auto;font-family:Georgia,serif;font-size:clamp(26px,2.6vw,36px);font-weight:700;line-height:1;color:rgba(31,125,77,.24)}
.pl-series-text{flex:1 1 170px;min-width:0;display:flex;flex-direction:column;gap:3px}
.pl-series-en{font-size:10.5px;font-weight:700;letter-spacing:.16em;color:var(--fx-muted)}
.pl-series-name{margin:0;font-size:clamp(15px,1.4vw,17.5px);font-weight:700;color:var(--fx-title);line-height:1.4}
.pl-series-params{display:flex;flex-wrap:wrap;gap:7px;flex:0 1 auto}
.pl-series-param{display:inline-flex;align-items:baseline;gap:6px;padding:5px 11px;border-radius:8px;background:#f7faf8;border:1px solid var(--fx-line);white-space:nowrap}
.pl-series-param i{font-style:normal;font-size:11px;color:var(--fx-muted)}
.pl-series-param b{font-size:12px;font-weight:700;color:var(--fx-title)}
.pl-series-foot{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:12.5px;color:var(--fx-muted);white-space:nowrap}
.pl-series-foot b{font-size:13.5px;font-weight:800;color:var(--primary)}
.pl-series-foot i{font-style:normal}
.pl-series-foot svg{color:var(--primary);transition:transform .3s ease}
.pl-series-card:hover .pl-series-foot svg{transform:translateX(4px)}
.pl-ph{display:grid;place-items:center;width:100%;height:100%;color:#b7c6bc}
.pl-card-tag{display:inline-block;padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.04em;color:var(--primary-dark,#155c39);background:rgba(31,125,77,.1);border:1px solid rgba(31,125,77,.2)}
.pl-en{display:inline-block;margin-left:10px;font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--fx-muted);vertical-align:middle}

/* ---------- 产品全览翻页 ---------- */
.pl-pager{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:clamp(28px,3vw,40px);padding:18px 20px;border-radius:18px;background:#fff;border:1px solid var(--fx-line);box-shadow:0 14px 34px -30px rgba(16,48,36,.3)}
.pl-pg-arrow{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border:1px solid var(--fx-line);border-radius:12px;background:#fff;color:var(--fx-navy);cursor:pointer;transition:transform .22s ease,border-color .22s ease,color .22s ease}
.pl-pg-arrow:hover{transform:translateY(-2px);border-color:rgba(31,125,77,.45);color:var(--primary)}
.pl-pg-arrow:disabled{opacity:.4;cursor:not-allowed;transform:none}
.pl-pg-arrow:focus-visible{outline:3px solid var(--fx-gold-l);outline-offset:2px}
.pl-pg-info{font-size:12.5px;color:var(--fx-muted);white-space:nowrap}
.pl-pg-nums{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}
.pl-pg-num{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--fx-line);border-radius:11px;background:#fff;font-size:13.5px;font-weight:600;color:var(--fx-text);cursor:pointer;font-family:inherit;transition:transform .22s ease,border-color .22s ease,color .22s ease}
.pl-pg-num:hover{transform:translateY(-2px);border-color:rgba(31,125,77,.45);color:var(--primary)}
.pl-pg-num.is-active{background:linear-gradient(135deg,#103024,#16432f);border-color:transparent;color:#fff;box-shadow:0 10px 22px -14px rgba(16,48,36,.6)}
.pl-pg-num:focus-visible{outline:3px solid var(--fx-gold-l);outline-offset:2px}
.pl-pg-dots{color:var(--fx-muted);padding:0 2px;user-select:none}

/* ---------- 产品图鉴网格 ---------- */
.pl-prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pl-prod-card[hidden]{display:none}
.pl-prod-card{position:relative;display:flex;flex-direction:column;border-radius:20px;background:#fff;border:1px solid var(--fx-line);overflow:hidden;box-shadow:0 16px 40px -32px rgba(16,48,36,.4);transition:transform .34s cubic-bezier(.16,1,.3,1),box-shadow .34s ease,border-color .34s ease}
.pl-prod-card:hover{transform:translateY(-6px);box-shadow:0 26px 52px -28px rgba(16,48,36,.5);border-color:rgba(31,125,77,.35)}
.pl-prod-media{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;background:var(--fx-bg-soft)}
.pl-prod-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.pl-prod-card:hover .pl-prod-media img{transform:scale(1.07)}
.pl-prod-chips{position:absolute;left:12px;right:12px;bottom:12px;display:flex;flex-wrap:wrap;gap:6px}
.pl-chip{padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;color:#fff;background:rgba(15,43,30,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2)}
.pl-prod-body{display:flex;flex-direction:column;gap:10px;padding:18px 18px 20px;flex:1}
.pl-prod-title{margin:0;font-size:16px;font-weight:700;line-height:1.5;color:var(--fx-title)}
.pl-prod-title a{color:inherit;text-decoration:none}
.pl-prod-title a:hover{color:var(--primary)}
.pl-prod-sum{margin:0;font-size:13px;line-height:1.8;color:var(--fx-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pl-prod-service{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.pl-prod-service span{padding:3px 9px;border-radius:6px;font-size:11px;font-weight:600;color:var(--fx-muted);background:#f4f7f5;border:1px solid var(--fx-line)}
.pl-prod-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--fx-line)}
.pl-prod-more{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--primary)}
.pl-prod-more svg{transition:transform .3s ease}
.pl-prod-card:hover .pl-prod-more svg{transform:translateX(4px)}
.pl-card-consult{height:32px;padding:0 15px;border:0;border-radius:999px;background:var(--pl-grad);color:#fff;font-size:12.5px;font-weight:700;font-family:inherit;cursor:pointer;transition:transform .24s ease}
.pl-card-consult:hover{transform:translateY(-2px)}
.pl-prod-cover{position:absolute;inset:0;z-index:2}

/* ---------- 空状态 ---------- */
.pl-empty{display:grid;place-items:center;gap:14px;padding:70px 20px;border-radius:20px;background:#fff;border:1px dashed var(--fx-line-2);color:var(--fx-muted)}

/* ---------- 场景 ---------- */
.pl-scene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pl-scene-card{position:relative;padding:28px 26px;border-radius:20px;background:#fff;border:1px solid var(--fx-line);box-shadow:0 16px 40px -30px rgba(16,48,36,.4);overflow:hidden;transition:transform .32s cubic-bezier(.16,1,.3,1),border-color .32s ease}
.pl-scene-card:hover{transform:translateY(-6px);border-color:rgba(31,125,77,.35)}
.pl-scene-no{font-family:Georgia,serif;font-size:34px;font-weight:700;line-height:1;color:rgba(31,125,77,.16);display:block;margin-bottom:12px}
.pl-scene-card h3{margin:0 0 9px;font-size:19px;font-weight:700;color:var(--fx-title)}
.pl-scene-card p{margin:0;font-size:13.5px;line-height:1.9;color:var(--fx-muted)}
.pl-scene-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.pl-scene-tags span{padding:5px 11px;border-radius:999px;font-size:11.5px;font-weight:600;color:var(--primary-dark,#155c39);background:rgba(31,125,77,.08);border:1px solid rgba(31,125,77,.18)}

/* ---------- CTA（白底，与深绿页脚清晰分层） ---------- */
.pl-cta{position:relative;overflow:hidden;background:#fff;color:var(--fx-title);padding:clamp(48px,5.5vw,84px) 0;border-top:1px solid var(--fx-line);border-bottom:1px solid var(--fx-line)}
.pl-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 320px at 84% 18%,rgba(31,125,77,.07),transparent 70%);pointer-events:none}
.pl-cta-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.pl-cta-copy h2{margin:12px 0 0;font-size:clamp(22px,2.4vw,34px);line-height:1.32;font-weight:800;color:var(--fx-title)}
.pl-cta-copy h2 em{font-style:normal;background:linear-gradient(120deg,#1f7d4d,#37a86a 60%,#1f7d4d);-webkit-background-clip:text;background-clip:text;color:transparent}
.pl-cta-copy p{margin:12px 0 0;font-size:14px;line-height:1.9;color:var(--fx-muted);max-width:600px}
.pl-cta-act{display:flex;gap:12px;flex-wrap:wrap}
.pl-cta .pl-btn-ghost{border-color:var(--fx-line-2);color:var(--fx-navy);background:#fff}
.pl-cta .pl-btn-ghost:hover{color:var(--fx-navy);border-color:var(--fx-gold);background:#fff}

/* ---------- 动效 ---------- */
@keyframes plFadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.pl-hero-in>*{animation:plFadeUp .7s cubic-bezier(.16,1,.3,1) both}
.pl-hero-in>*:nth-child(2){animation-delay:.08s}
.pl-hero-in>*:nth-child(3){animation-delay:.16s}
@keyframes plMorph{0%,100%{border-radius:46% 54% 60% 40%/48% 44% 56% 52%}50%{border-radius:60% 40% 44% 56%/56% 58% 42% 44%}}
.pl-orb{animation:plMorph 12s ease-in-out infinite}
.pl-orb-2{animation-duration:15s;animation-delay:1.5s}
@media (prefers-reduced-motion:reduce){
  .pl-hero-in>*,.pl-orb{animation:none!important}
  .pl-series-card,.pl-prod-card,.pl-scene-card,.pl-btn,.pl-meta-item{transition:none!important}
}

/* ---------- 响应式 ---------- */
@media(max-width:1200px){
  .pl-prod-grid{grid-template-columns:repeat(3,1fr)}
  .pl-series-grid{grid-template-columns:repeat(6,1fr)}
  .pl-series-card.sp-3{grid-column:span 3}
  .pl-series-card.sp-4{grid-column:span 3}
  .pl-series-card.sp-5{grid-column:span 6}
  .pl-scene-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1100px){
  .pl-hero-grid{grid-template-columns:1fr;gap:30px;align-items:start}
  .pl-hero-meta{max-width:520px}
  .pl-series-grid{grid-template-columns:repeat(2,1fr)}
  .pl-series-card.sp-3,.pl-series-card.sp-4,.pl-series-card.sp-5{grid-column:span 1}
}
@media(max-width:768px){
  .pl-series-grid{grid-template-columns:1fr}
  .pl-series-card.sp-3,.pl-series-card.sp-4,.pl-series-card.sp-5{grid-column:span 1}
  .pl-series-card{flex-wrap:wrap}
  .pl-series-foot{margin-left:0}
  .pl-prod-grid{grid-template-columns:repeat(2,1fr)}
  .pl-scene-grid{grid-template-columns:1fr}
  .pl-hero-meta{grid-template-columns:1fr 1fr}
  .pl-pg-info{width:100%;text-align:center}
  .pl-cta-in{flex-direction:column;align-items:flex-start}
}
