/* Digital bundles share the books site's navy and gold palette. */
.digital-section .digital-heading { display:flex; justify-content:space-between; align-items:center; gap:20px 32px; flex-wrap:wrap; margin-bottom:28px; }
.digital-heading-copy { min-width:0; }
.digital-title-row { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; }
.digital-title-row h2 { margin:0; }
.digital-heading .section-subtitle { margin:12px 0 0; }
.digital-sale-badge { display:inline-flex; align-items:center; min-height:28px; padding:4px 10px; border:1px solid #29315f33; font:600 12px var(--sans); color:var(--brand-navy); background:#ffbf2f22; }
.digital-sale-badge[hidden] { display:none; }
@media(max-width:650px) { .digital-section .digital-heading { align-items:flex-start; gap:18px; margin-bottom:24px; } .digital-title-row { gap:10px 14px; } }

.digital-store-controls { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; margin-bottom:20px; }
#digital-result-count { font-size:13px; color:var(--ink-soft); }
#digital-catalog-status { color:var(--ink-soft); font-size:14px; }
#digital-catalog-status:empty { display:none; }
.digital-catalog { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:0; }
.digital-product { min-width:0; display:grid; grid-template-columns:110px minmax(0,1fr); align-items:stretch; gap:26px; border:1px solid var(--line); background:var(--paper); padding:26px; }
.digital-product-meta { margin:0 0 12px; font:12px var(--sans); color:var(--ink-soft); }
.digital-product h3 { margin:0; font-size:23px; line-height:1.35; }
.digital-product-description { font-size:14px; line-height:1.65; color:var(--ink-soft); margin:14px 0 24px; }
.digital-product-bottom { margin-top:auto; display:flex; flex-wrap:wrap; align-items:center; gap:16px; justify-content:space-between; }
.digital-product-bottom small,.digital-product-bottom strong { display:block; }
.digital-product-bottom small { color:var(--ink-soft); font-size:12px; }
.digital-product-bottom strong { color:var(--brand-navy); font-size:20px; }
.digital-product-bottom .btn { min-height:44px; font-size:13px; padding:10px 14px; }
.digital-product .btn:disabled { color:var(--ink-soft); background:#e9e8e3; border-color:var(--line); cursor:default; opacity:1; }
@media(max-width:1000px) { .digital-catalog { grid-template-columns:1fr; } }
@media(max-width:650px) { .digital-catalog { gap:16px; } }
.digital-grade-filters { display:flex; flex:1; min-width:0; overflow-x:auto; gap:6px; padding:2px 2px 8px; }
.digital-grade-filters button { flex-shrink:0; min-height:44px; padding:10px 16px; border:1px solid var(--line); background:transparent; color:var(--brand-navy); font:600 14px var(--sans); cursor:pointer; white-space:nowrap; }
.digital-grade-filters [aria-pressed="true"] { background:var(--brand-navy); color:white; border-color:var(--brand-navy); }
.digital-grade-filters button:focus-visible { outline:2px solid var(--brand-navy); outline-offset:2px; }

/* Small paper stacks keep the title and purchase information in focus. */
.digital-product-info { display:flex; min-width:0; flex-direction:column; padding:0; }
.digital-product-info h3 { font:700 20px/1.45 var(--sans); margin:0 0 20px; overflow-wrap:anywhere; }
.digital-cover { position:relative; isolation:isolate; align-self:start; display:flex; flex-direction:column; justify-content:space-between; width:110px; min-height:154px; padding:14px 12px 12px 16px; background:#fffdf7; color:var(--brand-navy); border:1px solid #29315f40; border-left:4px solid var(--brand-navy); margin:0 6px 6px 0; }
.digital-cover::before,.digital-cover::after { content:""; position:absolute; z-index:-1; inset:3px -4px -4px 3px; border:1px solid #29315f26; background:#f6f5ef; }
.digital-cover::after { inset:6px -7px -7px 6px; z-index:-2; background:#eeeee8; }
.digital-cover-brand { font:600 8px/1.4 var(--sans); letter-spacing:.08em; }
.digital-cover-grade { font:700 23px/1.15 var(--sans); margin:14px 0; }
.digital-cover-lines { display:block; width:100%; height:22px; border-block:1px solid #29315f30; position:relative; }
.digital-cover-lines::after { content:""; position:absolute; left:0; right:20%; top:10px; border-top:1px solid #29315f30; }
.digital-cover-kind { font:600 10px/1.4 var(--sans); margin-top:12px; }
.digital-cover-topic { border-left-color:#cf960e; background:#fff9e8; }
@media(max-width:650px) { .digital-store-controls { gap:8px; } .digital-grade-filters { flex-basis:100%; } }
@media(max-width:420px) {
  .digital-product { grid-template-columns:72px minmax(0,1fr); gap:18px; padding:18px 16px; }
  .digital-cover { width:72px; min-height:112px; padding:10px 7px 8px 9px; }
  .digital-cover-brand { font-size:6px; }
  .digital-cover-grade { font-size:17px; margin:10px 0; }
  .digital-cover-lines { height:16px; }
  .digital-cover-lines::after { top:7px; }
  .digital-cover-kind { font-size:8px; margin-top:8px; }
  .digital-product-info h3 { font-size:17px; margin-bottom:16px; }
  .digital-product-meta { font-size:11px; line-height:1.6; }
  .digital-product-bottom { gap:12px; }
}

.digital-catalog-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:24px; }
#digital-page-summary { margin:0; font-size:13px; color:var(--ink-soft); }
#digital-pagination { display:flex; flex-wrap:wrap; gap:6px; }
#digital-pagination[hidden] { display:none; }
#digital-pagination button { min-width:44px; min-height:44px; padding:10px 14px; border:1px solid var(--line); color:var(--brand-navy); background:transparent; font:600 14px var(--sans); cursor:pointer; }
#digital-pagination [aria-current="page"] { background:var(--brand-navy); color:white; border-color:var(--brand-navy); }
#digital-pagination button:disabled { opacity:.45; cursor:default; }
#digital-pagination button:focus-visible { outline:2px solid var(--brand-navy); outline-offset:2px; }
#tai-lieu-so { scroll-margin-top:100px; }
#digital-title:focus { outline:none; }

.digital-preview-dialog { width:min(540px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow-y:auto; border:1px solid var(--line); border-top:4px solid var(--brand-gold); padding:26px; background:var(--paper); color:var(--brand-navy); }
.digital-preview-dialog::backdrop { background:#20284f88; }
.digital-preview-dialog header { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.digital-preview-dialog h2 { font:600 23px/1.4 var(--sans); margin:0; }
#digital-preview-close { flex-shrink:0; width:44px; height:44px; border:1px solid var(--line); background:white; font:26px var(--sans); color:var(--brand-navy); }
.digital-preview-dialog p,.digital-preview-note { font-size:14px; color:var(--ink-soft); line-height:1.7; }
#digital-preview-files { display:grid; gap:10px; margin-top:20px; }
#digital-preview-files .btn { justify-content:flex-start; white-space:normal; overflow-wrap:anywhere; }
.digital-preview-free { color:var(--ink-soft); font-size:12px; }
@media(max-width:420px) { .digital-preview-dialog { padding:20px; } }

/* Real first-page thumbnails keep the stacked-paper edge of the typographic cover. */
.digital-cover.has-image { padding:0; min-height:0; aspect-ratio:400 / 566; background:white; border-left-width:0; }
.digital-cover.has-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:top; }
.digital-product:hover .digital-cover.has-image { transform:translateY(-3px); }
.digital-cover { transition:transform .25s var(--ease); }
@media(prefers-reduced-motion:reduce) { .digital-cover { transition:none; } .digital-product:hover .digital-cover.has-image { transform:none; } }

.digital-product-desc { font-size:14px; line-height:1.6; color:var(--ink-soft); margin:8px 0 0; }
.digital-product-price { margin:10px 0 0; }
.digital-product-price strong { font-size:17px; font-weight:700; color:var(--brand-navy); }
