/* Bookshop layouts extend the public website design system and configured fonts. */
.public-site.bookshop-page{--bs-ink:var(--public-ink);--bs-muted:var(--public-muted);--bs-paper:var(--public-paper);--bs-line:var(--public-line);--bs-accent:var(--public-lime);background:var(--bs-paper);color:var(--bs-ink)}
.bookshop-page .bs-page-title{font-size:clamp(2.4rem,4.8vw,4.1rem);line-height:1.12;max-width:920px;overflow-wrap:anywhere}
.bookshop-page .bs-panel-title{font:700 1.4rem/1.25 var(--public-heading);letter-spacing:-.025em;margin-bottom:14px}
.bookshop-page .bs-muted{color:var(--bs-muted)}
.bs-subnav{border-bottom:1px solid var(--bs-line);background:#fff}
.bs-subnav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px}
.bs-wordmark{display:flex;align-items:center;gap:8px;font-size:.85rem;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;font-family:var(--public-heading)}
.bs-wordmark>span{font-size:28px;line-height:1;margin-right:4px}
.bs-subnav nav a:hover{text-decoration:none;background:var(--public-mint);color:var(--public-forest)}
.bookshop-page .bs-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center;padding-top:0;padding-bottom:0;min-height:500px}
.bs-hero-copy{max-width:none;padding:0;min-width:0}
.bs-hero-copy>.public-eyebrow{display:flex;align-items:center;gap:9px}
.bs-hero-copy .public-eyebrow i{display:block;width:6px;height:6px;border-radius:50%;background:#9aab80}
.bookshop-page .bs-button-block{display:flex;width:100%;margin-top:20px}
.bookshop-page .bs-button-danger{background:#8a3434;border-color:#8a3434}
.bs-hero-note{display:flex;align-items:center;gap:9px;margin-top:29px;font-size:var(--public-font-min);color:var(--public-muted)}
.bs-hero-note>span{font-size:17px;color:var(--public-brand)}
.bs-hero-stage{position:relative;min-height:490px;border-radius:24px;background:var(--public-mint);isolation:isolate;overflow:hidden;border:1px solid var(--public-line)}
.bs-stage-disc{position:absolute;width:430px;height:175px;background:#e0ded0;border-radius:50%;left:50%;bottom:-80px;transform:translateX(-50%);box-shadow:0 -12px 50px #b0b09533}
.bs-stage-orbit{position:absolute;inset:18px;border:1px solid #87957533;border-radius:100% 100% 7px 7px}
.bs-stage-orbit:after{content:'';position:absolute;inset:18px;border:1px solid #87957522;border-radius:100% 100% 5px 5px}
.bs-stage-caption{position:absolute;top:42px;left:50%;transform:translateX(-50%);font-size:var(--public-font-min);text-align:center;letter-spacing:.22em;line-height:1.8;width:100%;color:var(--public-muted)}
.bs-hero-books{position:absolute;inset:110px 0 45px}
.bs-hero-book{position:absolute;width:208px;left:50%;top:25px;transform-origin:bottom center}
.bs-hero-book.book-1{transform:translateX(-111%) rotate(-16deg);z-index:1}
.bs-hero-book.book-2{transform:translateX(10%) rotate(15deg);z-index:2}
.bs-hero-book.book-3{transform:translateX(-47%) rotate(-2deg);z-index:3;top:0}
.bs-hero-book .bs-book{box-shadow:12px 18px 25px #253a323d}
.bs-stage-sticker{position:absolute;right:16px;bottom:25px;z-index:4;background:var(--public-lime);width:104px;height:104px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(12deg);box-shadow:0 4px 15px #8c713522}
.bs-stage-sticker span{font-size:var(--public-font-min);line-height:1.3}
.bs-stage-sticker strong{font:700 20px/1.05 var(--public-heading);text-align:center}
.bs-stage-sticker span:last-child{font-size:17px;margin-top:5px}
.bs-empty-cover{position:absolute;inset:0 28%;display:flex;flex-direction:column;justify-content:space-between;padding:25px;background:var(--public-forest);color:#f5f1dd;box-shadow:10px 20px 20px #243d342b;transform:rotate(-8deg)}
.bs-empty-cover>span{font-size:9px;letter-spacing:.2em}
.bs-empty-cover strong{font:32px/1.1 var(--public-heading)}
.bs-empty-cover i{font-size:12px}
.bs-benefit-strip{border-block:1px solid var(--bs-line);background:var(--public-mint)}
.bs-benefit-strip>.public-wrap{display:grid;grid-template-columns:repeat(4,1fr);padding-block:18px;gap:20px}
.bs-benefit-strip span{display:flex;align-items:center;gap:12px;font-size:var(--public-font-min)}
.bs-benefit-strip b{font:800 var(--public-font-min)/1 var(--public-body);color:var(--public-forest);background:var(--public-lime);border-radius:10px;padding:10px}
.bs-filters{display:flex;align-items:stretch;gap:12px;padding:16px;background:var(--public-mint);border:1px solid var(--public-line);border-radius:18px;flex-wrap:wrap}
.bs-search{position:relative;flex:1;min-width:100px}
.bs-search>span{position:absolute;top:5px;left:13px;font-size:24px;color:#5e776a}
.bookshop-page .bs-filters .bs-search input{padding-left:38px}
.bookshop-page .bs-filters input,.bookshop-page .bs-filters select{width:100%;border:1px solid var(--public-line);background:#fff;padding:12px 14px;min-height:44px;border-radius:12px;color:var(--bs-ink);font:14px var(--public-body)}
.bs-filters>label{max-width:195px;min-width:110px}
.bs-results-line{display:flex;justify-content:space-between;gap:15px;margin:23px 0;font-size:var(--public-font-min);color:var(--bs-muted)}
.bs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.bs-card{min-width:0;background:#fff;border:1px solid var(--public-line);border-radius:22px;overflow:hidden;padding:16px;display:flex;flex-direction:column}
.bs-card-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:315px;background:var(--mat);padding:30px 35px 40px;border-radius:14px;text-decoration:none;overflow:hidden}
.bs-card-art:before{content:'';position:absolute;inset:auto -30px -50px;height:80px;background:#fff3;transform:rotate(-10deg)}
.bs-card-art>.bs-book{width:175px;transition:transform .3s,box-shadow .3s;transform:rotate(-5deg)}
.bs-card-art:hover>.bs-book{transform:translateY(-7px) rotate(-1deg);box-shadow:2px 2px 0 #e2e0d5,5px 5px 0 #f9f8f0,7px 7px 0 #c1c6b7,16px 24px 32px #172d3240}
.bs-card-art .bs-cover-title{font-size:22px}
.bs-card-badge{position:absolute;left:18px;top:16px;font-size:var(--public-font-min);letter-spacing:.13em;color:#627163}
.bs-card-open{position:absolute;bottom:18px;right:18px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid #87998a66;font-size:21px}
.bs-card-meta{display:flex;justify-content:space-between;gap:8px;margin:18px 0 8px;font-size:var(--public-font-min);color:var(--bs-muted);flex-wrap:wrap}
.bs-card-meta>span:first-child{text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.bs-card-meta .bs-available{color:#326644}
.bs-card h3>a{text-decoration:none}
.bs-card h3>a:hover{text-decoration:underline}
.bookshop-page .bs-card>p{font-size:.85rem;color:var(--bs-muted);margin-top:7px;line-height:1.65;margin-bottom:16px}
.bs-card-footer{border-top:1px solid var(--bs-line);padding-top:13px;margin-top:auto;display:flex;justify-content:space-between;gap:12px;font-size:var(--public-font-min);align-items:center;min-height:44px}
.bs-card-footer>span{color:var(--bs-muted)}
.bs-card-footer strong{color:var(--bs-ink)}
.bs-card-footer>a{text-decoration:none;font-weight:700;color:var(--public-brand)}
.bs-pagination{display:flex;justify-content:center;gap:28px;padding-top:35px;font-size:13px}
.bs-empty{grid-column:1/-1;text-align:center;padding:60px 20px;border:1px dashed #bdc9b9;border-radius:8px}
.bs-empty>span{font-size:44px;color:#6b7d58}
.bookshop-page .bs-empty p{margin:18px auto;color:var(--bs-muted);max-width:430px}
.bs-how{background:var(--public-mint);border-block:1px solid var(--public-line)}
.bs-school-panel{display:grid;grid-template-columns:1.05fr 1fr;gap:35px;padding:55px;background:var(--public-hero-background);color:#f8f6e7;border-radius:24px;overflow:hidden}
.bs-school-panel .public-eyebrow{color:var(--public-lime)}
.bookshop-page .bs-school-panel p{font-size:.95rem;line-height:1.85;color:#d0e1d9;max-width:380px;margin:20px 0 27px}
.bs-school-visual{display:flex;align-items:center;justify-content:center;gap:25px}
.bs-school-mini{display:flex;flex-direction:column;justify-content:space-between;width:170px;height:235px;background:var(--public-lime);color:#274d3d;padding:25px;box-shadow:5px 5px 0 #c6d0b7,12px 15px 25px #102c3855;transform:rotate(-8deg)}
.bs-school-mini>span{font-size:7px;letter-spacing:.15em}
.bs-school-mini strong{font:700 24px/1.12 var(--public-heading)}
.bs-school-benefits{display:grid;gap:18px;max-width:145px;font-size:var(--public-font-min);color:#d0e1d9}
.bs-school-benefits>span:before{content:'✓';display:block;margin-bottom:5px;color:var(--public-lime)}
.bs-back{display:inline-block;margin-bottom:30px;font-size:.88rem;color:var(--bs-muted);text-decoration:none}
.bs-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}
.bs-detail-stage{padding:65px 65px 35px;background:var(--mat);border-radius:24px;display:flex;flex-direction:column;align-items:center;position:sticky;top:112px}
.bs-detail-stage .bs-book{max-width:290px;transform:rotate(-5deg)}
.bs-detail-stage .bs-cover-title{font-size:37px}
.bs-detail-stage .bs-cover-top,.bs-detail-stage .bs-cover-kind{font-size:9px}
.bs-detail-stage .bs-cover-edition,.bs-detail-stage .bs-cover-subtitle{font-size:8px}
.bs-detail-stage .bs-cover-bottom{font-size:7px}
.bs-stage-footnote{font-size:var(--public-font-min);letter-spacing:.12em;color:var(--public-muted);margin-top:40px;text-align:center}
.bookshop-page .bs-detail-copy h1{font-size:clamp(2.4rem,4.8vw,4.1rem);line-height:1.12}
.bookshop-page .bs-subtitle{font:1.1rem/1.7 var(--public-body);color:var(--public-muted);margin-top:14px}
.bs-detail-tags{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}
.bs-detail-tags>span{font-size:var(--public-font-min);border:1px solid var(--public-line);padding:5px 11px;border-radius:8px}
.bs-description{font-size:.95rem;line-height:1.9;color:var(--public-muted)}
.bs-format-list{margin-top:25px;border-top:1px solid var(--bs-line)}
.bs-format-list>div{padding:15px 0;border-bottom:1px solid var(--bs-line);display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}
.bs-format-list small{display:block;font-size:var(--public-font-min);color:var(--bs-muted);margin-top:3px}
.bs-format-list>div>strong{font-size:13px;white-space:nowrap}
.bs-sample-link{display:block;text-align:center;font-size:var(--public-font-min);font-weight:600;padding:14px 0;text-decoration:none}
.bs-sample-link:hover{text-decoration:underline}
.bookshop-page .bs-fine{font-size:var(--public-font-min);line-height:1.8;color:var(--bs-muted);margin-top:12px}
.bs-centered{text-align:center}
.bs-soft-note{background:var(--public-mint);padding:18px;border:1px solid var(--public-line);border-radius:12px;font-size:.88rem;line-height:1.8}
.bookshop-page .bs-soft-note p{margin-top:4px}
.bs-contents{margin-top:75px}
.bs-toc{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;column-gap:50px}
.bs-toc>div{display:grid;grid-template-columns:25px 1fr;gap:4px 12px;border-bottom:1px solid var(--bs-line);padding:15px 0;font-size:13px}
.bs-toc>div>span{font:700 16px var(--public-heading);color:#81936b;grid-row:1/3}
.bs-toc small{grid-column:2;color:var(--bs-muted);font-size:var(--public-font-min)}
.bookshop-page .bs-related-heading{margin-top:70px}
.bs-custom-grid,.bs-order-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:65px;align-items:start}
.bs-order-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.bs-preview-panel{position:sticky;top:115px;padding:25px 32px;background:var(--public-mint);border:1px solid var(--public-line);border-radius:22px}
.bs-live-label{display:flex;justify-content:center;align-items:center;gap:8px;font-size:var(--public-font-min);letter-spacing:.15em;color:#5e7666}
.bs-live-label>span{width:5px;height:5px;background:#76954b;border-radius:50%}
.bs-custom-stage{padding:35px 0 26px;display:flex;justify-content:center}
.bs-custom-stage>.bs-book{width:248px;transform:rotate(-3deg)}
.bs-custom-stage .bs-cover-title{font-size:29px}
.bs-custom-stage .bs-cover-top,.bs-custom-stage .bs-cover-kind{font-size:8px}
.bs-custom-stage .bs-cover-subtitle{font-size:7px}
.bs-custom-stage .bs-cover-personal strong{font-size:12px}
.bs-custom-stage .bs-cover-personal>span{font-size:8px}
.bs-custom-stage .bs-cover-personal>small{font-size:7px}
.bs-custom-stage .bs-cover-personal img{width:27px;height:27px}
.bookshop-page .bs-preview-caption{font:700 1.15rem/1.3 var(--public-heading);text-align:center}
.bs-preview-caption>span{font:var(--public-font-min)/1.5 var(--public-body);color:var(--bs-muted)}
.bs-estimate{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--public-line);margin-top:23px;padding-top:18px;font-size:var(--public-font-min)}
.bs-preview-detail{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:17px;color:var(--bs-muted);font-size:var(--public-font-min)}
.bs-preview-detail>span+span:before{content:'·';margin-right:8px}
.bs-form-section{padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid var(--bs-line)}
.bs-form-heading{display:flex;align-items:center;gap:13px;margin-bottom:25px}
.bs-form-heading>span{font:800 var(--public-font-min)/1 var(--public-body);color:var(--public-forest);background:var(--public-mint);border-radius:12px;padding:12px}
.bookshop-page .bs-form-heading h2{font-size:1.35rem;letter-spacing:-.025em}
.bs-field{margin-bottom:18px;min-width:0}
.bs-field>label{display:flex;justify-content:space-between;gap:10px;font-size:.88rem;font-weight:600;margin-bottom:7px}
.bs-field>label>span{font-size:var(--public-font-min);color:var(--public-muted);font-weight:400}
.bookshop-page .bs-form input:not([type=checkbox]):not([type=hidden]),.bookshop-page .bs-form select,.bookshop-page .bs-form textarea,.bs-inline-form select{font:15px/1.5 var(--public-body);width:100%;padding:12px 13px;border:1px solid var(--public-line);background:#fff;color:var(--bs-ink);border-radius:12px;min-height:44px;max-width:100%}
.bookshop-page .bs-form textarea{resize:vertical}
.bookshop-page .bs-form select[multiple]{min-height:200px}
.bs-form input[type=file]{font-size:var(--public-font-min)!important;overflow:hidden}
.bs-form input:focus,.bs-form select:focus,.bs-form textarea:focus{outline:2px solid var(--public-brand);outline-offset:2px}
.bs-field>small{display:block;font-size:var(--public-font-min);color:var(--bs-muted);margin-top:6px;line-height:1.6}
.bs-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.bs-swatches{display:flex;gap:11px;margin:-3px 0 23px}
.bs-swatches button{display:grid;place-items:center;background:transparent;border:1px solid transparent;width:34px;height:34px;border-radius:50%;padding:4px;cursor:pointer}
.bs-swatches button>span{width:24px;height:24px;background:var(--cover);border-radius:50%}
.bs-swatches button[aria-pressed=true]{border-color:var(--cover)}
.bs-check{display:flex;align-items:start;gap:11px;font-size:var(--public-font-min);line-height:1.7;margin:18px 0}
.bs-check input{width:18px;height:18px;flex:0 0 18px;accent-color:var(--public-brand);margin-top:3px}
.bs-form .errorlist,.bookshop-page .bs-field-error{color:#a13636;font-size:var(--public-font-min);list-style:none;margin:8px 0;padding:0}
.bs-form .errorlist.nonfield{padding:16px;background:#f9e9e3;border:1px solid #d4a99a;border-radius:4px}
.bs-notices{padding-top:18px}
.bs-notice{padding:15px 20px;margin-bottom:12px;font-size:.88rem;border:1px solid #bfd0b4;background:var(--public-mint);border-radius:12px}
.bs-notice.error{background:#faeae4;border-color:#e3bca9;color:#8b3b2b}
.bs-order-list{display:grid;gap:18px}
.bs-order-card{display:flex;align-items:center;gap:27px;padding:24px;background:#fff;border:1px solid var(--bs-line);border-radius:22px}
.bs-order-mini{width:90px;min-height:123px;flex:0 0 90px;background:var(--cover);color:#fff4dc;padding:14px;box-shadow:3px 3px 0 #dedfd1;display:flex;flex-direction:column;justify-content:space-between}
.bs-order-mini>span{font-size:9px;letter-spacing:.15em}
.bs-order-mini strong{font:17px/1.05 var(--public-heading);overflow-wrap:anywhere}
.bs-order-copy{flex:1;min-width:0}
.bookshop-page .bs-order-copy h2{font-size:28px}
.bs-order-copy h2>a{text-decoration:none}
.bs-order-copy p,.bs-order-copy small{color:var(--bs-muted);font-size:var(--public-font-min);margin-top:9px}
.bs-order-actions{display:flex;flex-direction:column;align-items:end;gap:12px;font-size:13px}
.bs-status{display:inline-flex;padding:5px 11px;font-size:var(--public-font-min);letter-spacing:.03em;border:1px solid #d4dfc8;background:#e9eede;border-radius:30px;white-space:nowrap}
.status-quote_requested,.status-awaiting_payment{background:#f8efdb;border-color:#e3d4af;color:#806224}
.status-cancelled,.status-refunded{background:#eee6e2;border-color:#e3d5cd;color:#7c6157}
.bs-order-cover{padding:38px 42px 48px;display:flex;justify-content:center;background:var(--public-mint);border:1px solid var(--public-line);border-radius:22px;margin-bottom:20px}
.bs-order-cover .bs-book{max-width:260px;transform:rotate(-3deg)}
.bs-order-cover .bs-cover-title{font-size:32px}
.bs-order-cover .bs-cover-personal strong{font-size:12px}
.bs-order-cover .bs-cover-top{font-size:8px}
.bs-panel{padding:30px;background:#fff;border:1px solid var(--bs-line);border-radius:22px;margin-bottom:23px;min-width:0}
.bs-panel>p{font-size:13px;line-height:1.85;margin-bottom:10px}
.bs-summary{margin:22px 0 0}
.bs-summary>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--public-line);font-size:var(--public-font-min)}
.bs-summary dt{color:var(--bs-muted)}
.bs-summary dd{margin:0;text-align:right;font-weight:600}
.bs-summary>div.bs-total{font-size:20px;border:0;padding-top:18px}
.bs-summary .bs-total dt{color:var(--bs-ink)}
.bs-timeline{list-style:none;padding:0;margin:25px 0 0}
.bs-timeline li{display:flex;gap:18px;position:relative;padding-bottom:25px;font-size:var(--public-font-min)}
.bs-timeline li:before{content:'';position:absolute;left:4px;top:10px;width:1px;bottom:0;background:var(--public-line)}
.bs-timeline li:last-child:before{display:none}
.bs-timeline-dot{background:var(--public-brand);width:9px;height:9px;border-radius:50%;margin-top:6px;flex:0 0 9px}
.bs-timeline li p{font-size:.85rem;color:var(--bs-muted);margin:5px 0}
.bs-timeline time{font-size:var(--public-font-min);color:var(--public-muted)}
.bs-text-button{border:0;background:none;color:#856d61;text-decoration:underline;font:var(--public-font-min) var(--public-body);cursor:pointer;padding:5px 0}
.bs-workspace-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:32px;align-items:start}
.bs-panel-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.bs-panel-header>span{font-size:var(--public-font-min);color:var(--bs-muted)}
.bs-inline-form{display:flex;gap:8px;align-items:center}
.bs-table-scroll{overflow:auto}
.bs-table{width:100%;border-collapse:collapse;font-size:var(--public-font-min);text-align:left}
.bs-table th{padding:12px 14px;font-size:var(--public-font-min);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--public-line);color:#69796c}
.bs-table td{padding:16px 14px;border-bottom:1px solid var(--public-line);vertical-align:middle}
.bs-table td:first-child,.bs-table th:first-child{padding-left:0}
.bs-table td small{display:block;font-size:var(--public-font-min);color:var(--bs-muted);margin-top:3px}
.bs-table td a{white-space:nowrap}
.bs-table td strong{font-size:13px}
.bs-panel>summary{cursor:pointer;font-size:13px;font-weight:700}
.bs-panel>summary+form{margin-top:20px}
.bs-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(min-width:1500px){.bs-hero-stage{min-height:530px}
.bs-hero-books{top:130px}
.bs-hero-book{width:220px}
}

@media(max-width:1050px){.bs-hero-book{width:185px}
.bs-hero-stage{min-height:450px}
.bs-hero-books{top:125px}
.bs-card-art{min-height:300px;padding:30px}
.bs-card-art>.bs-book{width:156px}
.bs-card-art .bs-cover-title{font-size:20px}
.bs-detail-grid{gap:40px}
.bs-detail-stage{padding:45px 32px 30px}
.bs-custom-grid,.bs-order-layout{gap:30px}
.bs-preview-panel{padding:22px}
.bs-school-panel{padding:35px}
.bs-school-visual{gap:20px}
.bs-school-benefits{max-width:100px}
.bs-filters{flex-wrap:wrap}
.bs-search{min-width:230px}
.bs-filters>label{flex:1;max-width:none}
.bs-workspace-grid{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}
}

@media(max-width:760px){.bs-subnav-inner{align-items:start;flex-direction:column;gap:12px;padding-block:16px}
.bookshop-page .bs-hero{grid-template-columns:1fr;gap:10px;padding-top:15px;padding-bottom:30px}
.bs-hero-copy{max-width:none}
.bs-hero-stage{min-height:425px;max-width:500px;width:100%;justify-self:center}
.bs-hero-books{top:105px}
.bs-hero-book{width:185px}
.bs-stage-sticker{bottom:18px;right:20px}
.bs-benefit-strip>.public-wrap{grid-template-columns:1fr 1fr;gap:13px}
.bs-benefit-strip span{font-size:var(--public-font-min);gap:9px}
.bs-filters{gap:8px;padding:10px}
.bs-search{flex-basis:100%;min-width:0}
.bs-filters>label{min-width:110px;flex-basis:calc(50% - 8px)}
.bs-filters>.public-button{flex:1}
.bs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 17px}
.bs-card-art{min-height:245px;padding:28px 20px 35px}
.bs-card-art>.bs-book{width:134px}
.bs-card-art .bs-cover-title{font-size:18px}
.bs-card-art .bs-cover-top,.bs-card-art .bs-cover-kind{font-size:5px}
.bs-card-art .bs-cover-subtitle{font-size:5px}
.bs-card-art .bs-cover-bottom{font-size:4px}
.bs-card-art .bs-cover-kind{margin-top:12%}
.bs-card-open{width:25px;height:25px;font-size:16px;right:12px;bottom:12px}
.bs-card-badge{font-size:var(--public-font-min);left:12px;top:10px}
.bs-card-meta{flex-wrap:wrap;font-size:var(--public-font-min);margin-top:13px;gap:4px}
.bs-card-footer{flex-direction:column;gap:8px;font-size:var(--public-font-min)}
.bs-results-line{font-size:var(--public-font-min)}
.bs-results-line>span:last-child{max-width:45%;text-align:right}
.bs-school-panel{grid-template-columns:1fr;gap:40px;padding:30px 26px}
.bs-school-visual{padding:5px 0 10px}
.bs-school-mini{height:215px;width:155px}
.bs-school-benefits{max-width:130px}
.bs-detail-grid{grid-template-columns:1fr;gap:35px}
.bs-detail-stage{position:static;padding:45px 45px 25px}
.bs-detail-stage .bs-book{max-width:250px}
.bs-detail-stage .bs-cover-title{font-size:32px}
.bs-toc{grid-template-columns:1fr}
.bs-contents{margin-top:40px}
.bs-custom-grid,.bs-order-layout,.bs-workspace-grid{grid-template-columns:1fr;gap:28px}
.bs-preview-panel{position:static;grid-row:1}
.bs-custom-stage{padding:22px 0}
.bs-custom-stage .bs-book{width:205px}
.bs-custom-stage .bs-cover-title{font-size:25px}
.bs-estimate{margin-top:17px}
.bs-preview-panel>.bs-fine{font-size:var(--public-font-min)}
.bs-order-layout>aside{max-width:430px;width:100%;justify-self:center}
.bs-field-grid{gap:13px}
.bs-order-card{padding:17px;gap:18px;flex-wrap:wrap}
.bs-order-mini{width:64px;min-height:90px;flex-basis:64px;padding:10px}
.bs-order-mini strong{font-size:13px}
.bs-order-copy .public-eyebrow{font-size:var(--public-font-min);margin-bottom:8px}
.bookshop-page .bs-order-copy h2{font-size:22px}
.bs-order-copy p{font-size:var(--public-font-min)}
.bs-order-actions{flex-direction:row;width:100%;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid var(--bs-line);padding-top:14px;font-size:var(--public-font-min)}
.bs-panel{padding:22px}
.bs-panel-header{align-items:start;flex-direction:column}
.bs-notices{padding-top:12px}
.bookshop-page .bs-page-title{font-size:40px}
}

@media(max-width:380px){.bs-grid{gap:24px 12px}
.bs-card-art{min-height:215px;padding-inline:15px}
.bs-card-art>.bs-book{width:115px}
.bs-card-art .bs-cover-title{font-size:15px}
.bs-card-art .bs-cover-subtitle{font-size:4px}
.bs-card-art .bs-cover-top{font-size:4px}
.bs-card-art .bs-cover-edition{font-size:4px}
.bs-card-art .bs-cover-kind{font-size:4px}
.bs-card-art .bs-cover-bottom{font-size:3px}
.bs-hero-book{width:156px}
.bs-hero-books{top:110px}
.bs-hero-stage{min-height:375px}
.bs-stage-sticker{width:82px;height:82px}
.bs-stage-sticker strong{font-size:20px}
.bs-stage-caption{font-size:var(--public-font-min)}
.bs-school-mini{width:130px;flex-shrink:0;padding:19px}
.bs-school-mini strong{font-size:24px}
.bs-school-benefits{font-size:var(--public-font-min)}
.bs-field-grid{grid-template-columns:1fr;gap:0}
.bs-cover-art{min-height:20%}
}

@media(prefers-reduced-motion:reduce){.bookshop-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

.bs-hero-copy h1 em{color:var(--public-brand);font-style:normal}

.bs-subnav nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px}

.bs-subnav nav a{font-size:var(--public-font-min);font-weight:700;text-decoration:none;color:var(--public-muted);padding:10px 14px;min-height:44px;border-radius:100px}

.bs-steps .public-card-number{margin-bottom:26px}

@media(max-width:1050px){.bookshop-page .bs-hero{gap:40px}
.bs-card{padding:13px}
.bs-card-art{padding-inline:22px}
.bs-card-footer{flex-wrap:wrap}
}

@media(max-width:760px){.bookshop-page .bs-hero{grid-template-columns:1fr;gap:32px;padding:0}
.bs-hero-copy{padding:0}
.bs-hero-stage{max-width:100%}
.bs-subnav-inner{gap:10px}
.bs-subnav nav{gap:3px}
.bs-subnav nav a{padding:8px 10px}
.bs-benefit-strip span{font-size:var(--public-font-min)}
.bs-benefit-strip b{padding:8px}
.bs-card-art{padding-inline:12px;min-height:245px}
.bs-card{padding:12px}
.bs-grid{gap:18px}
.bs-card-footer{align-items:start}
.bs-steps .public-card{padding:25px}
.bs-school-panel{padding:30px 26px}
.bookshop-page .bs-form input:not([type=checkbox]):not([type=hidden]),.bookshop-page .bs-form select,.bookshop-page .bs-form textarea{font-size:16px}
}

@media(max-width:520px){.bs-grid{grid-template-columns:1fr}
.bs-card{padding:18px}
.bs-card-art{min-height:305px}
.bs-card-art>.bs-book{width:165px}
.bs-card-footer{flex-direction:row;align-items:center}
.bs-card-meta{font-size:var(--public-font-min)}
.bookshop-page .bs-card h3{font-size:1.25rem}
.bookshop-page .bs-card>p{font-size:.88rem}
.bs-card-footer{font-size:var(--public-font-min)}
.bs-filters>label{flex-basis:100%}
.bs-benefit-strip>.public-wrap{gap:14px 10px}
.bs-benefit-strip span{gap:7px}
.bs-school-visual{gap:18px}
.bs-school-mini strong{font-size:22px}
.bookshop-page .bs-page-title{font-size:2.4rem}
}

.bs-secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:999px;border:1.5px solid var(--public-line);background:transparent;color:inherit;font:600 var(--public-font-min) var(--public-body);cursor:pointer}
.bs-secondary-button:hover{border-color:currentColor}
.bs-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:#7c8c84;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}
.bs-divider:before,.bs-divider:after{content:'';flex:1;border-top:1px solid var(--public-line)}
.bs-code{font:700 1.05rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em;margin:6px 0}
.bs-redeem{max-width:520px}
