/* Extend the established navy / blue store with file-led product previews. */
.book-facts a,.product-author a,.product-header .eyebrow a{text-decoration:underline;text-underline-offset:3px}.author-works{padding-block:32px 56px}.author-works-heading{padding-block:28px;margin-bottom:28px;border-bottom:1px solid var(--line)}.author-works-heading h1{font-size:var(--site-font-r700da4e3,clamp(2rem,5vw,3.3rem));overflow-wrap:anywhere;margin:10px 0 16px}.author-works-heading p:last-child{color:var(--text);font-size:var(--site-font-s16,1rem)}.author-catalog-link{display:inline-block;margin-top:32px}

.serba-intro{padding-block:30px 32px}.serba-intro h1{font-size:var(--site-font-r2cc742e0,clamp(2.5rem,4vw,3.8rem))}.serba-intro .breadcrumbs{margin-bottom:24px}.serba-catalog{padding-bottom:56px}.format-links{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:23px}.format-links a{display:inline-flex;align-items:center;min-height:39px;padding:7px 14px;border:1px solid #cad8e9;border-radius:22px;color:var(--navy);background:#fff;font-size:var(--site-font-s14,.875rem);line-height:1.4;text-decoration:none}.format-links a:hover,.format-links a[aria-current]{background:var(--navy);border-color:var(--navy);color:#fff}.serba-shelf .format-links{margin-top:-4px;margin-bottom:20px}.digital-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 11px}.digital-grid.book-track{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:240px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:16px;column-gap:12px}.digital-card{min-width:0;scroll-snap-align:start}.digital-card .digital-cover{display:block;position:relative;aspect-ratio:4/3;background:#f1f5fa;border:1px solid #e3e9f1;border-radius:9px;overflow:hidden}.digital-cover img{width:100%;height:100%;object-fit:contain}.digital-file-tag{position:absolute;top:10px;left:10px;padding:5px 8px;border-radius:4px;background:var(--navy);color:#fff;font-size:var(--site-font-s12,.75rem);font-weight:700;letter-spacing:.04em}.digital-card-body{padding:13px 5px 0}.digital-kind{display:flex;justify-content:space-between;gap:8px;color:var(--blue);font-size:var(--site-font-s12,.75rem)}.digital-kind span{color:var(--text);text-align:right}.digital-card h3{font-family:Georgia,serif;font-weight:400;font-size:var(--site-font-s19-2,1.2rem);line-height:1.35;margin:9px 0 8px}.digital-card h3 a:hover{color:var(--blue)}.digital-spec{font-size:var(--site-font-s13,.8125rem);color:var(--text);line-height:1.6;margin-bottom:10px}.digital-price{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px}.digital-price s{font-size:var(--site-font-s13,.8125rem);color:var(--text)}.digital-price strong{font-size:var(--site-font-s18-88,1.18rem);color:var(--navy)}.digital-card .savings-highlight{font-size:var(--site-font-s12,.75rem)}.digital-toolbar{display:flex;align-items:end;gap:18px;background:#f6f8fc;padding:22px;border:1px solid var(--line);border-radius:10px}.digital-toolbar>div:first-child{flex:1}.digital-toolbar label{display:block;font-size:var(--site-font-s14,.875rem);margin-bottom:8px;font-weight:600}.digital-toolbar input,.digital-toolbar select,.store-search-form input{background:#fff;border:1px solid #c6d4e5;border-radius:6px;padding:12px 14px;color:var(--ink);font:inherit;font-size:var(--site-font-s16,1rem);min-height:48px;max-width:100%;width:100%}.digital-toolbar .button{min-height:48px}.digital-result-count{margin:24px 0 21px;color:var(--text);font-size:var(--site-font-s14,.875rem)}.digital-empty{padding:40px;text-align:center;background:var(--soft);border-radius:10px}.digital-empty p{margin:14px 0 20px}.digital-product{padding-block:30px 55px}.digital-detail-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:start}.digital-gallery{background:#f2f6fb;padding:22px;border-radius:12px;border:1px solid var(--line);text-align:center}.digital-gallery>img{display:block;width:100%;height:auto;border-radius:5px}.digital-preview-button{margin:20px 0 12px;border:1px solid #b8cce5;background:white;color:var(--navy);width:100%;justify-content:center}.digital-gallery>p{color:var(--text);font-size:var(--site-font-s13,.8125rem);line-height:1.6}.digital-details h1{font-size:var(--site-font-r28e1a6fb,clamp(2rem,3vw,2.9rem));line-height:1.15}.digital-tags{display:flex;gap:8px;flex-wrap:wrap;margin:19px 0}.digital-tags span{font-size:var(--site-font-s13,.8125rem);color:var(--blue);background:#edf3fa;padding:5px 10px;border-radius:5px}.digital-buy-box{margin:22px 0;padding:22px;background:#f4f7fb;border:1px solid var(--line);border-radius:9px}.digital-demo-label{font-size:var(--site-font-s12,.75rem);color:var(--blue);letter-spacing:.08em;font-weight:600}.digital-detail-price{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:15px 0}.digital-detail-price>strong{font-size:var(--site-font-s28-8,1.8rem);color:var(--navy);flex-basis:100%}.digital-detail-price s{font-size:var(--site-font-s14,.875rem);color:var(--text)}.digital-buy-box .button{width:100%;justify-content:center}.digital-buy-box>p{font-size:var(--site-font-s13,.8125rem);color:var(--text);line-height:1.6;margin-top:11px}.digital-facts{display:grid;gap:12px}.digital-facts>div{display:grid;grid-template-columns:125px 1fr;gap:14px;font-size:var(--site-font-s14,.875rem);line-height:1.6}.digital-facts dt{color:var(--text)}.digital-facts dd{margin:0}.digital-description-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-top:35px;margin-top:35px;border-top:1px solid var(--line)}.digital-description-grid h2{font-size:var(--site-font-s27-2,1.7rem);margin-bottom:18px}.digital-description-grid p,.digital-description-grid li{font-size:var(--site-font-s16,1rem);line-height:1.8;color:var(--text);margin-bottom:12px}.digital-description-grid ul{padding-left:20px}.search-page{padding-block:30px 55px}.store-search-form{display:flex;gap:12px;max-width:780px;margin:26px 0}.store-search-form input{flex:1;min-width:0}.store-search-section{margin-top:30px}.store-search-section>h2{font-size:var(--site-font-s30-4,1.9rem);margin-bottom:23px}.store-search-section .book-grid:not(.digital-grid){grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1080px){.digital-detail-layout{gap:27px}.digital-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.digital-grid.book-track{grid-auto-columns:240px}.store-search-section .book-grid:not(.digital-grid){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.digital-detail-layout,.digital-description-grid{grid-template-columns:1fr}.digital-gallery{max-width:560px}.digital-toolbar{flex-wrap:wrap;padding:17px;gap:12px}.digital-toolbar>div:first-child{flex-basis:100%}.digital-toolbar>div:nth-child(2){flex:1}.digital-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 11px}.digital-grid.book-track{grid-auto-columns:240px;column-gap:12px}.digital-description-grid{gap:24px}.digital-kind{flex-direction:column;gap:3px}.digital-kind span{text-align:left}.store-search-section .book-grid:not(.digital-grid){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.serba-intro h1{font-size:var(--site-font-s38-4,2.4rem)}.format-links{gap:7px}.format-links a{font-size:var(--site-font-s13,.8125rem);padding:7px 11px}.digital-card h3{font-size:var(--site-font-s17-6,1.1rem)}.digital-card-body{padding-inline:1px}.digital-file-tag{top:7px;left:7px;font-size:var(--site-font-s11,.6875rem)}.digital-price{gap:6px}.digital-price strong{font-size:var(--site-font-s17-6,1.1rem)}.digital-gallery{padding:14px}.digital-facts>div{grid-template-columns:105px 1fr}.digital-product{padding-top:22px}.digital-description-grid{margin-top:25px;padding-top:25px}.search-page h1{font-size:var(--site-font-s38-4,2.4rem)}.about-contact .container{flex-wrap:wrap}}

@media(max-width:600px){.digital-grid.book-track{column-gap:9px}}

/* Match ebook detail columns and purchase components, with product-specific previews. */
.digital-product-hero>.page-hero-image{object-position:right 30%}
.digital-product-detail{padding-bottom:56px}
.digital-preview-frame{display:block;width:220px;max-width:100%;height:330px;overflow:hidden;background:white;box-shadow:5px 10px 22px #18314b24}
.digital-preview-frame>.book-cover{display:block;width:100%;height:100%;object-fit:contain}
.digital-detail-frame.is-page-detail>.book-cover{object-fit:cover;object-position:center;transform:scale(1.55)}
.digital-product-gallery .gallery-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.digital-product-gallery .gallery-thumbnail{width:100%;min-width:0;padding-inline:5px}
.digital-product-gallery .gallery-thumbnail>span{font-size:var(--site-font-s12,.75rem);line-height:1.35}
.digital-product-detail .prose ul{padding-left:21px;margin:10px 0 0}
.digital-product-detail .prose li{margin-bottom:8px}
.digital-product-detail .digital-tags{margin:20px 0 0}
.digital-image-dialog{width:740px}
.digital-image-dialog .cover-dialog-art>.book-cover{width:auto;max-width:100%;max-height:75dvh;object-fit:contain}
.digital-purchase-steps{display:grid;gap:16px;color:var(--text);font-size:var(--site-font-s15,.9375rem);line-height:1.7;padding-left:22px;margin:24px 0}
.digital-purchase-steps li::marker{color:var(--navy);font-weight:700}
@media(max-width:1100px){.digital-preview-frame{width:200px;height:300px}}
@media(max-width:800px){.digital-preview-frame{width:186px;height:279px}.digital-product-gallery .gallery-thumbnails{gap:8px}}
@media(max-width:680px){.digital-preview-frame{width:220px;height:330px}.digital-product-gallery .gallery-thumbnails{gap:12px}.digital-product-detail{padding-bottom:40px}}

/* Ebook-sized cards; Serba artwork fills the whole cover stage. */
.digital-grid.book-grid:not(.book-track){grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),240px));gap:20px 11px;justify-content:start}
.book-grid .digital-card .cover-stage.digital-cover{height:260px;flex-basis:260px;padding:0;aspect-ratio:auto;border-radius:8px}
.book-grid .digital-card .digital-cover .book-cover{width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center;box-shadow:none;animation:none}
.book-grid .digital-card .digital-cover.cover-fit-contain{background:#f1f5fa}
.book-grid .digital-card .digital-cover.cover-fit-contain .book-cover{object-fit:contain}
.book-grid .digital-card .book-author{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:600px){.digital-grid.book-grid:not(.book-track){justify-content:center}}

.catalog-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:370px;max-width:100%;flex-shrink:0}
.catalog-action-row>.button{width:100%;min-height:52px;padding:12px 14px;text-align:center}

