/* v2.5: AI-generated concept image covers (album_covers_v2) replace the CSS/SVG art. Titles stay as HTML overlays in the bottom third. */
.nr-rack .front.has-img{padding:0!important;background:#FBF8F2!important;display:block!important;color:#fff}
.nr-rack .front.has-img::before,.nr-rack .front.has-img::after{display:none!important}
.nr-rack .front.has-img img.cv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0;display:block}
.nr-rack .front.has-img .ov{position:absolute;left:9%;right:9%;bottom:7%;top:auto;display:flex;flex-direction:column;gap:6px}
.nr-rack .front.has-img .ti{padding:0!important;font-size:calc(var(--w,300px) * .095)!important;line-height:1.05;text-shadow:none}
.nr-rack .front.has-img .k{padding:0!important;font:700 10px var(--font);letter-spacing:.16em;text-transform:uppercase;opacity:.9}
.nr-rack .rk-c-design .front.has-img,.nr-rack .rk-c-math .front.has-img{color:#14204A}
.nr-rack .front.has-img .ribbon{z-index:2}
.nr-rack .sleeve:not(.on) .front.has-img .ov{visibility:hidden}
.nr-rack .sleeve:not(.on) .front.has-img img.cv{visibility:visible}
@media (max-width:760px){.nr-rack .sleeve .front.has-img .ti{font-size:21px!important}.nr-rack .front.has-img .k{font-size:9px}}
/* v2.7 (t72u): title overlay is pinned inside the bottom colour band (band starts at 65.5–73.7% of the art) and can never rise into the illustration */
.nr-rack .front.has-img{container-type:inline-size}
.nr-rack .front.has-img .ov{top:76.5%!important;bottom:6%!important;left:8%!important;right:8%!important;justify-content:flex-end;gap:3px;overflow:hidden}
.nr-rack .front.has-img .ti,.nr-rack .sleeve .front.has-img .ti{font-size:7.4cqw!important;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nr-rack .front.has-img .k{font-size:max(8px,3.1cqw)!important;line-height:1.1;letter-spacing:.14em}

/* v2.8 (t74u): open-book left page shows the short course name, bold, max 2 lines; "AI Creative Camp" is a small eyebrow */
.nr-rack .obook .lid .inner{justify-content:center;gap:10px}
.nr-rack .obook .inner .ik{opacity:1!important;font:700 10px/1.3 var(--font)!important;letter-spacing:.16em}
.nr-rack .obook .inner .rk-in{font:800 26px/1.08 var(--font-d)!important;letter-spacing:-.015em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:normal;hyphens:none}
@media (max-width:760px){.nr-rack .obook .inner .rk-in{font-size:19px!important}.nr-rack .obook .inner .ik{font-size:8.5px!important;letter-spacing:.12em}}
/* v2.8 (t74u): caption is a small one-line label below the book, outside it, never over the fact cards */
.nr-rack .bookfig{display:flex;flex-direction:column;align-items:center}
.nr-rack .bookfig figcaption{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;order:2;margin-top:34px;white-space:nowrap!important;overflow-wrap:normal!important;text-transform:none!important;letter-spacing:.01em!important;font:600 11.5px/1.3 var(--font)!important;color:#14204A!important;background:rgba(255,255,255,.85)!important;padding:4px 10px;border-radius:999px;box-shadow:none}
@media (max-width:760px){.nr-rack .bookfig figcaption{margin-top:26px;font-size:10.5px!important}}
/* v2.8: fact cards always fit inside the right-hand page */
.nr-rack .obook .pg{overflow:hidden}
.nr-rack .obook .pg .rk-facts{gap:10px!important}
.nr-rack .obook .pg .lbl{max-width:100%;box-sizing:border-box}
@media (max-width:760px){.nr-rack .obook .pg{padding:12px 10px!important}.nr-rack .obook .pg .rk-facts{gap:7px!important}.nr-rack .obook .pg .lbl{padding:7px 9px!important}.nr-rack .obook .pg .lbl-card{padding-top:7px!important}.nr-rack .obook .pg .lbl b{font-size:17px!important;line-height:1.05}.nr-rack .obook .pg .lbl span{font-size:9.5px!important}}
@media (min-width:761px){.nr-rack .obook .pg .lbl b{font-size:30px!important;line-height:1.05}.nr-rack .obook .pg .lbl{padding-top:12px!important;padding-bottom:10px!important}}

/* v2.8b MKT-VR-02 V1: Graphic Design title on a cream strip (navy on cream), measured >= 4.5:1 */
.nr-rack .rk-c-design .front.has-img .ov{background:#FBF8F2;color:#14204A!important;padding:6px 8px 7px;border-radius:3px;left:6%!important;right:6%!important;bottom:5.5%!important}
/* V2: one short name per course; allow two lines on covers, never above the band */
.nr-rack .front.has-img .ov{top:auto!important}
.nr-rack .front.has-img .ti,.nr-rack .sleeve .front.has-img .ti{white-space:normal!important;text-overflow:clip!important;font-size:6.6cqw!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
/* figcaption a little smaller, sentence case, one line */
.nr-rack .bookfig figcaption{font-size:10.5px!important}
.nr-rack .ill{text-transform:none!important;letter-spacing:.01em!important;font-size:11px!important;color:#4A4234!important}
/* M1: Wix badge clearance on mobile */
@media (max-width:760px){body{padding-bottom:96px!important}}
@media (max-width:760px){.nr-rack .obook .inner .rk-in.long{font-size:14.5px!important;line-height:1.12}}

/* v2.8c: long two-line titles fit inside the band (rack + book) */
.nr-rack .front.has-img .ov{bottom:4.5%!important}
.nr-rack .front.has-img .ti.long2,.nr-rack .sleeve .front.has-img .ti.long2{font-size:5.3cqw!important;line-height:1.02}
.nr-rack .rk-c-design .front.has-img .ov{padding:3px 6px 4px!important;gap:1px!important;bottom:4.5%!important}
.nr-rack .rk-c-design .front.has-img .k{font-size:max(7px,2.7cqw)!important}
/* M1: on 390px phones the first screen ends in whitespace where the Wix badge sits */
@media (max-width:760px){.nr-rack .rack-stage{margin-top:-26px}.nr-rack .peek .ph2{font-size:22px!important;line-height:1.12!important;margin-bottom:4px!important}.nr-rack .peek .k2{margin-bottom:6px!important}}

/* v2.9 (t78u): ONE title treatment on all five covers (rack, books, every instance): cream strip, navy title, small-caps subline */
.nr-rack .front.has-img .ov,.nr-rack .rk-c-design .front.has-img .ov{position:absolute!important;top:auto!important;bottom:5%!important;left:6%!important;right:6%!important;
  background:#FBF8F2!important;color:#14204A!important;padding:2.2cqw 3cqw 2.4cqw!important;border-radius:1.2cqw!important;gap:.6cqw!important;
  display:flex!important;flex-direction:column!important;justify-content:flex-start!important;overflow:hidden!important;box-shadow:0 1px 4px rgba(20,32,74,.18)!important}
.nr-rack .front.has-img .ov .ti,.nr-rack .front.has-img .ov .ti.long2{color:#14204A!important;font-size:6.4cqw!important;line-height:1.12!important;font-weight:800!important;
  white-space:nowrap!important;overflow:hidden;text-overflow:clip;text-shadow:none!important;margin:0!important;-webkit-line-clamp:unset!important;display:block!important}
.nr-rack .front.has-img .ov .k{color:#3D4870!important;font-size:3.4cqw!important;line-height:1.1!important;font-variant:small-caps!important;text-transform:lowercase!important;
  letter-spacing:.06em!important;font-weight:700!important;text-shadow:none!important;opacity:1!important;margin:0!important}
/* v2.9 (t78u): flat corner tag replaces the clipped diagonal ribbon */
.nr-rack .front.has-img .ribbon,.nr-rack .ribbon{position:absolute!important;top:4%!important;right:4%!important;left:auto!important;transform:none!important;
  background:#14204A!important;color:#FFFFFF!important;font:800 max(10px,2.9cqw)/1.1 var(--font)!important;letter-spacing:.1em!important;padding:1.4cqw 2.4cqw!important;
  border-radius:1cqw!important;text-transform:uppercase!important;white-space:nowrap!important;box-shadow:0 1px 4px rgba(0,0,0,.25)!important;z-index:3!important}
/* v2.11 (MKT-VR-03 M6): cover subline and corner tag at least 11px on every cover */
.nr-rack .front.has-img .ov .k{font-size:max(11px,3.4cqw)!important}
.nr-rack .front.has-img .ribbon,.nr-rack .ribbon{font-size:max(11px,2.9cqw)!important}

/* v2_18: one primary button colour site-wide (orange fill, navy text) */
.nr-rack .rk-btn.solid,.nr-rack .rk-btn.solid.choose{background:#F57E20;color:#14204A;border-color:#F57E20}
.nr-rack .rk-btn.solid:hover{background:#FF9440;color:#14204A;box-shadow:0 12px 24px -12px rgba(20,32,74,.5)}