/* ============================================================
   rsx-news.css — 如是心「食养资讯」频道页/列表页专用样式
   由 category_news.html 与 list_news.html 内嵌样式抽出合并，便于维护
   ============================================================ */

/* ---- 栏目页头部按钮 / 子栏目标签 ---- */
.allbtn { display:flex; align-items:center; gap:.4rem; padding:0; border:0; background:transparent; font-family:'Noto Serif SC',serif; font-size:1.05rem; font-weight:700; color:#1E3A2E; white-space:nowrap; transition:color .25s; text-decoration:none; }
.allbtn .ico { font-size:1rem; }
.allbtn.active { color:#1E3A2E; }
.allbtn:hover { color:#A63D2F; }
.allbtn .cnt { opacity:.5; font-size:.72rem; font-weight:400; }
.ftab, .sbtn { padding:.4rem 1rem; border-radius:9999px; border:1px solid transparent; background:transparent; color:rgba(30,58,46,.72); font-size:.9rem; font-weight:500; transition:all .25s ease; white-space:nowrap; text-decoration:none; }
.ftab:hover, .sbtn:hover { color:#A63D2F; }
.ftab .opacity-45, .ftab .cnt { opacity:.45; font-size:.72rem; margin-left:.2rem; }
.ftab.active { border-color:rgba(166,61,47,.45); color:#A63D2F; background:rgba(255,255,255,.75); font-weight:600; }
.sbtn.active { border-color:rgba(166,61,47,.45); color:#A63D2F; background:rgba(255,255,255,.75); font-weight:600; }

/* ---- 焦点图轮播（频道页） ---- */
#jSlider { position:relative; }
.jslide { position:absolute; inset:0; opacity:0; transition:opacity .7s ease; }
.jslide.on { opacity:1; }
.jslide img { transform:scale(1.02); transition:transform 6s linear; }
.jslide.on img { transform:scale(1.1); }
.jsarrow { opacity:0; transition:opacity .3s; }
#jSlider:hover .jsarrow { opacity:1; }

/* ---- 头条文章卡片列表 ---- */
.p2card { display:flex; gap:.6rem; padding:.62rem .8rem .62rem 1rem; background:rgba(239,232,216,.62); border:1px solid rgba(30,58,46,.07); border-radius:0; position:relative; text-decoration:none; transition:background .35s, border-color .35s; overflow:hidden; }
.p2card:hover { border-color:rgba(201,164,92,.45); }
.p2thumb { flex:0 0 78px; width:78px; height:54px; object-fit:cover; border-radius:0; background:#E4E0D2; }
.p2title { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:12.5px; font-weight:400; line-height:1.38; color:#1E3A2E; transition:color .25s; }
.p2card:hover .p2title { color:#A63D2F; }
.p2desc { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:.7rem; line-height:1.45; color:rgba(30,58,46,.5); margin-top:.12rem; }
.p2meta { display:flex; align-items:center; gap:.45rem; font-size:.65rem; color:rgba(30,58,46,.4); margin-top:auto; padding-top:.2rem; }
.p2meta .dotsep { width:3px; height:3px; border-radius:99px; background:rgba(30,58,46,.25); }
.p2card > span.min-w-0 { display:flex; flex-direction:column; }
.hotrow > span.min-w-0 { display:flex; flex-direction:column; align-self:stretch; }
.p2card.active { border-color:rgba(201,164,92,.55); background:rgba(255,255,255,.8); }
.p2card.active::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:#A63D2F; }
.p2card.active .p2title { color:#A63D2F; font-weight:500; }

/* ---- 焦点图缩略图条 ---- */
.jthumb { flex:1 0 96px; max-width:150px; height:88px; border-radius:.6rem; overflow:hidden; position:relative; opacity:.55; border:2px solid transparent; padding:0; cursor:pointer; background:#E4E0D2; transition:opacity .3s, border-color .3s, box-shadow .3s; }
.jthumb img { width:100%; height:100%; object-fit:cover; display:block; }
.jthumb:hover { opacity:.85; }
.jthumb.active { opacity:1; border-color:#C9A45C; box-shadow:0 6px 16px -8px rgba(30,58,46,.5); }
@media (min-width:1024px) { .jthumb { flex:1 1 0; max-width:none; } }

/* ---- 热点排行 ---- */
.hotrow { display:flex; align-items:center; gap:.6rem; padding:.4rem 0; border-bottom:1px dashed rgba(30,58,46,.12); flex:1 1 0; }
.hotrow:last-child { border-bottom:0; }
.hotno { flex:0 0 auto; align-self:flex-start; margin-top:.15rem; width:1.25rem; height:1.25rem; border-radius:.35rem; display:flex; align-items:center; justify-content:center; font-size:.68rem; font-weight:700; }
#jHot { display:flex; flex-direction:column; justify-content: space-between; }

/* ---- 频道页大横幅（jbanner） ---- */
.jbanner { height:104px; background:#1E3A2E; box-shadow:0 18px 40px -24px rgba(30,58,46,.65); }
.jbanner-body { position:relative; z-index:1; padding:0 2rem; color:#F7F3EA; min-width:0; }
.jbanner-tag { display:inline-block; font-size:.62rem; letter-spacing:.18em; padding:.18rem .55rem; border:1px solid rgba(201,164,92,.65); border-radius:999px; color:#E4C98A; margin-bottom:.4rem; }
.jbanner-title { font-family:'Noto Serif SC',serif; font-weight:700; font-size:1.15rem; letter-spacing:.02em; }
.jbanner-desc { margin:.25rem 0 0; font-size:.72rem; color:rgba(247,243,234,.62); }
.jbanner-cta { position:relative; z-index:1; margin-left:auto; margin-right:2rem; flex:0 0 auto; padding:.6rem 1.25rem; border-radius:999px; background:#C9A45C; color:#1E3A2E; font-size:.8rem; font-weight:700; transition:background .3s, transform .3s; cursor:pointer; }
.jbanner-cta:hover { background:#E4C98A; transform:translateY(-1px); }
@media (max-width:639px){ .jbanner { height:auto; flex-wrap:wrap; padding:1.1rem 1.2rem; } .jbanner-body { padding:0; } .jbanner-title{font-size:1rem;} .jbanner-cta { margin:1rem 0 0 auto; } .jbanner-desc { display:none; } }

/* ---- 资讯卡片列表（feeditem） ---- */
.feeditem { display:block; background:rgba(239,232,216,.62); border:1px solid rgba(30,58,46,.07); border-radius:1rem; padding:.8rem 1rem; transition:box-shadow .3s, transform .3s, border-color .3s; }
.feeditem:hover { box-shadow:0 14px 34px -22px rgba(30,58,46,.55); transform:translateY(-2px); border-color:rgba(201,164,92,.45); }
.ftitle { font-family:'Noto Serif SC',serif; font-weight:700; line-height:1.35; }
.fthumb { width:100%; height:100%; object-fit:cover; border-radius:.6rem; background:#E4E0D2; }

/* ---- 资讯卡片 meta 行 ---- */
.fmeta { display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; font-size:.72rem; color:rgba(30,58,46,.45); }
.fmeta .dotsep { width:3px; height:3px; border-radius:99px; background:rgba(30,58,46,.25); }
.fmeta svg { width:12px; height:12px; vertical-align:-2px; margin-right:3px; opacity:.72; display:inline-block; }
.fmeta-hot svg { color:#A63D2F; opacity:.9; }
.fmeta .fdate { margin-left:.4rem; }

/* ---- 标签胶囊 ---- */
.tagpill { font-size:.68rem; padding:.15rem .5rem; border-radius:.4rem; }
.fmeta .mtag { font-size:.68rem; padding:.15rem .55rem; border-radius:.4rem; background:rgba(30,58,46,.06); color:rgba(30,58,46,.55); transition:color .25s, background .25s; }
.feeditem:hover .fmeta .mtag { color:rgba(30,58,46,.75); background:rgba(30,58,46,.1); }

/* ---- 热度上升动画 ---- */
.hotup { display:inline-block; animation: hotup 1.8s ease-in-out infinite; }
@keyframes hotup { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@media (prefers-reduced-motion: reduce) { .hotup { animation: none; } }

/* ---- 分页器 ---- */
#pager a, #pager span { display:inline-flex; align-items:center; justify-content:center; font-size:.75rem; min-width:3rem; height:2rem; padding:0 .6rem; border-radius:5px; border:1px solid rgba(30,58,46,.2); margin:0 .2rem; color:rgba(30,58,46,.72); text-decoration:none; }
#pager a.current, #pager a.on, #pager a.curpage { background:#1E3A2E; color:#F7F3EA; font-weight:700; border-color:#1E3A2E; }
#pager a:hover { color:#A63D2F; }
#pager span.pageinfo { border:0; background:transparent; color:rgba(30,58,46,.45); }

/* ---- 列表页矮横幅（全宽贯穿顶部） ---- */
.rsx-banner { position:relative; overflow:hidden; background:linear-gradient(120deg,#15342a 0%,#1f4738 48%,#2a5c47 100%); }
.rsx-banner::before { content:''; position:absolute; inset:0; pointer-events:none; background: radial-gradient(circle at 84% 12%, rgba(255,255,255,.07) 0, transparent 40%), radial-gradient(circle at 12% 96%, rgba(255,255,255,.05) 0, transparent 48%); }
.rsx-banner-inner { position:relative; z-index:1; padding:100px 0 30px; }
.rsx-banner-eyebrow { display:block; font-size:.7rem; letter-spacing:.22em; color:#d8b98a; margin-bottom:70px; }
.rsx-banner-title { font-family:Georgia,"Songti SC",serif; font-size:1.35rem; font-weight:700; color:#f6efdc; line-height:1.25; }
.rsx-banner-desc { font-size:.78rem; color:rgba(243,236,217,.78); line-height:1.6; margin-top:30px; margin-bottom:30px; max-width:46rem; }
.rsx-banner-stats { display:flex; flex-wrap:wrap; gap:.4rem .9rem; margin-top:.6rem; }
.rsx-banner-stats span { font-size:.7rem; color:#e7d7b4; padding:.2rem .55rem; border:1px solid rgba(216,185,138,.42); border-radius:5px; letter-spacing:.06em; }
@media (max-width:640px) { .rsx-banner-inner { padding:100px 0 30px; } .rsx-banner-title { font-size:1.15rem; } }
.fmeta .mtag:hover { color:#A63D2F; background:rgba(166,61,47,.08); }
.fmeta .tagpill:hover { filter: brightness(1.08); }
.fthumb:hover { transform: scale(1.05); }
