/* 2026-10-03 캠퍼스다운 E-book 템플릿 + 무료자료 버튼. E-book 스타일은 모두 .cd-ebook 아래에서만 적용 (다른 분류 영향 없음) */
:root{--eb-navy:#13203b;--eb-navy2:#1e2e52;--eb-burg:#6b1e2b;--eb-burg2:#8a2a3a;--eb-ivory:#f6f0e2;--eb-paper:#fbf8f1;--eb-line:#e4dac3;--eb-gold:#b08a3e;--eb-gold2:#d6b46a;--eb-ink:#1c1a17;--eb-ink2:#4a4439;--eb-serif:'Noto Serif KR','Nanum Myeongjo','Batang',serif}

/* ---------------- 3D 책 표지 (목록·상품 공통) ---------------- */
.ceb-book{display:block;width:100%;aspect-ratio:5/7;perspective:1400px;--b1:#13203b;--b2:#1e2e52;--bg:#d6b46a}
.ceb-book[data-tone="1"]{--b1:#5e1a26;--b2:#82283a}
.ceb-book[data-tone="2"]{--b1:#163a33;--b2:#21544a}
.ceb-book[data-tone="3"]{--b1:#2a2735;--b2:#403b52}
.ceb-book__inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transform:rotateY(-14deg) rotateX(2deg);transition:transform .55s cubic-bezier(.2,.7,.2,1);transform-origin:40% 50%}
.ceb-book__pages{position:absolute;top:1.6%;bottom:1.6%;left:3%;right:-3.5%;border-radius:0 4px 4px 0;background:repeating-linear-gradient(90deg,#fffdf6 0 2px,#ece3cd 2px 3px);box-shadow:inset 6px 0 10px rgba(0,0,0,.18),0 10px 24px rgba(19,32,59,.25);transform:translateZ(-1px)}
.ceb-book__cover{position:absolute;inset:0;display:block;overflow:hidden;border-radius:2px 5px 5px 2px;background:linear-gradient(135deg,var(--b2),var(--b1) 70%);transform-origin:left center;transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s;box-shadow:0 1px 1px rgba(0,0,0,.2),8px 14px 26px rgba(10,16,32,.35),inset 0 0 0 1px rgba(255,255,255,.04)}
.ceb-book__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#fff}
.ceb-book__spine{position:absolute;left:0;top:0;bottom:0;width:9%;background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(255,255,255,.16) 45%,rgba(0,0,0,.22) 70%,rgba(0,0,0,0));pointer-events:none}
.ceb-book__cover::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(255,255,255,.18) 0,rgba(255,255,255,0) 30%,rgba(255,255,255,0) 70%,rgba(0,0,0,.12));pointer-events:none}
.ceb-book__face{position:absolute;inset:7% 8% 7% 15%;display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--bg);border:1px solid rgba(214,180,106,.55);outline:1px solid rgba(214,180,106,.25);outline-offset:3px;padding:10% 8%}
.ceb-book__cat{font-family:var(--eb-serif);font-size:.62em;letter-spacing:.18em;text-transform:uppercase;opacity:.9;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ceb-book__orn{display:block;width:40%;height:9px;margin:9% auto 8%;background:radial-gradient(circle,var(--bg) 0 2.5px,transparent 3px) center/9px 9px no-repeat,linear-gradient(var(--bg),var(--bg)) center/100% 1px no-repeat;opacity:.85}
.ceb-book__title{font-family:var(--eb-serif);font-weight:700;font-size:1.02em;line-height:1.42;color:#f7efd9;word-break:keep-all;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 0 rgba(0,0,0,.35)}
.ceb-book__rule{display:block;width:26%;height:1px;background:var(--bg);margin:auto auto 7%;opacity:.7}
.ceb-book__pub{font-family:var(--eb-serif);font-size:.55em;letter-spacing:.32em;opacity:.85}
a:hover .ceb-book__inner,a:focus-visible .ceb-book__inner,.ceb-stage:hover .ceb-book__inner{transform:rotateY(-24deg) rotateX(3deg) translateY(-4px)}
a:hover .ceb-book__cover,a:focus-visible .ceb-book__cover,.ceb-stage:hover .ceb-book__cover{transform:rotateY(-22deg);box-shadow:0 1px 1px rgba(0,0,0,.2),18px 20px 34px rgba(10,16,32,.38)}

/* ---------------- 목록 (/category/E-book...) ---------------- */
.cd-ebook body,.cd-ebook .cd-list-page{background:var(--eb-paper)}
.cd-ebook .lst-hero{position:relative;overflow:hidden;background:radial-gradient(120% 140% at 100% 0,rgba(214,180,106,.20),transparent 50%),linear-gradient(135deg,var(--eb-navy) 0%,var(--eb-navy2) 55%,var(--eb-burg) 130%);border:0;border-radius:6px;padding:34px 34px 30px;box-shadow:0 18px 40px rgba(19,32,59,.22)}
.cd-ebook .lst-hero::before{content:"";position:absolute;inset:10px;border:1px solid rgba(214,180,106,.35);border-radius:3px;pointer-events:none}
.cd-ebook .lst-hero::after{content:"BIBLIOTHECA · CAMPUSDOWN";position:absolute;right:28px;bottom:16px;font-family:var(--eb-serif);font-size:.68rem;letter-spacing:.35em;color:rgba(214,180,106,.6)}
.cd-ebook .lst-crumb a,.cd-ebook .lst-crumb ol{color:rgba(246,240,226,.72) !important}
.cd-ebook .lst-crumb [aria-current]{color:var(--eb-gold2) !important}
.cd-ebook .lst-area .lst-title{font-family:var(--eb-serif);font-weight:900;font-size:2.1rem;color:#f8f1df;letter-spacing:-.01em}
.cd-ebook .lst-area .lst-title::after{content:"";display:block;width:64px;height:2px;margin-top:12px;background:linear-gradient(90deg,var(--eb-gold2),transparent)}
.cd-ebook .lst-sub{color:rgba(246,240,226,.8)}.cd-ebook .lst-sub b{color:var(--eb-gold2)}
.cd-ebook .lst-side{background:#fffdf8;border-color:var(--eb-line);border-radius:6px}
.cd-ebook .lst-tree a[aria-current]{background:#f3ead4;color:var(--eb-burg) !important}
.cd-ebook .lst-tree a[aria-current] span{color:var(--eb-burg)}
.cd-ebook .lst-tree__root a{font-family:var(--eb-serif)}
.cd-ebook .srch-list#lst-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:30px 22px;padding:10px 4px 6px}
.cd-ebook #lst-list .srch-card{background:transparent;border:0;border-radius:0;box-shadow:none}
.cd-ebook #lst-list .srch-card:hover{box-shadow:none;border:0}
.cd-ebook #lst-list .srch-card__link{display:flex;flex-direction:column;gap:12px;padding:0;border-radius:0;height:100%}
.cd-ebook #lst-list .srch-ftype{display:none}
.cd-ebook #lst-list .ceb-book{font-size:15px;margin:0 6px 0 0}
.cd-ebook #lst-list .srch-card__body{flex:1 1 auto}
.cd-ebook #lst-list .srch-card__cat{color:var(--eb-gold);font-family:var(--eb-serif);letter-spacing:.04em}
.cd-ebook #lst-list .srch-card__title{font-family:var(--eb-serif);font-weight:700;font-size:1rem;color:var(--eb-ink);-webkit-line-clamp:2}
.cd-ebook #lst-list .srch-card__link:hover .srch-card__title{color:var(--eb-burg)}
.cd-ebook #lst-list .srch-card__snip,.cd-ebook #lst-list .srch-tag{display:none}
.cd-ebook #lst-list .srch-pill{background:#f1e9d6;color:var(--eb-ink2)}
.cd-ebook #lst-list .srch-card__side{flex-direction:row;align-items:center;justify-content:space-between;border-top:1px solid var(--eb-line);padding-top:8px}
.cd-ebook #lst-list .srch-price{font-family:var(--eb-serif);color:var(--eb-navy)}
.cd-ebook #lst-list .srch-go{font-size:.75rem;color:var(--eb-gold)}
.cd-ebook .srch-empty{background:#fffdf8;border:1px solid var(--eb-line);border-radius:6px}
.cd-ebook .srch-empty__tit{font-family:var(--eb-serif);color:var(--eb-navy)}
.cd-ebook .srch-empty__ico{background:#f3ead4;color:var(--eb-burg)}
.cd-ebook .lst-pg.is-on{background:var(--eb-navy);border-color:var(--eb-navy)}
.cd-ebook .srch-sort.is-on,.cd-ebook .srch-sorts [aria-checked="true"]{background:var(--eb-navy) !important;color:#fff !important}
.cd-ebook .lst-chips .srch-cat.is-on,.cd-ebook .lst-chips [aria-current],.cd-ebook .lst-chips .is-on{background:var(--eb-navy) !important;border-color:var(--eb-navy) !important;color:#f8f1df !important}
.cd-ebook .lst-chips .srch-cat{border-radius:4px}
.ceb-shelf{display:flex;justify-content:center;gap:10px;margin:4px auto 16px;height:92px;align-items:flex-end}
.ceb-shelf span{display:block;width:22px;border-radius:2px 2px 0 0;background:linear-gradient(90deg,rgba(0,0,0,.25),rgba(255,255,255,.12) 40%,rgba(0,0,0,.15)),var(--c,#13203b);box-shadow:0 2px 0 var(--eb-gold)}
.ceb-shelf span:nth-child(1){height:80px;--c:#13203b}.ceb-shelf span:nth-child(2){height:92px;--c:#6b1e2b}.ceb-shelf span:nth-child(3){height:70px;--c:#163a33}.ceb-shelf span:nth-child(4){height:86px;--c:#2a2735;transform:rotate(8deg);transform-origin:bottom left}

/* ---------------- 상품 페이지 (/product/...) ---------------- */
body.cd-ebook.cdv-page{background:linear-gradient(180deg,#efe6d1 0,var(--eb-paper) 340px)}
.cd-ebook .cdv-crumb a[aria-current]{color:var(--eb-burg)}
.cd-ebook .cdv-top{grid-template-columns:minmax(240px,340px) minmax(0,1fr);grid-template-areas:"cover buy" "panel panel" "gallery gallery";gap:34px 40px;align-items:start}
.cd-ebook .cdv-top>.ceb-panel{grid-area:panel;margin:0}
.cd-ebook .cdv-gallery{width:100%;max-width:780px;justify-self:center}
.cd-ebook .ceb-hero-cover{grid-area:cover;position:sticky;top:96px}
.cd-ebook .cdv-buy{grid-area:buy}
.cd-ebook .cdv-top>.cdv-gallery{grid-area:gallery}
.ceb-stage{padding:18px 26px 28px 10px;font-size:19px}
.ceb-stage .ceb-book{filter:drop-shadow(0 22px 26px rgba(19,32,59,.18))}
.ceb-hero-cover__note{margin:4px 0 0;text-align:center;font-size:12px;color:#8a7f69}
.cd-ebook .cdv-buy__card{background:#fffdf8;border:1px solid var(--eb-line);border-radius:6px;box-shadow:0 1px 0 #fff inset,0 16px 36px rgba(19,32,59,.10);padding:28px 30px;position:relative}
.cd-ebook .cdv-buy__card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--eb-navy),var(--eb-burg) 60%,var(--eb-gold))}
.cd-ebook .cdv-badge{background:var(--eb-navy);border-radius:2px;letter-spacing:.12em}
.cd-ebook .cdv-badge--soft{background:#f3ead4;color:var(--eb-burg)}
.cd-ebook .cont.view .cdv-title{font-family:var(--eb-serif);font-weight:900;font-size:30px;line-height:1.35;color:var(--eb-ink);letter-spacing:-.01em}
.cd-ebook .cdv-facts{background:transparent;border-top:1px solid var(--eb-line);border-bottom:1px solid var(--eb-line);border-radius:0;padding:12px 0}
.cd-ebook .cdv-facts span{font-family:var(--eb-serif);color:var(--eb-gold);letter-spacing:.06em}
.cd-ebook .cdv-facts strong{color:var(--eb-ink)}
.cd-ebook .cont.view .cdv-price{border-top:0}
.cd-ebook .cdv-price .price_txt,.cd-ebook .cdf-price{font-family:var(--eb-serif);color:var(--eb-navy)}
.cd-ebook .cont.view .cdv-btn--buy,.cd-ebook.cdv-page .cdv-btn.cdv-btn--buy,.cd-ebook.cdv-page .info_btn a.cdv-btn--buy{background:var(--eb-navy) !important;border-color:var(--eb-navy) !important;border-radius:4px;box-shadow:0 8px 18px rgba(19,32,59,.25) !important;letter-spacing:.04em}
.cd-ebook .cont.view .cdv-btn--buy:hover,.cd-ebook.cdv-page .cdv-btn.cdv-btn--buy:hover{background:var(--eb-burg) !important;border-color:var(--eb-burg) !important}
.cd-ebook .cont.view .cdv-btn--cart,.cd-ebook .cont.view .cdv-fav{border-radius:4px;border-color:#d8ccb0}
.cd-ebook .cdv-benefits li i{color:var(--eb-gold)}
.cd-ebook .cdv-side,.cd-ebook .cdv-card,.cd-ebook .cdv-gallery{background:#fffdf8;border-color:var(--eb-line);border-radius:6px}
.cd-ebook .cdv-side__h,.cd-ebook .cdv-sech,.cd-ebook .view_tit{font-family:var(--eb-serif)}
.cd-ebook .cdv-gallery::before{content:"미리보기";display:block;font-family:var(--eb-serif);font-weight:700;font-size:18px;color:var(--eb-navy);margin:2px 0 12px}
.ceb-panel{margin:28px 0 8px;background:#fffdf8;border:1px solid var(--eb-line);border-radius:6px;padding:26px 30px;box-shadow:0 10px 28px rgba(19,32,59,.06)}
.ceb-panel__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:34px}
.ceb-h{font-family:var(--eb-serif);font-weight:900;font-size:20px;color:var(--eb-navy);margin:0 0 14px;display:flex;align-items:center;gap:10px}
.ceb-h::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--eb-gold2),transparent)}
.ceb-meta dl{margin:0;display:grid;gap:0}
.ceb-meta dl>div{display:grid;grid-template-columns:88px 1fr;gap:10px;padding:10px 0;border-bottom:1px dashed var(--eb-line)}
.ceb-meta dt{font-family:var(--eb-serif);font-weight:500;color:var(--eb-gold);font-size:13.5px}
.ceb-meta dd{margin:0;color:var(--eb-ink);font-weight:600;font-size:14.5px;word-break:keep-all}
.ceb-toc__list{margin:0;padding:0 0 0 0;list-style:none;counter-reset:toc}
.ceb-toc__more .ceb-toc__list{counter-reset:toc 8}
.ceb-toc__list li{counter-increment:toc;display:flex;gap:12px;padding:8px 0;border-bottom:1px solid #efe7d4;font-family:var(--eb-serif);color:var(--eb-ink2);font-size:15px;line-height:1.55}
.ceb-toc__list li::before{content:counter(toc,decimal-leading-zero);color:var(--eb-gold);font-weight:700;min-width:26px}
.ceb-toc__more summary{cursor:pointer;margin:10px 0 4px;color:var(--eb-burg);font-weight:700;font-size:14px}
.ceb-toc__none{color:#8a7f69;font-size:14px}
.ceb-toc__preview{display:inline-block;margin-top:14px;color:var(--eb-burg);font-weight:700;font-size:14px;text-decoration:none}
.cd-ebook .cdv-mbar{background:rgba(255,253,248,.97)}
.cd-ebook .view_content h2 span[style]{color:var(--eb-burg) !important}

/* ---------------- 무료 자료 (모든 분류 공통) ---------------- */
.cdf-price{font-size:30px;font-weight:800;letter-spacing:-.02em;color:#0f766e}
.cdf-price small{display:inline-block;margin-left:8px;font-size:13px;font-weight:700;color:#6b7280;letter-spacing:0}
.cont.view .cdv-actions.cdf-actions{display:grid;grid-template-columns:1fr auto;gap:8px;padding:0}
.cont.view .cdf-actions a{float:none !important}
.cdf-mid{flex:0 0 auto}.cdf-mid .cdf-btn{padding:0 22px}
.cont.view .cdf-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:52px;border-radius:12px;font-size:15.5px;font-weight:800;text-decoration:none;background:#0f766e;border:0;color:#fff !important;box-shadow:0 6px 16px rgba(15,118,110,.25);transition:background .2s,transform .15s}
.cont.view .cdf-btn:hover,.cont.view .cdf-btn:focus-visible{background:#0b5f58;color:#fff}
.cont.view .cdf-btn:active{transform:translateY(1px)}
.cont.view .cdf-btn.is-busy{opacity:.75;pointer-events:none}
.cd-ebook .cont.view .cdf-btn{background:var(--eb-navy);border-radius:4px}
.cd-ebook .cont.view .cdf-btn:hover{background:var(--eb-burg)}
.cdf-msg{margin:10px 0 0;padding:0;font-size:13.5px;line-height:1.55;color:#374151;min-height:0}
.cdf-msg:empty{display:none}
.cdf-msg{padding:10px 12px;border-radius:10px;background:#f0fdf9;border:1px solid #bfe9df}
.cdf-msg.is-warn{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.cdf-note{margin:10px 0 0;font-size:12.5px;color:#6b7280}
.cdv-mbar .cdf-btn{flex:0 0 auto;height:46px;padding:0 18px;font-size:14.5px}
.cdv-mbar__price .cdf-price{font-size:17px}
.cdv-mbar__price .cdf-price small{display:none}
.srch-price.is-free{color:#0f766e}

/* view2 (/article) E-book */
.cda.cd-ebook{background:var(--eb-paper)}
.cda.cd-ebook .main-title{font-family:var(--eb-serif);font-weight:900;color:var(--eb-ink)}
.cda.cd-ebook .cda-eyebrow{background:var(--eb-navy);color:var(--eb-gold2);font-family:var(--eb-serif);letter-spacing:.12em}
.cda.cd-ebook .ceb-hero-cover{max-width:240px;margin:6px auto 22px}

/* ---------------- 반응형 ---------------- */
@media (max-width:991px){
  .cd-ebook .cdv-top{grid-template-columns:minmax(0,1fr);grid-template-areas:"cover" "buy" "panel" "gallery";gap:18px}
  .cd-ebook .ceb-hero-cover{position:static;width:100%;max-width:250px;margin:0 auto;justify-self:center}
  .ceb-panel__grid{grid-template-columns:1fr;gap:22px}
}
@media (max-width:640px){
  .cd-ebook .lst-hero{padding:22px 20px 26px}
  .cd-ebook .lst-hero::after{right:16px;bottom:10px;font-size:.55rem}
  .cd-ebook .lst-area .lst-title{font-size:1.6rem}
  .cd-ebook .srch-list#lst-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
  .cd-ebook #lst-list .ceb-book{font-size:12.5px}
  .cd-ebook #lst-list .srch-go{display:none}
  .cd-ebook #lst-list .srch-card__side{justify-content:flex-start}
  .cd-ebook .ceb-hero-cover{max-width:210px}
  .ceb-stage{font-size:15px;padding:10px 20px 18px 6px}
  .cd-ebook .cont.view .cdv-title{font-size:23px}
  .cd-ebook .cdv-buy__card{padding:20px 18px}
  .ceb-panel{padding:20px 18px}
  .cdf-price{font-size:26px}
}
@media (prefers-reduced-motion:reduce){
  .ceb-book__inner,.ceb-book__cover,.cont.view .cdf-btn{transition:none !important}
  a:hover .ceb-book__inner,.ceb-stage:hover .ceb-book__inner{transform:rotateY(-14deg) rotateX(2deg)}
  a:hover .ceb-book__cover,.ceb-stage:hover .ceb-book__cover{transform:none}
  .ceb-reveal{animation:none !important;opacity:1 !important;transform:none !important}
}
@keyframes ceb-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.ceb-reveal{animation:ceb-rise .6s cubic-bezier(.2,.7,.2,1) both}
.cdf-mbar{position:relative}
.cdf-msg--bar{position:absolute;left:12px;right:12px;bottom:calc(100% + 8px);margin:0;box-shadow:0 8px 20px rgba(17,24,39,.12);font-size:13px}