.source-purchase{max-width:480px}.source-purchase .purchase-option,.source-purchase .product-buy{width:100%}.source-file-options{border:0;padding:0;margin:22px 0 16px;min-width:0}.source-file-options legend{font-weight:700;color:var(--navy)}.source-file-options legend span{font-weight:400;font-size:var(--site-font-s12,12px);color:#65758d;margin-left:6px}.source-file-options>p{font-size:var(--site-font-s13,13px);color:#586b86;margin:8px 0 12px}.source-file-choice{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 12px;margin:8px 0;border:1px solid #d7e1f0;border-radius:7px;font-size:var(--site-font-s14,14px);cursor:pointer}.source-file-choice:has(input:checked){background:#eef4fc;border-color:var(--navy)}.source-file-choice input{accent-color:var(--navy);width:16px;height:16px;margin:0}.source-file-choice strong{font-size:var(--site-font-s13,13px);white-space:nowrap}.source-purchase-total{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #d7e1f0;padding-top:16px;margin:16px 0 12px;font-size:var(--site-font-s14,14px)}.source-purchase-total strong{font-size:var(--site-font-s21,21px);color:var(--navy)}.source-purchase .synopsis-link{margin-top:12px}.source-purchase [aria-disabled=true]{opacity:.55;cursor:default}

.serba-cover-popup{position:fixed;z-index:1200;pointer-events:none;width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:14px;background:#fff;border:1px solid #cbd7e9;border-radius:12px;box-shadow:0 14px 48px #132a5140;box-sizing:border-box}
.serba-cover-popup .preview-artwork{width:100%;text-align:center}
.serba-cover-popup img{display:block;width:100%;height:auto;max-height:calc(100dvh - 120px);object-fit:contain}
.serba-cover-popup p{margin:10px 0 0;font-size:var(--site-font-s14,14px);line-height:1.4;color:#203968;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.free-file-downloads{margin-bottom:24px}.free-file-downloads>p{font-size:var(--site-font-s14,14px);color:#586b86}.free-file-link{display:block;margin-top:12px;padding:12px;border:1px solid #d7e1f0;border-radius:7px;color:var(--navy);font-size:var(--site-font-s14,14px);font-weight:600;text-decoration:none}.free-file-link:hover{text-decoration:underline}.free-file-link:focus-visible{outline:3px solid var(--navy);outline-offset:3px}

/* One checkout action remains visible while reading product details on phones. */
.purchase-dock{display:contents}.purchase-dock[hidden]{display:none}.purchase-dock-offer{display:none}
@media(max-width:680px){
  body:has(.purchase-dock:not([hidden])){padding-bottom:var(--purchase-dock-height,132px)}
  html:has(.purchase-dock:not([hidden])){scroll-padding-bottom:calc(var(--purchase-dock-height,132px) + 16px)}
  .purchase-dock{position:fixed;inset:auto 0 0;z-index:12;display:grid;gap:9px;padding:11px max(16px,env(safe-area-inset-left)) calc(11px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-right));background:#fff;border-top:1px solid #d7e1ef;box-shadow:0 -4px 20px #172b4d0d}
  .purchase-dock-offer{display:flex;align-items:center;justify-content:space-between;gap:6px 12px;flex-wrap:wrap;font-size:var(--site-font-s14,.875rem);line-height:1.5;color:#566780}
  .purchase-dock-original{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 7px}
  .purchase-dock-original s{color:#64748b}
  .purchase-dock-offer .savings-highlight{font-size:var(--site-font-s14,.875rem);line-height:1.45;margin:0;white-space:nowrap}
  .product-purchase .purchase-dock .product-buy{width:100%;max-width:none;min-height:50px;margin:0;padding:12px 18px;font-size:var(--site-font-s16,1rem);line-height:1.5}
  body:has(dialog[open]) .purchase-dock,body:has([data-header-categories][open]) .purchase-dock,body:has(.menu-toggle[aria-expanded="true"]) .purchase-dock{visibility:hidden}
}

/* Cover gestures preserve native vertical scrolling and horizontal shelves. */
a, img {-webkit-touch-callout:none}
.book-card .cover-stage,.book-card .cover-stage img{user-select:none;-webkit-user-select:none}
.touch-cover-popup{padding-top:48px;pointer-events:auto}
.touch-cover-close{position:absolute;top:6px;right:6px;width:38px;height:38px;border:1px solid #cbd7e9;border-radius:50%;background:#fff;color:#203968;font-size:var(--site-font-s24,24px);line-height:1;cursor:pointer}
.touch-cover-popup img{max-height:calc(100dvh - 156px)}
.digital-important{padding:22px;background:#f3f6fb;border:1px solid #dbe4f1;border-radius:8px}
.digital-important ul{padding-left:20px;margin-bottom:0;line-height:1.7}
.digital-important li+li{margin-top:9px}
@media(max-width:680px){
  body:has(.store-home-hero) .serba-shelf .format-links{display:none}
  .article-grid,.article-listing .article-grid{grid-template-columns:1fr;gap:0}
  .article-card,.article-listing .article-card{display:grid;grid-template-columns:minmax(96px,34%) minmax(0,1fr);gap:16px;padding:20px 0;border-bottom:1px solid var(--line,#dbe4f1);align-items:start}
  .article-card:first-child{padding-top:0}
  .article-card .article-image{aspect-ratio:1;min-width:0;margin:0;border-radius:12px}
  .article-card .article-content{min-width:0}
  .article-card .article-meta{font-size:var(--site-font-s11,11px);line-height:1.45;margin:0}
  .article-card .article-meta span{display:block;margin:3px 0 0}
  .article-card .article-content h3,.article-listing .article-content h3{font-size:var(--site-font-s16,16px);line-height:1.4;margin:6px 0 0}
  .article-card .article-content>p:not(.article-meta){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:var(--site-font-s13,13px);line-height:1.5;margin:7px 0 10px}
  .article-card .synopsis-link{font-size:var(--site-font-s12,12px);line-height:1.5;margin:0;padding:0}
}
