/* Conversion refinements, scoped to the two preview storefront pages. */
.bookstore { --muted:#405c50; }
.bookstore .small-copy,.footer-bottom,.store-announcement,.eyebrow { font-size:13px; }
.store-nav .button-small {font-size:13px;padding-inline:19px;}
.store-section {padding-block:72px;}
.section-heading {gap:28px;}
.section-heading>p {max-width:400px;font-size:15px;color:var(--muted);}
[data-reveal] {opacity:1!important;transform:none!important;}
[data-reveal].revealed {animation:store-arrive .26s ease-out;}
@keyframes store-arrive {from{translate:0 10px}to{translate:0 0}}
.trust-row {display:flex;justify-content:center;gap:18px 34px;align-items:center;flex-wrap:wrap;font-size:13px;font-weight:700;padding:17px 0;color:var(--green);}
.trust-row>span {display:flex;align-items:center;gap:7px;}
.trust-row svg {width:18px;height:18px;}
.trust-row a {text-decoration:underline;text-underline-offset:3px;}
.family-section {padding-block:55px 0;}
.family-section h2 {font-size:35px;max-width:650px;}
.quote-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.quote-grid figure {margin:0;padding:25px;border:1px solid var(--line);border-radius:19px;background:#fff;display:flex;flex-direction:column;}
.quote-grid blockquote {margin:0 0 20px;font-size:17px;line-height:1.6;flex:1;}
.quote-grid figcaption {display:flex;gap:13px;align-items:center;font-size:13px;color:var(--muted);}
.quote-grid figcaption img {width:50px;height:50px;border-radius:50%;object-fit:cover;}
.quote-grid figcaption strong {display:block;color:var(--ink);font-size:14px;}
.family-videos {margin-top:20px;background:#eaf5ee;border:1px solid #c3d7c8;border-radius:18px;overflow:hidden;}
.family-videos summary {display:flex;align-items:center;gap:12px;padding:18px 23px;font-weight:700;list-style:none;}
.family-videos summary>span:last-child {margin-left:auto;font-size:13px;}
.play-mark {display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:var(--green);color:white;font-size:13px;}
.video-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:0 24px 20px;max-width:850px;margin:auto;}
[data-video-status] {font-size:13px;text-align:center;padding:0 20px 15px;}
.world-card {padding:18px 14px 16px;}
.world-cover {width:94%;margin:8px auto 20px;}
.world-name {font-size:16px;}
/* Cover tiles and quiet links; detail lives in the quick view. */
.book-card {position:relative;background:none;border:0;border-radius:0;overflow:visible;transition:translate .2s;box-shadow:none;}
.book-card:hover {box-shadow:none;translate:0 -3px;}
.book-main {display:flex;flex-direction:column;height:100%;}
.bookstore .book-card .book-art {display:block;padding:14px;border-radius:18px;aspect-ratio:1;background:#e7f1e8;background-size:cover;background-repeat:no-repeat;background-position:center;overflow:visible;}
.book-card:nth-child(6n+2) .book-art {background:#ede8f7;}
.book-card:nth-child(6n+3) .book-art {background:#f7e8df;}
.book-card:nth-child(6n+4) .book-art {background:#e4eff5;}
.book-card:nth-child(6n+5) .book-art {background:#fbf0cf;}
.book-card:nth-child(6n) .book-art {background:#f5e5ec;}
.book-art img.card-cover {width:100%;height:100%;object-fit:cover;background-size:cover;background-repeat:no-repeat;background-position:center;border-radius:6px;box-shadow:0 4px 12px #203d3622;transform:none;transition:none;}
.book-card:hover .book-art img {transform:none;}
.book-card .book-info {display:flex;flex-direction:column;flex:1;padding:14px 0 0;}
.book-info h3,.catalogue-grid .book-info h3 {font-family:Fredoka,sans-serif;font-weight:500;font-size:19px;line-height:1.3;display:block;overflow:visible;min-height:0;-webkit-line-clamp:unset;}
.book-card .book-meta {display:block;font-size:14px;font-weight:500;margin:8px 0!important;color:#59665e;letter-spacing:0;white-space:nowrap;}
.book-card .book-choose {display:inline-flex;align-self:flex-start;align-items:center;justify-content:flex-start;background:none;color:var(--green)!important;border:0;border-radius:0;padding:0;min-height:0;font-size:14px;font-weight:600;gap:5px;margin-top:2px;}
.book-main:hover .book-choose {text-decoration:underline;text-underline-offset:4px;}
.book-choose svg {display:block;width:16px;height:16px;}
.book-card .book-choose:hover svg {transform:none;}
.card-tools {position:absolute;top:0;left:0;width:100%;aspect-ratio:1;pointer-events:none;}
.see-inside {position:absolute;bottom:10px;right:10px;display:none;place-items:center;width:32px;height:32px;border:1px solid #cad6ce;border-radius:50%;background:white;color:var(--ink);box-shadow:0 2px 7px #152c3318;padding:0;opacity:.7;pointer-events:auto;}
.js-store .see-inside {display:grid;}
.see-inside:hover,.see-inside:focus-visible {opacity:1;}
.see-inside svg {width:16px;height:16px;}
.book-quick-view {padding:0;border:1px solid var(--line);border-radius:22px;background:var(--cream);color:var(--ink);box-shadow:0 25px 80px #153d3240;}
.book-quick-view::backdrop {background:#122b2466;backdrop-filter:blur(4px);}
html:has(.book-quick-view[open]) {overflow:hidden;}
.example-disclosure {font-size:13px;color:var(--muted);margin:10px 0 17px!important;}
.format-section {padding-block:72px;}
.format-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;}
.format-grid article {padding:22px;background:linear-gradient(145deg,#f7f0ff,#f9faf4);border:1px solid var(--line);border-radius:23px;}
.format-grid article:nth-child(2) {background:#fff3d9;}
.format-grid article:nth-child(3) {background:#edf6ed;}
.format-heading {display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;}
.format-heading h3 {font-size:24px;}
.format-heading strong {font-size:22px;white-space:nowrap;color:var(--green);}
.format-heading small {font-size:11px;margin-left:4px;}
.format-grid p {font-size:15px;min-height:4.8em;}
.format-grid .text-link {margin-top:18px;font-size:14px;}
.format-footnote {max-width:980px;margin:24px auto 0!important;font-size:13px;line-height:1.7;text-align:center;color:var(--muted);}
.faq-layout {padding-top:15px;}
.store-faq p a {text-decoration:underline;color:var(--green);}
.photo-tips {display:flex;gap:20px;padding-bottom:24px;}
.photo-tips figure {margin:0;flex:1;font-size:13px;font-weight:700;}
.photo-tips img {width:100px;height:100px;object-fit:cover;border-radius:12px;margin-bottom:9px;}
.photo-too-dark {filter:brightness(.35) blur(3px);}
.closing-preview {display:flex;justify-content:space-between;align-items:center;gap:40px;padding:40px;margin-bottom:60px;background:linear-gradient(120deg,#eaf8f2,#fff1c5);border:1px solid var(--line);border-radius:26px;}
.closing-preview h2 {font-size:38px;max-width:620px;}
.closing-preview p {margin-top:14px;color:var(--muted);}
.closing-preview .button {flex:none;}
.mobile-preview,.mobile-filter {display:none;}
/* Catalogue: get the books on screen before asking shoppers to scroll. */
.catalogue-intro {display:block;padding:28px 0 16px;}
.catalogue-intro h1 {font-size:38px;line-height:1.15;margin:0;}
.catalogue-intro p {font-size:14px;margin:7px 0 0;}
.catalogue-main {padding-top:0;padding-bottom:50px;}
.catalogue-filters {padding:0;background:none;border:0;border-radius:0;box-shadow:none;scroll-margin-top:95px;}
.filter-main {display:flex;gap:12px;}
.search-field {width:100%;max-width:600px;height:46px;min-height:46px;background:white;}
.search-field input {font-size:15px;}
.filter-chip-line {display:flex;align-items:center;gap:17px;margin-top:10px;min-width:0;}
.filter-chip-line>span {font-size:13px;font-weight:700;flex:0 0 125px;}
.filter-chips {display:flex;gap:7px;align-items:center;overflow-x:auto;scrollbar-width:none;padding:3px 2px;min-width:0;}
.filter-chips::-webkit-scrollbar {display:none;}
.filter-chips a {flex:none;white-space:nowrap;font-size:13px;line-height:1.3;padding:9px 13px;min-height:36px;border-radius:30px;border:1px solid #bdd1c2;background:white;font-weight:700;}
.filter-chips a[aria-current=true] {background:var(--green);color:white;border-color:var(--green);}
.theme-chips {mask-image:linear-gradient(90deg,#000 98%,transparent);}
.theme-next {display:none;flex:none;width:38px;height:38px;border:1px solid #bdd1c2;border-radius:50%;background:white;color:var(--green);font-size:22px;}
.js-store .theme-next {display:grid;place-items:center;}
.catalogue-results {padding:12px 0 0;margin:0;border:0;min-height:40px;font-size:13px;}
.catalogue-results p {font-size:13px;}
.sort-field select {font-size:13px;max-width:140px;min-height:36px;}
.catalogue-main .trust-row {justify-content:flex-start;gap:10px 24px;border-bottom:1px solid var(--line);padding:8px 0;font-size:13px;}
.catalogue-main .example-disclosure {margin:10px 0 15px!important;}
.catalogue-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 20px;}
.catalogue-empty {text-align:left;padding:20px;background:#fff2cc;border-radius:16px;margin:0 0 20px;}
.catalogue-empty h2 {font-size:24px;}
.catalogue-empty p {margin:7px 0;font-size:14px;}
.catalogue-empty .text-link {font-size:14px;}
.catalogue-offer {text-align:center;padding:28px 20px;border:1px solid var(--line);border-radius:20px;background:#eff7ef;margin-top:30px;font-size:15px;}
.catalogue-offer p {margin:8px auto;max-width:740px;font-size:14px;}
.catalogue-offer .text-link {font-size:14px;}
@media(min-width:761px) and (max-width:1050px){
 .catalogue-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
 .format-heading {align-items:flex-start;flex-direction:column;gap:4px;}
 .store-desktop-nav {gap:16px;}
}
@media(max-width:760px){
 .store-wrap {width:calc(100% - 32px);}
 .store-nav {height:65px;}
 .store-logo img {width:137px;height:36px;}
 .store-announcement {font-size:12px;min-height:30px;padding:4px 12px;}
 .store-announcement a {display:none;}
 .trust-row {gap:7px;padding:12px 0;font-size:13px;}
 .section-heading {margin-bottom:22px;gap:15px;}
 .section-heading>p {font-size:14px;}
 .family-section {padding-top:38px;}
 .family-section h2 {font-size:30px;}
 .quote-grid {display:flex;overflow:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:8px;}
 .quote-grid figure {flex:0 0 84%;scroll-snap-align:start;padding:22px;}
 .family-videos summary {font-size:14px;padding:15px;flex-wrap:wrap;gap:8px;}
 .family-videos summary>span:last-child {margin-left:41px;width:100%;}
 .video-grid {display:flex;overflow:auto;padding:0 15px 15px;gap:15px;scroll-snap-type:x mandatory;}
 .video-grid>div {flex:0 0 82%;scroll-snap-align:start;}
 .store-section,.format-section {padding-block:44px;}
 .world-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
 .world-card {padding:10px 8px 12px;border-radius:14px;}
 .world-cover {width:91%;margin:6px auto 14px;}
 .world-name {font-size:13px;}
 .shelf-section {padding:40px 0;}
 .featured-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;}
 .age-shelf {margin-top:24px;padding-top:22px;gap:15px;}
 .age-shelf a {min-width:65px;padding:8px 10px;}
 .format-grid {grid-template-columns:1fr;gap:16px;}
 .format-grid article {display:grid;grid-template-columns:110px 1fr;gap:8px 19px;padding:20px;}
 .format-heading {margin:0;flex-wrap:wrap;gap:4px 10px;}
 .format-heading h3 {font-size:22px;}
 .format-heading strong {font-size:19px;}
 .format-grid p {min-height:0;font-size:14px;}
 .format-grid .text-link {margin-top:4px;font-size:13px;}
 .format-footnote {text-align:left;font-size:13px;}
 .faq-layout {gap:22px;}
 .store-faq summary {font-size:16px;padding-block:18px;}
 .store-faq details p {font-size:14px;padding-right:0;}
 .closing-preview {display:flex;flex-direction:column;gap:22px;padding:28px 23px;margin-bottom:40px;text-align:center;}
 .closing-preview h2 {font-size:31px;}
 .closing-preview p {font-size:15px;}
 .closing-preview .button {font-size:15px;}
 .mobile-preview {position:fixed;display:block;bottom:0;left:0;right:0;z-index:45;background:#fffdf8f5;backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:9px 16px max(9px,env(safe-area-inset-bottom));box-shadow:0 -4px 20px #143d3210;}
 .mobile-preview .button {width:100%;min-height:46px;padding:11px 18px;font-size:15px;}
 .store-home .store-footer {padding-bottom:90px;}
 .catalogue-intro {padding:19px 0 13px;}
 .catalogue-intro h1 {font-size:clamp(23px,6vw,31px);}
 .catalogue-intro p {font-size:13px;line-height:1.4;margin-top:7px;}
 .catalogue-filters {scroll-margin-top:78px;}
 .filter-main .search-field {height:43px;min-height:43px;}
 .search-field input {font-size:14px;}
 .filter-chip-line {gap:8px;margin-top:7px;}
 .filter-chip-line>span {font-size:13px;flex:0 0 48px;line-height:1.25;}
 .filter-chips {gap:5px;}
 .js-store .theme-next {display:none;}
 .filter-chips a {font-size:13px;padding:8px 10px;min-height:36px;}
 .catalogue-results {padding-top:4px;min-height:38px;}
 .catalogue-results>div {gap:8px;}
 .sort-field {gap:5px;}
 .sort-field select {max-width:125px;}
 .catalogue-main .trust-row {font-size:13px;gap:3px 12px;padding:5px 0;}
 .catalogue-main .trust-row svg {display:none;}
 .catalogue-main .example-disclosure {font-size:13px;line-height:1.4;margin:7px 0 12px!important;}
 .catalogue-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 12px;}
 .mobile-filter {position:fixed;display:flex;align-items:center;gap:7px;z-index:40;bottom:18px;right:18px;background:var(--green);color:white!important;border:2px solid white;border-radius:40px;padding:10px 18px;box-shadow:0 4px 14px #203d3633;font-size:14px;font-weight:700;}
 .mobile-filter svg {width:18px;height:18px;}
 .footer-bottom {font-size:13px;}
}
@media(prefers-reduced-motion:reduce){[data-reveal].revealed{animation:none}.bookstore *, .bookstore *:before, .bookstore *:after{scroll-behavior:auto!important;animation:none!important;transition:none!important;}}

/* Round two: lighter controls and fewer competing actions. */
.store-announcement {background:#edf5ee;color:var(--ink);font-weight:600;border-bottom:1px solid var(--line);}
.store-announcement a {color:var(--green);font-weight:600;}
.store-announcement svg {color:var(--green);}
.store-nav .button-outline {background:transparent;color:var(--green);box-shadow:none;}
.trust-row {color:var(--muted);font-weight:500;}
.play-mark {background:#d7e8dc;color:var(--green);}
.text-link {font-weight:600;}
.age-shelf a:hover {background:#e2f0e7;color:var(--green);}
.catalogue-intro p:not(.eyebrow):not(.breadcrumb) {font-size:14px;line-height:1.5;margin-top:7px;max-width:none;}
.format-grid article {display:flex;flex-direction:column;padding:26px;gap:0;}
.format-heading {align-items:center;flex-direction:row;}
.format-heading strong {color:var(--ink);font-weight:600;}
.format-grid p {flex:1;min-height:3em;}
.world-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
.filter-main {align-items:center;justify-content:space-between;gap:18px;}
.filter-main .search-field {flex:1;min-width:0;max-width:600px;}
.filter-main .catalogue-results {flex:1;max-width:460px;min-width:320px;padding:0;font-size:14px;}
.catalogue-results p,.sort-field,.sort-field select {font-size:14px;font-weight:500;}
.catalogue-results {align-items:center;}
.catalogue-grid .book-card {border:0;padding-bottom:0;}
.bookstore .footer-main h2 {font-family:'Nunito Sans',sans-serif;font-size:14px;font-weight:700;line-height:1.5;letter-spacing:0;}
.filter-chip-line>span {flex-basis:48px;font-weight:600;}
.filter-chips a {font-weight:600;border-color:#d8e0da;color:var(--ink);}
.filter-chips a[aria-current=true] {background:#e2f0e7;color:var(--green);border-color:#83a991;}
.filter-chips a[data-age=""],.filter-chips a[data-theme=""] {background:white;border-color:#d8e0da;color:var(--ink);}
.catalogue-grid,.featured-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.catalogue-grid {margin-top:24px;}
.mobile-filter {background:white;color:var(--ink)!important;border:1px solid #b9cec0;padding:8px 13px;font-weight:600;font-size:13px;box-shadow:0 3px 12px #203d361a;}
@media(min-width:900px){.catalogue-grid,.featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;}}
@media(min-width:1200px){.catalogue-grid,.featured-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.world-grid{grid-template-columns:repeat(7,minmax(0,1fr));}}
@media(min-width:761px) and (max-width:1199px){.format-heading{flex-direction:column;align-items:flex-start;gap:7px}.format-grid article{padding:22px}.format-heading h3{font-size:23px}}
@media(max-width:899px){
 .filter-main {display:grid;grid-template-columns:1fr;gap:5px;}
 .filter-main .search-field {max-width:none;}
 .filter-main .catalogue-results {max-width:none;min-width:0;min-height:38px;}
 .book-info h3,.catalogue-grid .book-info h3 {font-size:17px;}
 .bookstore .book-card .book-art {padding:12px;border-radius:14px;}
}
@media(max-width:760px){
 .world-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .world-name {font-size:15px;}
 .world-card:last-child {grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:20px;}
 .world-card:last-child .world-cover {width:100px;margin:0;}
 .book-card .book-meta {font-size:14px;letter-spacing:-.25px;}
 .catalogue-results>div {gap:9px;}
 .catalogue-results .clear-filters {font-size:13px;}
}

/* Account entry for existing app users; stays visible at every width. */
.store-login {display:inline-flex;align-items:center;min-height:44px;padding:0 6px;font-size:15px;font-weight:700;color:var(--ink);white-space:nowrap;}
.store-login:hover {color:var(--green);text-decoration:underline;text-underline-offset:5px;}
#how-it-works {scroll-margin-top:118px;}
@media (prefers-reduced-motion:no-preference) {html:has(body.bookstore) {scroll-behavior:smooth;}}
@media (max-width:760px) {.store-login {font-size:14px;padding:0 10px;} #how-it-works {scroll-margin-top:84px;}}

/* Scroll reveal. Content is always visible without JS; sections only animate once they enter view.
   Backwards fill keeps hover transforms working after the entrance finishes. */
@keyframes store-rise {from {opacity:0;transform:translateY(18px);}}
@media (prefers-reduced-motion:no-preference) {
 [data-reveal].revealed {animation:store-rise .6s cubic-bezier(.2,.7,.2,1) backwards;}
 [data-reveal=stagger].revealed {animation:none;}
 [data-reveal=stagger].revealed>* {animation:store-rise .6s cubic-bezier(.2,.7,.2,1) backwards;}
 [data-reveal=stagger].revealed>:nth-child(2) {animation-delay:.07s;}
 [data-reveal=stagger].revealed>:nth-child(3) {animation-delay:.14s;}
 [data-reveal=stagger].revealed>:nth-child(4) {animation-delay:.21s;}
 [data-reveal=stagger].revealed>:nth-child(5) {animation-delay:.28s;}
 [data-reveal=stagger].revealed>:nth-child(6) {animation-delay:.35s;}
 [data-reveal=stagger].revealed>:nth-child(n+7) {animation-delay:.42s;}
}

/* Book cards: covers lift like a book pulled from the shelf. */
.bookstore .book-art img.card-cover {border-radius:3px 8px 8px 3px;box-shadow:inset 0 0 0 1px #0000000f,0 2px 4px #203d361a,0 10px 22px #203d3626;transition:transform .35s cubic-bezier(.2,.8,.25,1),box-shadow .35s;}
.bookstore .book-card:hover {translate:none;}
.bookstore .book-main:is(:hover,:focus-visible) .book-art img.card-cover {transform:translateY(-6px) rotate(-1.5deg);box-shadow:inset 0 0 0 1px #0000000f,0 4px 8px #203d361a,0 20px 30px #203d3633;}
.bookstore .book-main:hover h3 {color:var(--green);}
.bookstore .book-info h3 {transition:color .2s;}
.trust-row a {display:inline-flex;align-items:center;gap:7px;}
.trust-row a svg {color:var(--green);}
@media (prefers-reduced-motion:reduce) {.bookstore .book-art img.card-cover {transition:none;}}
/* Book actions: a soft primary pill that fills green on hover, and a quiet "read" link. */
.book-card .book-info {padding-bottom:14px;}
.book-card .book-actions {display:grid;gap:14px;margin-top:auto;padding-top:4px;}
.bookstore .book-card .book-select {width:100%;min-height:46px;justify-content:center;gap:12px;padding:11px 16px;font-size:15px;background:#e5f2ea;border-color:#cfe4d6;color:var(--green)!important;box-shadow:0 3px 0 #cfe4d6;}
.bookstore .book-card .book-select svg {width:19px;height:19px;}
.bookstore .book-card .book-select:is(:hover,:focus-visible) {background:var(--green);border-color:var(--green);color:#fff!important;box-shadow:0 4px 0 #0d4d3c;}
.bookstore .book-card .book-select:hover {transform:translateY(-2px);box-shadow:0 6px 0 #0d4d3c;}
.bookstore .book-card .book-select:hover svg {transform:translateX(4px);}
.book-preview {display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:100px;color:var(--green);font-size:14px;font-weight:700;transition:background .2s,color .2s;}
.book-preview:hover {background:#eef6f0;}
.book-preview svg {width:19px;height:19px;flex-shrink:0;transition:transform .3s cubic-bezier(.3,1.6,.5,1);}
.book-preview:hover svg {transform:rotate(-10deg) scale(1.12);}
.bookstore .book-card .book-art {transition:box-shadow .35s,background .35s;}
.bookstore .book-main:is(:hover,:focus-visible) .book-art {box-shadow:0 16px 32px #203d3614;}

/* Whole-book reader dialog. */
/* Fit the desktop spread to the available height, allowing for the dialog
   header and the embedded reader's single bottom toolbar. */
.book-quick-view {--reader-dialog-height:min(940px,calc(100dvh - 48px));width:min(1180px,calc(100% - 48px),max(760px,calc((var(--reader-dialog-height) - 240px) * 1.72 + 24px)));height:var(--reader-dialog-height);max-width:none;max-height:none;padding:0;overflow:hidden;border:0;border-radius:28px;background:#fffdf7;color:var(--ink);box-shadow:0 40px 120px #0b241c66,0 0 0 1px #ffffff66;}
.book-quick-view[open] {display:flex;flex-direction:column;}
.book-quick-view::backdrop {background:radial-gradient(circle at 50% 35%,#1d4a3ccc,#0b1f19e6);backdrop-filter:blur(8px);}
.quick-view-header {position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 20px 16px 24px;background:linear-gradient(180deg,#fff6dc,#fffdf7);border-bottom:1px solid #efe7cf;flex-shrink:0;}
.quick-view-cover img {display:block;width:62px;height:62px;object-fit:cover;border-radius:3px 7px 7px 3px;transform:rotate(-5deg);box-shadow:inset 0 0 0 1px #0000000f,2px 2px 0 #f6efdc,3px 3px 0 #d8ccb0,6px 10px 18px #1d3a2c40;}
.quick-view-heading {min-width:0;}
.quick-view-header .eyebrow {display:flex;align-items:center;gap:7px;margin:0 0 3px!important;font-size:11px;letter-spacing:.1em;}
.quick-view-header .eyebrow svg {width:16px;height:16px;color:#a16c24;}
.quick-view-header h2 {margin:0;font-size:clamp(21px,2vw,28px);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.quick-view-meta {display:flex;flex-wrap:wrap;gap:6px;margin-top:7px!important;}
.quick-view-meta span {padding:3px 10px;border-radius:100px;background:#fff;border:1px solid #ebe3cb;font-size:12px;font-weight:700;color:#5b6d63;}
.quick-view-meta span:empty {display:none;}
.quick-view-close {display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #e3dcc6;border-radius:50%;background:#fff;color:var(--ink);cursor:pointer;transition:transform .3s cubic-bezier(.3,1.6,.5,1),background .2s;}
.quick-view-close svg {width:20px;height:20px;stroke-width:2;}
.quick-view-close:hover {background:#eaf4ed;transform:rotate(90deg);}
.quick-view-personalization {display:flex;align-items:center;gap:12px;flex-shrink:0;padding:12px 24px;background:#e7f3eb;border-bottom:1px solid #caddcd;}
.quick-view-personalization-icon {display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:12px;background:#fff0b7;color:#8a5b16;}
.quick-view-personalization-icon svg {width:24px;height:24px;}
.quick-view-personalization p {margin:0;line-height:1.4;color:#365b4c;}
.quick-view-personalization strong {display:block;font-size:19px;font-weight:700;color:#175c46;}
.quick-view-personalization p>span {display:block;margin-top:2px;font-size:14px;}
.quick-view-stage {position:relative;flex:1 1 0;min-height:0;background:radial-gradient(circle at 50% 40%,#fbf7ec,#f1eadb);}
.quick-view-reader {display:block;width:100%;height:100%;border:0;background:transparent;opacity:0;transition:opacity .4s ease;}
.book-quick-view.is-loaded .quick-view-reader {opacity:1;transition-delay:.3s;}
.quick-view-loading {position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:24px;text-align:center;transition:opacity .45s ease,visibility 0s linear;}
.book-quick-view.is-loaded .quick-view-loading {opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility 0s linear .45s;}
.loading-logo {display:block;width:88px;aspect-ratio:1;}
.loading-logo img {display:block;width:100%;height:100%;object-fit:contain;}
.quick-view-loading p {font-family:Fredoka,sans-serif;font-size:19px;font-weight:500;color:#183a31;}
.quick-view-loading a {display:inline-flex;align-items:center;gap:7px;margin-top:-8px;font-size:14px;font-weight:700;color:var(--green);text-decoration:underline;text-underline-offset:4px;}
.quick-view-loading a svg {width:17px;height:17px;}
@keyframes qv-pop {from {opacity:0;transform:translateY(24px) scale(.96);}}
@keyframes qv-out {to {opacity:0;transform:translateY(16px) scale(.97);}}
@keyframes qv-fade {from {opacity:0;}}
@keyframes qv-fade-out {to {opacity:0;}}
@keyframes qv-logo-turn {to {transform:rotate(360deg);}}
@keyframes qv-logo-pulse {0%,100% {transform:scale(.94);opacity:.8;} 50% {transform:scale(1.06);opacity:1;}}
@media (prefers-reduced-motion:no-preference) {
 .book-quick-view[open] {animation:qv-pop .45s cubic-bezier(.2,.9,.25,1.08);}
 .book-quick-view[open]::backdrop {animation:qv-fade .3s ease-out;}
 .book-quick-view.is-closing {animation:qv-out .22s ease-in forwards;}
 .book-quick-view.is-closing::backdrop {animation:qv-fade-out .22s ease-in forwards;}
 .book-quick-view[open] .loading-logo {animation:qv-logo-pulse 1.4s ease-in-out infinite;}
 .book-quick-view[open] .loading-logo img {animation:qv-logo-turn 4s linear infinite;}
 .book-quick-view.is-loaded .loading-logo,.book-quick-view.is-loaded .loading-logo img {animation-play-state:paused;}
}
@media (max-width:760px) {
 .book-quick-view {width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0;}
 .quick-view-header {gap:12px;padding:10px 10px 10px 14px;}
 .quick-view-cover img {width:44px;height:44px;}
 .quick-view-header .eyebrow {display:none;}
 .quick-view-header h2 {font-size:18px;}
 .quick-view-meta {margin-top:5px!important;gap:4px;}
 .quick-view-meta span {padding:2px 8px;font-size:11px;}
 .quick-view-close {width:42px;height:42px;}
 .quick-view-personalization {gap:10px;padding:10px 14px;}
 .quick-view-personalization-icon {width:30px;height:30px;border-radius:10px;}
 .quick-view-personalization-icon svg {width:20px;height:20px;}
 .quick-view-personalization strong {font-size:16px;}
 .quick-view-personalization p>span {font-size:13px;}
 .loading-logo {width:72px;}
 .quick-view-loading p {font-size:17px;}
}
@media (max-width:760px) and (prefers-reduced-motion:no-preference) {
 @keyframes qv-sheet {from {transform:translateY(40px);opacity:0;}}
 .book-quick-view[open] {animation:qv-sheet .4s cubic-bezier(.2,.9,.25,1);}
}
@media (max-width:600px) {
 .bookstore .book-card .book-select {min-height:42px;font-size:13px;gap:6px;padding-inline:8px;}
 .bookstore .book-card .book-select svg {width:16px;height:16px;}
 .book-card .book-preview {min-height:38px;font-size:12px;gap:5px;}
}

/* Header gains depth once the page scrolls; mobile menu slides down. */
.store-header {transition:box-shadow .25s,background .25s;}
.store-header.is-scrolled {box-shadow:0 8px 28px #143d3214;background:#fffefaf7;}
@keyframes store-drop {from {opacity:0;transform:translateY(-10px);}}
@media (prefers-reduced-motion:no-preference) {
 .store-mobile-nav:not([hidden]) {animation:store-drop .28s cubic-bezier(.2,.8,.25,1);}
 .store-mobile-nav:not([hidden]) a {animation:store-drop .32s cubic-bezier(.2,.8,.25,1) backwards;}
 .store-mobile-nav:not([hidden]) a:nth-child(2) {animation-delay:.04s;}
 .store-mobile-nav:not([hidden]) a:nth-child(3) {animation-delay:.08s;}
 .store-mobile-nav:not([hidden]) a:nth-child(4) {animation-delay:.12s;}
}
.store-mobile-nav {padding:12px 18px 20px;box-shadow:0 18px 30px #143d321a;}
.store-mobile-nav a:not(.button) {display:flex;align-items:center;gap:12px;padding:12px 10px;border-radius:14px;font-size:16px;transition:background .2s;}
.store-mobile-nav a:not(.button):hover {background:#eef6f0;}
.store-mobile-nav a:not(.button) svg {width:20px;height:20px;padding:7px;box-sizing:content-box;border-radius:11px;background:#e7f3ec;color:var(--green);}
.store-mobile-nav a:nth-child(2) svg {background:#fff1cc;color:#a16c24;}
.store-mobile-nav a:nth-child(3) svg {background:#efe7fb;color:#7a4fae;}
.store-mobile-nav .button {display:flex;width:100%;margin-top:12px;min-height:52px;font-size:16px;gap:12px;}
@media (prefers-reduced-motion:no-preference) {.store-mobile-nav:not([hidden]) a:nth-child(5) {animation-delay:.16s;}}

/* One announcement and navigation design for the homepage and catalogue.
   Header specificity keeps page art direction from changing these shared controls. */
.bookstore .store-announcement {font-size:14px;min-height:36px;}
.bookstore .store-header .store-nav {width:min(1320px,calc(100% - 80px));height:88px;}
.bookstore .store-header .store-logo img {width:178px;height:auto;}
.bookstore .store-header .store-nav a:not(.store-logo) {font-size:15px;}
.bookstore .store-header .button {font-size:15px;min-height:44px;padding:10px 18px;border-radius:100px;gap:22px;}
.bookstore .store-header .button-outline {box-shadow:none;}
.bookstore .store-header .button:hover {transform:translateY(-1px);}
.bookstore .store-header .button-outline:hover {box-shadow:none;}
@media(min-width:761px) and (max-width:1100px){
 .bookstore .store-header .store-nav {width:calc(100% - 48px);}
 .bookstore .store-header .store-desktop-nav {gap:15px;}
 .bookstore .store-header .store-nav a:not(.store-logo) {font-size:13px;}
 .bookstore .store-header .store-logo img {width:140px;}
}
@media(max-width:760px){
 .bookstore .store-announcement {font-size:12px;min-height:31px;}
 .bookstore .store-header .store-nav {width:calc(100% - 36px);height:68px;}
 .bookstore .store-header .store-logo img {width:144px;}
 .bookstore .store-header .store-nav .store-login {font-size:14px;}
 .bookstore .store-header .store-nav-actions>.button {display:none;}
 .bookstore .store-header .store-mobile-nav .button {display:flex;justify-content:center;min-height:52px;font-size:16px;gap:12px;box-shadow:0 3px 0 #104c3c;}
}
@media(max-width:360px){
 .bookstore .store-header .store-nav {width:calc(100% - 30px);}
}
