/* ═══════════════════════════════════════════════════════════
   영농형 태양광 — 전체 리포트 · 아카이브 — .apvr-page (scoped)
   시리즈 허브(agpv-hub.css)와 같은 토큰·타이포를 쓰되, 여기서는
   '읽을 순서'가 아니라 '무엇이 있고 어느 단계인가'를 보여준다.
   그래서 카드 그리드가 아니라 스캔하기 쉬운 가로 행(row) 목록이다.
   ═══════════════════════════════════════════════════════════ */
.apvr-page{
    --primary:#17463f; --primary-container:#2f6f62;
    --bg:#f9f7f2; --surface-lowest:#ffffff; --surface-low:#f5f3ed;
    --on-surface:#1b1a16; --on-variant:#4d4a42;
    --outline:#6d6a60; --outline-variant:#cdc9bd;
    /* 도메인: 농업 에너지 = Amber (docs/brand-color-system.md) */
    --amber:#ad6a14; --amber-deep:#7c4a08; --amber-tint:#f8e8cc; --amber-mid:#c98a2c;
    --headline:Manrope,"Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
    --body:Inter,"Pretendard Variable",Pretendard,-apple-system,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
    background:var(--bg);color:var(--on-surface);font-family:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased;
}
.apvr-page *{box-sizing:border-box;margin:0;padding:0}
.apvr-page .wrap{max-width:1120px;margin:0 auto;padding:0 32px}
.apvr-page .num{font-family:var(--headline);font-variant-numeric:tabular-nums}
.apvr-page svg.i{width:1em;height:1em;stroke:currentColor;stroke-width:1.75;fill:none;stroke-linecap:round;stroke-linejoin:round;display:block}
.apvr-page .apvr-sprite{position:absolute}
/* :any-link 으로 특이도를 올려 body.single-post a (색·밑줄 강제) 를 덮는다. */
.apvr-page a:any-link{color:inherit;text-decoration:none}
.apvr-page :focus-visible{outline:3px solid var(--amber-deep);outline-offset:2px;border-radius:4px}

/* ---- section header component ---- */
.apvr-page .kicker{font-family:var(--headline);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-deep);display:inline-flex;align-items:center;gap:9px}
.apvr-page .kicker::before{content:"";width:22px;height:2px;background:var(--amber-deep)}
/* color 명시 — 지정하지 않으면 테마 전역 h2 색(딥그린)이 이겨 앰버 계열과 어긋난다. */
.apvr-page h2.sec{font-family:var(--headline);font-weight:800;font-size:29px;letter-spacing:-.025em;margin:14px 0 10px;line-height:1.24;max-width:30ch;color:var(--on-surface)}
.apvr-page .dek{font-size:16px;color:var(--on-variant);max-width:64ch}
.apvr-page .lsec{padding:58px 0;border-top:1px solid var(--outline-variant)}
.apvr-page .band{background:#f2ede2}

/* ---- HERO ----
   허브 히어로는 사진 위 딥밴드지만, 아카이브는 목록이 주인공이라
   같은 앰버 계열의 밝은 밴드로 눌러 목록 쪽에 시선을 넘긴다. */
.apvr-page .hero{position:relative;overflow:hidden;padding:48px 0 40px;
    background:linear-gradient(160deg,#fbf6ec 0%,var(--bg) 62%);
    border-bottom:1px solid var(--outline-variant)}
.apvr-page .hero::before{content:"";position:absolute;right:-90px;top:-120px;width:420px;height:420px;border-radius:50%;
    background:radial-gradient(circle,rgba(201,138,44,.18),transparent 68%);pointer-events:none}
.apvr-page .hero .wrap{position:relative}
.apvr-page .crumb{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--outline);margin-bottom:18px}
.apvr-page .crumb a{color:var(--amber-deep);font-weight:700}
.apvr-page .crumb a:hover{text-decoration:underline}
.apvr-page .crumb b{color:var(--on-variant);font-weight:700}
.apvr-page .crumb svg.i{width:14px;height:14px;color:var(--outline-variant)}
.apvr-page h1{font-family:var(--headline);font-weight:800;font-size:clamp(32px,4vw,46px);letter-spacing:-.035em;line-height:1.15;margin:12px 0 14px;color:var(--on-surface)}
.apvr-page .hero .dek{max-width:66ch}

/* stat strip — 목록의 규모를 먼저 알려주는 요약 줄 */
.apvr-page .stats{display:flex;flex-wrap:wrap;gap:0 44px;margin-top:26px;padding-top:22px;border-top:1px solid var(--outline-variant)}
.apvr-page .stat dt{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--outline);margin-bottom:4px}
.apvr-page .stat dd{font-family:var(--headline);font-weight:800;font-size:26px;letter-spacing:-.02em;color:var(--on-surface);display:flex;align-items:center;gap:7px}
.apvr-page .stat dd svg.i{width:17px;height:17px;color:var(--amber)}

