
:root{
  --sap-navy:#0d315f;
  --sap-navy-deep:#071f46;
  --sap-magenta:#ed176b;
  --sap-ink:#102644;
  --sap-text:#354b68;
  --sap-muted:#6f7f95;
  --sap-line:#dfe6ee;
  --sap-soft:#f6f8fb;
  --sap-white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.sap-book-record-page{margin:0;color:var(--sap-ink);background:#fff;font-family:"DM Sans",Arial,Helvetica,sans-serif}
.sap-prototype-bar{background:var(--sap-navy-deep);color:#fff;padding:10px 22px;display:flex;align-items:center;justify-content:center;gap:18px;font-size:12px;flex-wrap:wrap}
.sap-prototype-bar strong{font-size:11px;letter-spacing:.05em}
.sap-prototype-bar a{border:1px solid rgba(255,255,255,.35);color:#fff;text-decoration:none;padding:6px 12px;border-radius:999px}
.sap-prototype-bar a:hover{background:#fff;color:var(--sap-navy)}
.sap-book-shell{max-width:1450px;margin:0 auto;padding:0 44px}
.sap-book-breadcrumb{padding:26px 0 12px;font-size:12px;color:#738198;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.sap-book-breadcrumb a{color:var(--sap-navy);text-decoration:none}
.sap-book-breadcrumb .sep{color:var(--sap-magenta)}
.sap-book-breadcrumb .current{color:#445a76;max-width:900px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sap-book-hero{display:grid;grid-template-columns:188px minmax(0,1fr) 300px;gap:34px;padding:14px 0 28px;border-bottom:1px solid var(--sap-line);align-items:start}
.sap-cover-wrap{position:relative;align-self:start;display:flex;flex-direction:column;align-items:flex-start}
.sap-cover{width:188px;max-height:276px;object-fit:cover;box-shadow:0 14px 32px rgba(13,49,95,.16);border-radius:2px;background:#f2f3f5}
.sap-oa-badge{position:static;margin-top:13px;background:#fff;border:1px solid rgba(13,49,95,.13);box-shadow:0 5px 14px rgba(13,49,95,.10);color:var(--sap-navy);font-size:10px;font-weight:850;letter-spacing:.055em;padding:7px 11px;border-radius:999px}
.sap-book-kicker,.sap-section-kicker{font-size:10px;color:var(--sap-magenta);font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.sap-book-title{font-size:43px;line-height:1.055;letter-spacing:-.038em;margin:0 0 17px;color:var(--sap-ink);max-width:940px;font-weight:760}
.sap-book-subtitle{font-size:18px;line-height:1.35;color:#4e6077;margin:-7px 0 17px;max-width:900px}
.sap-contributor-summary{display:flex;flex-wrap:wrap;gap:5px 8px;align-items:center;margin-bottom:17px;font-size:14px;color:#314761}
.sap-contributor-summary a{color:var(--sap-navy);text-decoration:none;font-weight:700}
.sap-contributor-summary a:hover{color:var(--sap-magenta)}
.sap-contributor-summary .extra-link{color:var(--sap-magenta);font-weight:750}
.sap-book-tags{display:flex;gap:7px;flex-wrap:wrap}
.sap-book-tags span{font-size:10px;padding:6px 9px;background:#f4f7fb;border:1px solid #e3e9f0;border-radius:999px;color:#425875}
.sap-action-panel{border-left:1px solid #e2e7ee;padding-left:24px}
.sap-action-label{font-size:9px;color:#7c899b;text-transform:uppercase;letter-spacing:.13em;font-weight:800;margin-bottom:10px}
.sap-action-btn{display:flex;justify-content:center;align-items:center;text-align:center;text-decoration:none;border:1px solid #d8e0e9;color:var(--sap-navy);background:#fff;border-radius:6px;padding:10px 12px;font-size:11px;font-weight:750;margin-bottom:8px;transition:.15s ease}
.sap-action-btn:hover{transform:translateY(-1px);border-color:#b9c6d6;color:var(--sap-magenta)}
.sap-action-btn.primary{background:var(--sap-navy);color:#fff;border-color:var(--sap-navy)}
.sap-action-btn.magenta{background:var(--sap-magenta);color:#fff;border-color:var(--sap-magenta)}
.sap-action-mini{margin-top:18px;padding-top:13px;border-top:1px solid #e4e9ef;display:grid;gap:10px}
.sap-action-mini div{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8592a5;font-weight:800}
.sap-action-mini strong,.sap-action-mini a{display:block;margin-top:3px;text-transform:none;letter-spacing:0;font-size:11px;color:var(--sap-navy);font-weight:650;text-decoration:none;word-break:break-word}
.sap-book-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;padding:25px 0 66px}
.sap-main{min-width:0}
.sap-section{padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid var(--sap-line);scroll-margin-top:120px}
.sap-section:last-child{border-bottom:0}
.sap-section h2{font-size:28px;line-height:1.16;letter-spacing:-.025em;margin:4px 0 12px;color:var(--sap-ink)}
.sap-section p{font-size:15px;line-height:1.7;color:var(--sap-text);max-width:940px}
.sap-keywords{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.sap-keywords span{font-size:10px;padding:7px 9px;background:#f5f7fa;border-radius:5px;color:#334d6b}
.sap-chapters-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-end;margin-bottom:10px}
.sap-chapter-count{font-size:11px;color:#7a879b;margin-top:4px}
.sap-chapter-search{border:1px solid #d8e0e9;border-radius:7px;width:290px;padding:10px 12px;font-size:12px;color:#233b5b}
.sap-chapter-list{border-top:1px solid #cfd8e3}
.sap-chapter-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:18px;padding:20px 4px;border-bottom:1px solid #e2e8ef;align-items:start}
.sap-chapter-no{font-size:10px;color:var(--sap-magenta);font-weight:850;letter-spacing:.09em;padding-top:4px}
.sap-chapter-title{font-size:16px;line-height:1.35;color:var(--sap-navy);font-weight:750;text-decoration:none}
.sap-chapter-title:hover{color:var(--sap-magenta)}
.sap-chapter-authors{font-size:11px;color:#65758b;margin-top:6px}
.sap-chapter-meta{font-size:10px;color:#7a8799;margin-top:7px;display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.sap-chapter-meta a{color:#5e6f87;text-decoration:none}
.sap-chapter-meta a:hover{color:var(--sap-magenta);text-decoration:underline}
.sap-chapter-actions{display:flex;gap:7px;padding-top:1px}
.sap-chapter-actions a{font-size:10px;font-weight:800;text-decoration:none;border:1px solid #d6dfe9;color:var(--sap-navy);padding:8px 10px;border-radius:5px;white-space:nowrap}
.sap-chapter-actions a.view{background:var(--sap-navy);color:#fff;border-color:var(--sap-navy)}
.sap-chapter-row.is-hidden{display:none}
.sap-empty{display:none;padding:28px 8px;color:#69798f;font-size:12px}
.sap-citation-box{background:#f6f8fb;border-left:3px solid var(--sap-magenta);padding:15px 18px;font-size:12px;line-height:1.62;color:#42556e}
.sap-copy-citation{border:0;background:none;padding:0;margin-top:9px;color:var(--sap-magenta);font-size:10px;font-weight:800;cursor:pointer}
.sap-side-card{position:sticky;top:118px;border:1px solid #dce4ec;border-radius:10px;padding:21px;background:#fbfcfe}
.sap-side-card h3{font-size:14px;margin:0 0 15px;color:var(--sap-ink)}
.sap-meta-row{padding:10px 0;border-top:1px solid #e5eaf0}
.sap-meta-row:first-of-type{border-top:0;padding-top:0}
.sap-meta-label{font-size:8px;letter-spacing:.11em;text-transform:uppercase;color:#8592a4;font-weight:800}
.sap-meta-value{font-size:11px;color:#27405f;margin-top:4px;line-height:1.5}
.sap-isbn-list{display:grid;gap:5px}
.sap-isbn-item{display:block}
.sap-isbn-format{color:#738198}
.sap-side-links{margin-top:17px;padding-top:13px;border-top:1px solid #e4e9ef}
.sap-side-links a{display:block;text-decoration:none;color:var(--sap-navy);font-size:11px;padding:5px 0}
.sap-side-links a:hover{color:var(--sap-magenta)}
.sap-subject-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.sap-subject-card{border:1px solid #e0e6ed;border-radius:8px;padding:17px;background:#fff}
.sap-subject-card h3{font-size:13px;margin:0 0 10px}
.sap-subject-list{display:grid;gap:7px}
.sap-subject-item{font-size:11px;color:#445b76}
.sap-primary-badge{display:inline-block;margin-left:6px;padding:2px 5px;border-radius:999px;background:#fff0f6;color:var(--sap-magenta);font-size:8px;font-weight:850;letter-spacing:.04em}
.sap-missing-metadata{font-size:11px;color:#8592a4;font-style:italic}
.sap-contrib-intro{font-size:13px;color:#53677f;margin-bottom:13px}
.sap-affiliation-group{padding:14px 0;border-top:1px solid #e1e7ee}
.sap-affiliation-group:first-of-type{border-top:0;padding-top:0}
.sap-affiliation-group h3{font-size:14px;margin:0 0 10px;color:var(--sap-ink)}
.sap-contributor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px}
.sap-contributor-person{font-size:12px;color:#263f5f}
.sap-contributor-person a{color:var(--sap-navy);text-decoration:none}
.sap-contributor-person a:hover{color:var(--sap-magenta)}
.sap-contributor-role{color:#7a8799;font-size:10px}
.sap-biblio{display:grid;grid-template-columns:220px minmax(0,1fr);border-top:1px solid #dfe6ed}
.sap-biblio dt,.sap-biblio dd{margin:0;padding:9px 0;border-bottom:1px solid #e6ebf1;font-size:12px}
.sap-biblio> :nth-last-child(-n+2){border-bottom:0}
.sap-biblio dt{font-weight:800;color:#314a68;padding-right:20px}
.sap-biblio dd{color:#425972}
.sap-biblio a{color:var(--sap-navy);text-decoration:none}
.sap-biblio a:hover{color:var(--sap-magenta)}
.sap-publish-box{background:var(--sap-navy-deep);color:#fff;border-radius:10px;padding:25px 28px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.sap-publish-box h2{color:#fff;margin:3px 0 7px}
.sap-publish-box p{color:#dce6f3;margin:0;max-width:720px}
.sap-publish-actions{display:flex;gap:9px;flex-wrap:wrap}
.sap-publish-actions a{display:inline-flex;padding:9px 12px;border-radius:6px;text-decoration:none;font-size:11px;font-weight:800;border:1px solid rgba(255,255,255,.35);color:#fff}
.sap-publish-actions a.primary{background:#fff;color:var(--sap-navy-deep);border-color:#fff}
.sap-book-footer{margin-top:36px;background:#f0f1f3;border-top:1px solid #e1e4e8}
.sap-book-footer-inner{min-height:120px;display:flex;justify-content:space-between;align-items:center}
.sap-book-footer small{font-size:10px;color:#43536a}
.sap-book-footer img{width:155px;height:auto}
.sap-reader-wrap{max-width:1240px;margin:0 auto;padding:30px 40px 70px}
.sap-reader-hero{background:linear-gradient(135deg,#ed176b 0%,#e53b82 100%);border-radius:18px;padding:34px 38px;color:#fff;margin-bottom:34px;position:relative;overflow:hidden}
.sap-reader-hero:after{content:"";position:absolute;right:-40px;top:-30px;width:250px;height:250px;border:18px solid rgba(255,255,255,.13);border-radius:50%}
.sap-reader-kicker{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;position:relative;z-index:1}
.sap-reader-hero h1{font-size:34px;line-height:1.12;margin:8px 0 12px;max-width:980px;position:relative;z-index:1}
.sap-reader-authors,.sap-reader-doi{font-size:12px;position:relative;z-index:1}
.sap-reader-doi a{color:#fff}
.sap-reader-actions{display:flex;gap:8px;margin-top:18px;position:relative;z-index:1}
.sap-reader-actions a{padding:8px 11px;border-radius:6px;background:#fff;color:var(--sap-navy);font-size:10px;font-weight:800;text-decoration:none}
.sap-reader-body{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:42px}
.sap-reader-content h2{font-size:25px;margin-top:28px}
.sap-reader-content h3{font-size:20px;margin-top:24px}
.sap-reader-content p,.sap-reader-content li{font-size:14px;line-height:1.72;color:#263e5c}
.sap-reader-content img{max-width:100%;height:auto;display:block;margin:18px auto}
.sap-reader-content figure{margin:28px 0}
.sap-reader-content figcaption{font-size:11px;color:#607187;margin-top:8px}
.sap-reader-content table{border-collapse:collapse;width:100%;font-size:11px;margin:18px 0}
.sap-reader-content th,.sap-reader-content td{border:1px solid #cfd8e3;padding:7px 8px;text-align:left;vertical-align:top}
.sap-reader-content th{background:#f2f5f8}
.sap-reader-side{position:sticky;top:115px;align-self:start;border:1px solid #dde5ed;border-radius:9px;padding:17px;background:#fbfcfe}
.sap-reader-side a{display:block;color:var(--sap-navy);font-size:11px;text-decoration:none;padding:5px 0}
@media(max-width:1050px){
  .sap-book-hero{grid-template-columns:135px minmax(0,1fr)}
  .sap-cover{width:135px;max-height:197px}
  .sap-action-panel{grid-column:1/-1;border-left:0;border-top:1px solid var(--sap-line);padding:20px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .sap-action-label,.sap-action-mini{display:none}.sap-action-btn{margin:0}
  .sap-book-layout{grid-template-columns:1fr}.sap-side-card{position:static}
}
@media(max-width:760px){
  .sap-book-shell{padding:0 20px}
  .sap-book-hero{grid-template-columns:1fr;gap:20px}
  .sap-cover{width:135px}
  .sap-book-title{font-size:29px}
  .sap-action-panel{grid-template-columns:1fr}
  .sap-chapters-head{flex-direction:column;align-items:stretch}
  .sap-chapter-search{width:100%}
  .sap-chapter-row{grid-template-columns:42px minmax(0,1fr)}
  .sap-chapter-actions{grid-column:2}
  .sap-subject-grid,.sap-contributor-grid{grid-template-columns:1fr}
  .sap-biblio{grid-template-columns:1fr}.sap-biblio dt{border-bottom:0;padding-bottom:2px}.sap-biblio dd{padding-top:0}
  .sap-publish-box{flex-direction:column;align-items:flex-start}
  .sap-book-footer-inner{flex-direction:column;align-items:flex-start;justify-content:center;gap:14px}
  .sap-reader-wrap{padding:22px 18px 55px}.sap-reader-body{grid-template-columns:1fr}.sap-reader-side{position:static}
}

/* SAP Books V4 final refinements */
#descriptionSection{margin-top:0}
#chapterSection,#citationSection,#contributorsSection,#bibliographicSection{scroll-margin-top:105px}
@media (max-width:1100px){.sap-book-hero{grid-template-columns:170px minmax(0,1fr)}.sap-action-panel{grid-column:1/-1;border-left:0;border-top:1px solid var(--sap-line);padding:18px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sap-action-mini{grid-column:1/-1}.sap-cover{width:170px;max-height:250px}.sap-book-title{font-size:39px}}
@media (max-width:760px){.sap-book-shell{padding:0 20px}.sap-book-hero{grid-template-columns:112px minmax(0,1fr);gap:20px}.sap-cover{width:112px;max-height:165px}.sap-oa-badge{font-size:8px;padding:5px 8px;margin-top:8px}.sap-book-title{font-size:29px;line-height:1.08}.sap-book-layout{grid-template-columns:1fr;padding-top:20px}.sap-action-panel{grid-template-columns:1fr}.sap-side-card{position:static}.sap-chapter-row{grid-template-columns:46px minmax(0,1fr)}.sap-chapter-actions{grid-column:2}.sap-contributor-grid{grid-template-columns:1fr}.sap-biblio{grid-template-columns:1fr}.sap-biblio dt{padding-bottom:2px;border-bottom:0}.sap-biblio dd{padding-top:0}.sap-publish-box{align-items:flex-start;flex-direction:column}}

/* V5 chapter author metadata */
.sap-reader-author{display:inline}
.sap-reader-orcid,.sap-reader-mail{display:inline-flex;align-items:center;justify-content:center;margin-left:.3rem;text-decoration:none;font-weight:700}
.sap-reader-orcid{color:#a6ce39}
.sap-reader-mail{color:#fff;opacity:.95}
.sap-reader-affiliations{margin-top:.7rem;font-size:.9rem;line-height:1.45;opacity:.95}
