/* OldRoot commerce layer */
.shop-bag-nav{border-color:var(--old-gold)!important;background:#f0deac!important}
.shop-bag-nav span{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:5px;border-radius:999px;background:var(--deep-root);color:var(--cream);font-size:9px}
.library-card{display:block;text-decoration:none;color:inherit}
.library-card .card-view{color:var(--root-green);font-weight:950}
.library-view-link{display:inline-flex;margin-top:12px;border:1px solid var(--old-gold);border-radius:999px;padding:10px 14px;background:var(--parchment);font:900 10px/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.07em;text-decoration:none;color:var(--ink)}
.library-view-link:hover{background:#f0deac}
.shop-breadcrumb{display:flex;gap:8px;align-items:center;margin:4px 0 14px;color:var(--cream);font:850 10px/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.07em}
.shop-breadcrumb a{color:var(--cream)}
.product-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.75fr);gap:18px;margin-bottom:18px}
.product-gallery,.product-buybox,.product-panel,.cart-main,.cart-summary,.checkout-form,.checkout-summary,.confirmation-card{background:var(--cream);border:1px solid rgba(183,190,197,.9);border-radius:24px;box-shadow:0 16px 42px var(--green-shadow)}
.product-gallery{padding:22px}.product-book{min-height:520px}.product-media-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.product-media-strip div{padding:14px;border:1px dashed var(--cafe);border-radius:12px;background:var(--parchment);text-align:center;font:800 9px/1.4 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--bark)}
.product-buybox{padding:30px;position:sticky;top:94px;align-self:start}.product-buybox h1{font-size:clamp(48px,6vw,76px);line-height:.9;margin:8px 0 8px}.product-format{font:900 11px/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.09em;color:var(--root-green)}.product-price{font-size:28px;font-weight:800;color:var(--deep-root);margin:28px 0 6px}.product-lead{line-height:1.55;color:#555950}.product-quickfacts{margin:22px 0}.product-quickfacts div{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:11px 0;border-top:1px solid #d8cebf}.product-quickfacts dt{font:900 9px/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--bark)}.product-quickfacts dd{margin:0;font-size:13px;font-weight:800}.product-disabled{width:100%;border:1px solid var(--old-gold);border-radius:999px;padding:14px;background:#f0deac;color:var(--ink);font:900 11px/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.08em}.product-buy-note{font:750 10px/1.4 Arial,Helvetica,sans-serif;color:#6d6d67;text-align:center}
.product-details{display:grid;gap:18px}.product-panel{padding:28px}.product-panel h2{font-size:31px;margin:5px 0 12px;color:var(--deep-root)}.product-panel p{line-height:1.6;color:#4f534c}.publication-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.publication-grid div{padding:13px;border:1px solid #d8cebf;border-radius:12px;background:var(--parchment)}.publication-grid span{display:block;font:900 8px/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--bark);margin-bottom:6px}.publication-grid b{font-size:13px}.product-two-col{display:grid;grid-template-columns:1fr 1fr;gap:36px}.product-pagination{display:flex;justify-content:space-between;gap:12px}.product-pagination a{background:var(--cream);border:1px solid var(--old-gold);border-radius:999px;padding:11px 14px;text-decoration:none;font:900 10px/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.06em}
.bag-overlay{position:fixed;inset:0;background:rgba(4,12,8,.6);z-index:80;opacity:0;pointer-events:none;transition:.18s}.bag-overlay.open{opacity:1;pointer-events:auto}.bag-drawer{position:fixed;right:0;top:0;bottom:0;width:min(420px,92vw);z-index:81;background:var(--cream);transform:translateX(105%);transition:.2s;box-shadow:-20px 0 60px rgba(0,0,0,.3);padding:22px;display:flex;flex-direction:column}.bag-drawer.open{transform:translateX(0)}.bag-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #d8cebf}.bag-head strong{font-size:23px;color:var(--deep-root)}.bag-close{border:1px solid var(--old-gold);background:var(--parchment);width:36px;height:36px;border-radius:999px;cursor:pointer}.bag-body{flex:1;padding:22px 0}.bag-empty{padding:26px 18px;text-align:center;border:1px dashed var(--cafe);border-radius:14px;background:var(--parchment);color:#5f615b}.bag-actions{display:grid;gap:8px}.bag-actions a{display:block;text-align:center;padding:12px;border-radius:999px;text-decoration:none;font:900 10px/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.06em}.bag-actions a:first-child{background:var(--root-green);color:var(--cream)}.bag-actions a:last-child{border:1px solid var(--old-gold);background:var(--parchment)}
.cart-layout,.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.cart-main,.cart-summary,.checkout-form,.checkout-summary{padding:26px}.cart-main h2,.cart-summary h2,.checkout-form h2,.checkout-summary h2{margin:0 0 14px;color:var(--deep-root);font-size:28px}.cart-empty{padding:38px 22px;border:1px dashed var(--cafe);border-radius:16px;background:var(--parchment);text-align:center}.cart-empty p{color:#5e615a}.shop-primary,.shop-secondary{display:inline-flex;justify-content:center;border-radius:999px;padding:11px 14px;text-decoration:none;font:900 10px/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.06em}.shop-primary{background:var(--root-green);color:var(--cream)}.shop-secondary{border:1px solid var(--old-gold);background:var(--parchment)}.summary-row{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #d8cebf;font:800 12px/1.2 Arial,Helvetica,sans-serif}.summary-row.total{font-size:15px;border-bottom:0}.summary-note{font-size:11px;line-height:1.5;color:#62645d}.checkout-unavailable{padding:14px;border:1px solid var(--old-gold);background:#f0deac;border-radius:12px;font:850 10px/1.45 Arial,Helvetica,sans-serif;color:var(--deep-root);margin-bottom:18px}.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkout-fields label{display:grid;gap:6px}.checkout-fields label.full{grid-column:1/-1}.checkout-fields span{font:900 8px/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.09em;color:var(--bark)}.checkout-fields input,.checkout-fields select{height:44px;border:1px solid #cfc4b4;border-radius:10px;background:#ede6db;padding:0 12px;color:#797871}.checkout-place{width:100%;margin-top:18px;padding:13px;border:1px solid #b8ad9e;border-radius:999px;background:#d8d0c4;color:#777;font:900 10px/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.07em}.confirmation-card{padding:38px;text-align:center}.confirmation-mark{width:72px;height:72px;margin:0 auto 18px;background:url("assets/branding/oldroot-monogram.png") center/contain no-repeat;opacity:.65}.confirmation-card h1{font-size:clamp(46px,7vw,82px);margin:0 0 14px}.confirmation-card p{max-width:680px;margin:0 auto 22px;line-height:1.6;color:#555950}
@media(max-width:900px){.product-hero,.cart-layout,.checkout-layout{grid-template-columns:1fr}.product-buybox{position:static}.publication-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.product-gallery,.product-buybox,.product-panel,.cart-main,.cart-summary,.checkout-form,.checkout-summary{padding:20px}.product-book{min-height:330px}.product-two-col{grid-template-columns:1fr}.publication-grid{grid-template-columns:1fr 1fr}.checkout-fields{grid-template-columns:1fr}.checkout-fields label.full{grid-column:auto}.product-pagination{flex-direction:column}.product-pagination a{text-align:center}}

/* OldRoot library / commerce modernization */
.product-gallery,.product-buybox,.product-panel,.cart-main,.cart-summary,.checkout-form,.checkout-summary,.confirmation-card{
  border-color:var(--line);border-radius:16px;box-shadow:var(--surface-shadow);background:var(--paper-bright)
}
.product-buybox h1,.product-panel h2,.cart-main h2,.cart-summary h2,.checkout-form h2,.checkout-summary h2,.confirmation-card h1{
  font-family:var(--font-display);font-weight:880;letter-spacing:-.05em
}
.product-format,.product-quickfacts dt,.product-disabled,.product-buy-note,.library-view-link,
.bag-actions a,.shop-primary,.shop-secondary,.checkout-fields span,.checkout-place,.product-pagination a{
  font-family:var(--font-sans)
}
.product-gallery,.product-buybox,.product-panel{padding:26px}
.product-media-strip div,.publication-grid div,.checkout-unavailable{border-color:var(--line);border-radius:10px;background:rgba(231,220,203,.45)}
.product-buybox{top:88px}
.bag-drawer{background:var(--paper-bright)}
.library-view-link,.product-disabled,.shop-primary,.shop-secondary,.product-pagination a{border-radius:9px}
@media(max-width:620px){.product-gallery,.product-buybox,.product-panel,.cart-main,.cart-summary,.checkout-form,.checkout-summary{padding:20px}}


/* =========================================================
   OR-WEB-0016 · AFTER DARK · LIBRARY COMMERCE
   ========================================================= */
body.oldroot-after-dark .shop-bag-nav{
  color:var(--cream)!important;
  border-color:rgba(197,162,74,.34)!important;
  background:rgba(197,162,74,.12)!important;
}
body.oldroot-after-dark .shop-bag-nav span{
  color:#06110d;
  background:var(--old-gold)
}
body.oldroot-after-dark .product-gallery,
body.oldroot-after-dark .product-buybox,
body.oldroot-after-dark .product-panel,
body.oldroot-after-dark .cart-main,
body.oldroot-after-dark .cart-summary,
body.oldroot-after-dark .checkout-form,
body.oldroot-after-dark .checkout-summary,
body.oldroot-after-dark .confirmation-card{
  color:var(--after-text);
  border-color:var(--after-line);
  background:
    radial-gradient(circle at 100% 0%,rgba(52,126,88,.08),transparent 18rem),
    rgba(6,22,15,.82);
  box-shadow:0 24px 68px rgba(0,0,0,.22);
}
body.oldroot-after-dark .product-buybox h1,
body.oldroot-after-dark .product-panel h2,
body.oldroot-after-dark .cart-main h2,
body.oldroot-after-dark .cart-summary h2,
body.oldroot-after-dark .checkout-form h2,
body.oldroot-after-dark .checkout-summary h2,
body.oldroot-after-dark .confirmation-card h1,
body.oldroot-after-dark .bag-head strong{
  color:var(--after-text);
}
body.oldroot-after-dark .product-format,
body.oldroot-after-dark .product-quickfacts dt,
body.oldroot-after-dark .checkout-fields span{
  color:var(--old-gold);
}
body.oldroot-after-dark .product-price{color:var(--after-text)}
body.oldroot-after-dark .product-lead,
body.oldroot-after-dark .product-panel p,
body.oldroot-after-dark .product-buy-note,
body.oldroot-after-dark .summary-note,
body.oldroot-after-dark .confirmation-card p{
  color:var(--after-muted);
}
body.oldroot-after-dark .product-media-strip div,
body.oldroot-after-dark .publication-grid div,
body.oldroot-after-dark .cart-empty,
body.oldroot-after-dark .checkout-unavailable,
body.oldroot-after-dark .bag-empty{
  color:var(--after-muted);
  border-color:rgba(243,235,221,.10);
  background:rgba(12,38,26,.60);
}
body.oldroot-after-dark .publication-grid span{color:var(--old-gold)}
body.oldroot-after-dark .product-quickfacts div,
body.oldroot-after-dark .summary-row,
body.oldroot-after-dark .bag-head{
  border-color:rgba(243,235,221,.09);
}
body.oldroot-after-dark .library-view-link,
body.oldroot-after-dark .shop-secondary,
body.oldroot-after-dark .product-pagination a,
body.oldroot-after-dark .bag-actions a:last-child{
  color:var(--old-gold);
  border-color:rgba(197,162,74,.28);
  background:rgba(12,38,26,.60);
}
body.oldroot-after-dark .shop-primary,
body.oldroot-after-dark .bag-actions a:first-child{
  color:#06110d;
  background:var(--old-gold);
}
body.oldroot-after-dark .product-disabled,
body.oldroot-after-dark .checkout-place{
  color:var(--after-faint);
  border-color:rgba(197,162,74,.20);
  background:rgba(12,38,26,.54);
}
body.oldroot-after-dark .checkout-fields input,
body.oldroot-after-dark .checkout-fields select{
  color:var(--after-muted);
  border-color:rgba(243,235,221,.12);
  background:#071b12;
}
body.oldroot-after-dark .bag-drawer{
  color:var(--after-text);
  background:
    radial-gradient(circle at 100% 0%,rgba(52,126,88,.10),transparent 18rem),
    #06170f;
  border-left:1px solid rgba(197,162,74,.22);
}
body.oldroot-after-dark .bag-close{
  color:var(--cream);
  border-color:rgba(197,162,74,.30);
  background:rgba(12,38,26,.70);
}
