/* CODEDVINYLS 앨범 페이지 (2026-10-26 · 단계 3a) — 도록 한 장.
   판은 도판(그림자·액자·테두리 0) · 제목과 첫 글만 세리프 · 상자 대신 가는 선 · 노랑은 들어온 기록 틱 한 점.
   거래 행 = 페이지에 1회 · 돌빛 띠 · 떠 있는 구매 막대 0. 마크업 = site_album.py · 공통 머리·꼬리 = cv-frame.css.
   상세 창 안 「이 판의 페이지」 링크(.gal-lb-album)도 여기 — 회차 페이지가 이 파일을 함께 읽는다. */
.cva{display:block;word-break:keep-all;overflow-wrap:break-word;font-family:var(--cvf-sans,"Pretendard Variable","Pretendard",sans-serif);font-weight:400;color:var(--ink,#1f1e1b);
  --g:var(--cvf-gutter,clamp(24px,4vw,56px));--ln:var(--cvf-line,#d8d2c6);--mu:var(--cvf-muted,#6b655a);--ink2:#3a372f;--stone:#e6e3dc;padding-bottom:clamp(96px,10vw,140px)}
.cva *{box-sizing:border-box}
.cva a{color:inherit;text-decoration:none}
.cva img{display:block;width:100%;height:auto;max-width:100%}
.cva figure{margin:0;min-width:0}
.cva p,.cva h1,.cva h2,.cva dl,.cva dd{margin:0}
.cva-tick{display:inline-block;width:13px;height:2px;background:var(--yellow,#ffcd00);vertical-align:middle;margin-right:9px;position:relative;top:-1px}

/* 판 + 명패 · 제목 · 판본 · 등급 · 거래 */
.cva-alb{display:grid;grid-template-columns:minmax(0,720px) minmax(0,1fr);gap:clamp(40px,4.4vw,64px);padding:28px var(--g) 0;align-items:start}
.cva-info{padding-top:6px;min-width:0}
.cva-g{font-size:13px;color:var(--mu);margin-bottom:22px !important}
.cva-info h1{font-weight:400}
.cva-artist{display:block;font-size:19px;line-height:1.45}
.cva-title{display:block;font-size:clamp(36px,3.6vw,52px);line-height:1.2;margin-top:8px;text-wrap:balance}
.cva-press{font-size:14px;color:var(--mu);line-height:1.7;margin-top:18px !important}
.cva-dek{font-size:18px;line-height:1.9;color:var(--ink2);margin-top:32px !important}
.cva-grade{margin-top:36px;border-top:1px solid var(--ln)}
.cva-grade div{display:grid;grid-template-columns:120px 1fr;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--ln);font-size:14px}
.cva-grade span:first-child{color:var(--mu)}
.cva-cond{font-size:14px;line-height:1.7;color:var(--ink2);padding:12px 0 0}
.cva-glink{font-size:14px;padding-top:14px}
.cva-glink a{border-bottom:1px solid var(--ln);padding-bottom:1px;color:var(--mu)}
.cva-glink a:hover{color:var(--ink,#1f1e1b);border-bottom-color:var(--ink,#1f1e1b)}
.cva-deal{margin-top:36px;background:var(--stone);padding:22px 24px;display:grid;grid-template-columns:auto 1fr;gap:6px 24px;align-items:baseline}
.cva-deal .p{font-size:22px;font-feature-settings:'tnum' 1}
.cva-deal .w{font-size:14px}
.cva-deal .nap{grid-column:2;font-size:13px;color:var(--mu)}
.cva-deal.is-sold{grid-template-columns:1fr}
.cva-deal.is-sold .w{font-size:15px}
.cva-go{justify-self:start;font-size:14px;border-bottom:1px solid var(--ink,#1f1e1b);padding-bottom:2px}
.cva-came{margin-top:22px !important;font-size:14px}
.cva-came a{border-bottom:1px solid var(--ink,#1f1e1b);padding-bottom:2px}

/* 이 판(사양표) */
.cva-spec{display:grid;grid-template-columns:3fr 9fr;gap:24px;padding:clamp(80px,7.6vw,110px) var(--g) 0}
.cva-lab{font-size:14px;font-weight:400;color:var(--mu);padding-top:16px;border-top:1px solid var(--ln)}
.cva-spec dl{border-top:1px solid var(--ln)}
.cva-spec dl div{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--ln);font-size:15px;line-height:1.6}
.cva-spec dt{color:var(--mu)}

/* 같이 들어온 판 */
.cva-rel{padding:clamp(80px,7.6vw,110px) var(--g) 0}
.cva-sec{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:16px;margin-bottom:22px !important;
  border-top:1px solid var(--ln);font-size:14px;font-weight:400;color:var(--mu)}
.cva-sec a{color:var(--ink,#1f1e1b)}
.cva-pn{display:flex;gap:28px;font-size:14px;margin-bottom:28px}
.cva-pn a{border-bottom:1px solid var(--ink,#1f1e1b);padding-bottom:2px}
.cva-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.cva-grid img{aspect-ratio:1/1;object-fit:cover}
.cva figcaption{font-size:14px;line-height:1.55;padding-top:14px}
.cva figcaption span{display:block}
.cva figcaption .t,.cva figcaption .l{color:var(--mu)}

/* 이어서 */
.cva-next{display:flex;flex-wrap:wrap;gap:14px 40px;padding:72px var(--g) 0;font-size:15px}
.cva-next a{border-bottom:1px solid var(--ink,#1f1e1b);padding-bottom:2px}

@media(max-width:860px){
  .cva-alb{display:block;padding:14px 0 0}
  .cva-info{padding:26px var(--g) 0}
  .cva-g{font-size:12px}
  .cva-g{margin-bottom:16px !important}
  .cva-artist{font-size:16px}
  .cva-title{font-size:34px;line-height:1.22;margin-top:6px}
  .cva-press{font-size:13px;margin-top:12px !important}
  .cva-dek{font-size:16px;line-height:1.88;margin-top:22px !important}
  .cva-grade{margin-top:26px}
  .cva-grade div{grid-template-columns:72px 1fr;padding:11px 0;font-size:13px}
  .cva-cond,.cva-glink{font-size:13px}
  .cva-deal{margin-top:26px;padding:18px;display:block}
  .cva-deal span{display:block}
  .cva-deal .p{font-size:20px}
  .cva-deal .w{margin-top:4px}
  .cva-deal .nap{font-size:12px;margin-top:4px}
  .cva-deal .cva-go{display:inline-block;margin-top:12px}
  .cva-came{margin-top:18px !important;font-size:13px}
  .cva-spec{display:block;padding:72px var(--g) 0}
  .cva-lab{font-size:13px;padding-top:12px;margin-bottom:10px}
  .cva-spec dl div{display:block;padding:12px 0;font-size:14px}
  .cva-spec dt{font-size:12px}
  .cva-rel{padding:72px var(--g) 0}
  .cva-sec{font-size:13px;margin-bottom:18px !important}
  .cva-pn{font-size:13px;margin-bottom:22px}
  .cva-grid{grid-template-columns:1fr 1fr;gap:26px 14px}
  .cva figcaption{font-size:13px;padding-top:10px}
  .cva-grid .l{display:none}
  .cva-next{padding:52px var(--g) 0;gap:14px 24px;font-size:14px}
}

/* 회차·하루 페이지 상세 창 안 링크 */
.gal-lb-album{margin:22px 0 0;font-size:14px;line-height:1.5}
.gal-lb-album a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}

/* ── 3b 온라인 판 거래 행 — 가격 · 스토어 한 곳 · 배송·교환·환불(매장 안내 0) ── */
.cva-deal.is-online{grid-template-columns:1fr;gap:12px;justify-items:start}   /* 안내 문장 · 스토어 링크 · 배송 링크(dg-0429 §A-2) */
.cva-deal .cva-buy{justify-self:start;font-size:14px;border-bottom:1px solid var(--ink,#1f1e1b);padding-bottom:2px}
.cva-deal.is-online .nap{grid-column:1/-1;font-size:13px;color:var(--mu);border-bottom:1px solid var(--ln);justify-self:start;padding-bottom:1px}
.cva-came.is-online a{border-bottom:1px solid var(--ink,#1f1e1b);padding-bottom:2px}

/* ── 3b 앨범 목록 /album/ ── */
.cval-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:56px var(--g) 0;flex-wrap:wrap}
.cval-head h1{font-size:clamp(34px,3.2vw,46px);line-height:1.2;font-weight:400;margin:0}
.cval-dek{flex-basis:100%;font-size:17px;line-height:1.8;color:var(--ink2);margin-top:4px !important;max-width:36em}
.cval-chips{display:flex;gap:28px;font-size:15px;color:var(--mu)}
.cval-chips a{padding-bottom:3px;border-bottom:1px solid transparent}
.cval-chips a[aria-current="page"]{color:var(--ink,#1f1e1b);border-bottom-color:var(--ink,#1f1e1b)}
.cval-grid{list-style:none;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:56px 24px;padding:48px var(--g) 0}
.cval-cell{min-width:0}
.cval-img{display:block;aspect-ratio:1/1;background:#ebe7de;overflow:hidden}
.cval-img img{width:100%;height:100%;object-fit:cover}
.cval-js .cval-cell.is-off,.cval-js .cval-cell.is-later{display:none}
.cval-morebox{padding:64px var(--g) 0;text-align:center}
.cval-morebtn{font:inherit;font-size:15px;color:var(--ink,#1f1e1b);background:none;border:0;border-bottom:1px solid var(--ink,#1f1e1b);padding:0 0 3px;cursor:pointer}
@media(max-width:1100px){.cval-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:860px){
  .cva-deal.is-online .cva-buy,.cva-deal.is-online .nap{display:table;margin-top:12px}   /* 휴대폰 = 세 줄 세로(링크 둘이 한 줄에 붙지 않게) */
  .cval-head{display:block;padding:36px var(--g) 0}
  .cval-head h1{font-size:34px}
  .cval-chips{gap:22px;font-size:14px;margin-top:18px}
  .cval-grid{grid-template-columns:1fr 1fr;gap:32px 14px;padding:28px var(--g) 0}
  .cval-grid .l{display:none}
}

/* 3b 목록 상태 줄 · 끝 「장르」 칸(홈 「장르」 칸과 같은 부품 · 편집장 dg-0428 §1-3·§1-6) */
.cval .s{display:block;color:var(--mu);margin-top:2px}
.cval-genres{padding:clamp(80px,8vw,120px) var(--g) 0}
.cval-sec{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:16px;margin:0 0 28px;
  border-top:1px solid var(--ln);font-size:14px;font-weight:400;color:var(--mu)}
.cval-names{display:flex;flex-wrap:wrap;gap:12px 36px;font-size:18px;line-height:1.5;margin:0}
.cval-names a{border-bottom:1px solid transparent}
.cval-names a:hover{border-bottom-color:var(--ink,#1f1e1b)}
@media(max-width:860px){.cval-genres{padding:80px var(--g) 0}.cval-sec{font-size:13px;margin-bottom:20px}.cval-names{font-size:16px;gap:10px 24px}}

/* ★261110 /album/ 첫 쪽 필터 줄(장르 · 레이블 · 추천) — 보기 칩과 같은 결(글자 칩 · 고른 것 = 먹색 + 밑줄 · 상자 0 · 가는 선 하나).
   HTML 에선 hidden(JS 없으면 줄 0 · 칸 전부) · cv-album.js 가 연다. 휴대폰 = 세로 세 줄 · 고르기 칸 16px(iOS 확대 0). */
.cval-filter{display:flex;flex-wrap:wrap;align-items:baseline;gap:16px 44px;margin:32px var(--g) 0;padding-top:16px;border-top:1px solid var(--ln);font-size:15px;color:var(--mu)}
.cval-filter[hidden],.cval-filter [hidden],.cval-empty:empty,.cval-count:empty{display:none}
.cval-fg{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 24px}
.cval-fk{font-size:14px;color:var(--mu)}
.cval-fg .cval-fk{margin-right:4px}
.cval-fg button,.cval-fp,.cval-clear{font:inherit;color:var(--mu);background:none;border:0;border-bottom:1px solid transparent;border-radius:0;padding:0 0 3px;margin:0;cursor:pointer}
.cval-fg button[aria-pressed="true"],.cval-fp[aria-pressed="true"]{color:var(--ink,#1f1e1b);border-bottom-color:var(--ink,#1f1e1b)}
.cval-fg button:disabled{color:var(--ln);cursor:default}
.cval-fl{display:flex;align-items:baseline;gap:14px;margin:0}
.cval-fs{position:relative;display:inline-block}
.cval-fs select{font:inherit;color:var(--ink,#1f1e1b);-webkit-appearance:none;appearance:none;background:none;border:0;border-bottom:1px solid var(--ln);border-radius:0;
  padding:0 24px 3px 0;margin:0;max-width:18em;cursor:pointer}
.cval-fs::after{content:"";position:absolute;right:6px;top:50%;margin-top:-4px;border:4px solid transparent;border-top:5px solid var(--mu);pointer-events:none}
.cval-fn{display:flex;align-items:baseline;gap:24px;margin:0 0 0 auto !important;font-size:14px;font-feature-settings:'tnum' 1}
.cval-clear{color:var(--ink,#1f1e1b);border-bottom-color:var(--ink,#1f1e1b)}
.cval-filter button:focus-visible,.cval-fs select:focus-visible{outline:2px solid var(--ink,#1f1e1b);outline-offset:3px}
.cval-empty{padding:48px var(--g) 0;font-size:16px;line-height:1.7;color:var(--ink2)}
@media(max-width:860px){
  .cval-filter{display:block;margin:24px var(--g) 0;padding-top:14px;font-size:14px}
  .cval-fg{gap:10px 20px}
  .cval-fl{margin-top:16px}
  .cval-fs{flex:1;min-width:0}
  .cval-fs select{width:100%;max-width:none;font-size:16px}
  .cval-fp{margin-top:16px}
  .cval-fn{margin:16px 0 0 !important;font-size:13px}
  .cval-empty{padding:36px var(--g) 0;font-size:15px}
}