/* ---- filter bar (sticky) ---- */
.apvr-page .filterbar{position:sticky;top:var(--apvr-header-offset,72px);z-index:5;
    background:rgba(249,247,242,.94);backdrop-filter:blur(8px);
    border-bottom:1px solid var(--outline-variant)}
.apvr-page .filterbar .wrap{display:flex;align-items:center;gap:12px;height:60px;overflow-x:auto;scrollbar-width:none}
.apvr-page .filterbar .wrap::-webkit-scrollbar{display:none}
.apvr-page .flab{display:inline-flex;align-items:center;gap:6px;font-family:var(--headline);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--outline);white-space:nowrap}
.apvr-page .flab svg.i{width:14px;height:14px}
.apvr-page .chips{display:flex;gap:8px}
.apvr-page .chip{font-family:var(--headline);font-size:13.5px;font-weight:700;color:var(--on-variant);background:var(--surface-lowest);
    border:1px solid var(--outline-variant);border-radius:999px;padding:8px 15px;cursor:pointer;white-space:nowrap;
    display:inline-flex;align-items:center;gap:7px;transition:background .15s,border-color .15s,color .15s}
.apvr-page .chip:hover{border-color:var(--amber-mid)}
.apvr-page .chip.on{background:var(--amber-deep);border-color:var(--amber-deep);color:#fff}
.apvr-page .chip .cnt{font-variant-numeric:tabular-nums;font-size:12px;color:var(--outline)}
.apvr-page .chip.on .cnt{color:rgba(255,255,255,.78)}
.apvr-page .fresult{margin-left:auto;font-size:12.5px;color:var(--outline);white-space:nowrap}

/* ---- list rows ----
   카드가 아니라 행으로 둔 이유: 15건을 위에서 아래로 훑는 동작이 주이고,
   좌측 편 번호·우측 날짜가 같은 x축에 정렬돼야 스캔이 빨라진다. */
.apvr-page .rows{display:flex;flex-direction:column;gap:10px;margin-top:26px}
.apvr-page .row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;
    background:var(--surface-lowest);border:1px solid var(--outline-variant);border-radius:16px;padding:20px 24px;
    transition:border-color .18s,box-shadow .18s,transform .18s}
.apvr-page a.row:hover,.apvr-page a.row:focus-visible{border-color:var(--amber);box-shadow:0 12px 28px rgba(27,26,22,.10);transform:translateY(-2px)}
.apvr-page .ep{flex:0 0 auto;font-size:30px;font-weight:800;letter-spacing:-.05em;line-height:1;color:var(--amber-tint);
    -webkit-text-stroke:1px var(--amber-mid);width:52px;text-align:center}
.apvr-page a.row:hover .ep{color:var(--amber-mid)}
.apvr-page .kind{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:var(--amber-tint);color:var(--amber-deep);
    display:flex;align-items:center;justify-content:center}
.apvr-page .kind svg.i{width:21px;height:21px;stroke-width:1.9}
.apvr-page .rmeta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:7px}
.apvr-page .rcat{font-family:var(--headline);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--amber-deep)}
.apvr-page .rcat.alt{color:var(--primary-container)}
.apvr-page .badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px}
.apvr-page .badge::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.apvr-page .badge.ok{background:#e2ebe5;color:#2f6f62}
.apvr-page .badge.wait{background:var(--surface-low);color:var(--outline)}
.apvr-page .row h3{font-family:var(--headline);font-size:18px;font-weight:800;letter-spacing:-.015em;line-height:1.34;margin-bottom:6px;color:var(--on-surface)}
.apvr-page .row p{font-size:13.5px;color:var(--on-variant)}
.apvr-page .rside{display:flex;align-items:center;gap:14px;white-space:nowrap}
.apvr-page .rdate{font-size:12.5px;color:var(--outline)}
.apvr-page .rside .arr{width:18px;height:18px;color:var(--amber-deep);stroke-width:2.2;transition:transform .18s}
.apvr-page a.row:hover .arr,.apvr-page a.row:focus-visible .arr{transform:translateX(4px)}
/* 준비 중 행은 링크가 아니다 — 커서·대비를 낮춰 클릭 기대를 만들지 않는다. */
.apvr-page .row.off{background:transparent;border-style:dashed;box-shadow:none}
.apvr-page .row.off h3{color:var(--on-variant)}
.apvr-page .row.off .kind{background:var(--surface-low);color:var(--outline)}
.apvr-page .row.is-hidden{display:none}
.apvr-page .lsec.is-hidden{display:none}
.apvr-page .empty{margin:56px auto;text-align:center;color:var(--outline);font-size:15px}

/* ---- CTA ---- */
.apvr-page .cta-sec{padding:58px 0 78px;border-top:1px solid var(--outline-variant)}
.apvr-page .ctaband{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:32px 44px;align-items:center;
    background:var(--primary);color:#d7e6df;border-radius:22px;padding:38px 40px}
.apvr-page .ctaband .kicker{color:var(--amber-mid)}
.apvr-page .ctaband .kicker::before{background:var(--amber-mid)}
.apvr-page .ctaband h3{font-family:var(--headline);font-weight:800;font-size:28px;letter-spacing:-.03em;line-height:1.22;color:#fff;margin:13px 0 10px}
.apvr-page .ctaband p{font-size:14.5px}
.apvr-page .ctalinks{display:flex;flex-direction:column;gap:10px}
.apvr-page .ctalink{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
    border-radius:13px;padding:14px 16px;transition:background .16s,border-color .16s,transform .16s}
.apvr-page .ctalink:hover,.apvr-page .ctalink:focus-visible{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.3);transform:translateX(3px)}
.apvr-page .ctalink .ci{flex:0 0 auto;width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center}
.apvr-page .ctalink .ci svg.i{width:19px;height:19px}
.apvr-page .ctalink .ct{display:flex;flex-direction:column;gap:2px;min-width:0}
.apvr-page .ctalink .ct b{font-family:var(--headline);font-size:14.5px;font-weight:800;color:#fff}
.apvr-page .ctalink .ct span{font-size:12.5px;color:#b9cec6}
.apvr-page .ctalink .arr{margin-left:auto;width:17px;height:17px;color:#fff;stroke-width:2.2}

@media(prefers-reduced-motion:reduce){.apvr-page *{animation:none!important;transition:none!important}}
@media(max-width:1024px){
    .apvr-page .ctaband{grid-template-columns:1fr;padding:32px 28px}
}
@media(max-width:820px){
    .apvr-page .wrap{padding:0 20px}
    .apvr-page .hero{padding:36px 0 32px}
    .apvr-page .lsec{padding:44px 0}
    .apvr-page h2.sec{font-size:24px}
    .apvr-page .stats{gap:18px 32px}
    .apvr-page .stat dd{font-size:22px}
    /* 행은 좁은 폭에서 2열(썸/본문) + 날짜를 본문 아래로 접는다.
       align-items:start — 접힌 행은 세로로 길어져, 가운데 정렬하면 편 번호가
       라벨 줄에서 떨어져 어느 행에 속한 번호인지 흐려진다. */
    .apvr-page .row{grid-template-columns:auto minmax(0,1fr);gap:14px;padding:18px 18px;align-items:start}
    .apvr-page .ep{width:38px;font-size:24px}
    .apvr-page .kind{width:38px;height:38px}
    .apvr-page .rside{grid-column:2;justify-content:flex-start;gap:10px}
    .apvr-page .row h3{font-size:16.5px}
    .apvr-page .filterbar .wrap{height:56px}
    .apvr-page .fresult{display:none}
    .apvr-page .cta-sec{padding:44px 0 60px}
    .apvr-page .ctaband h3{font-size:23px}
}
