/* Checkout inherits the public site typography, palette and controls. */
.bc-page{padding-top:38px}
.bc-heading{display:flex;justify-content:space-between;align-items:center;gap:32px;margin:35px 0 42px}
.bc-heading>div{max-width:790px;min-width:0}
.bc-heading p,.bc-lead{max-width:650px;color:var(--public-muted);line-height:1.8;margin-top:18px;font-size:1rem}
.bc-heading h1{margin-top:15px}
.bc-heading-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 150px;width:150px;height:150px;border-radius:50%;background:var(--public-lime);color:var(--public-forest);font:64px/1 var(--public-heading);transform:rotate(8deg);border:8px solid var(--public-paper);outline:1px solid var(--public-line)}
.bc-heading-mark small{font:800 13px/1.35 var(--public-body);letter-spacing:.1em;text-align:center;margin-top:8px}
.bc-steps{display:flex;gap:17px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--public-line);padding-bottom:22px;font-size:var(--public-font-min)}
.bc-steps>a,.bc-steps>span:last-child{display:flex;align-items:center;gap:9px;color:var(--public-muted);text-decoration:none}
.bc-steps>a>span,.bc-steps>span:last-child>span{display:inline-grid;place-items:center;width:29px;height:29px;border:1px solid var(--public-line);border-radius:50%;font-weight:700}
.bc-steps [aria-current]{font-weight:800;color:var(--public-forest)}
.bc-steps [aria-current]>span{background:var(--public-lime);border-color:var(--public-lime)}
.bc-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(290px,1fr);gap:32px;align-items:start}
.bc-layout>*{min-width:0}
.bc-stack>.bs-panel{margin-bottom:20px}
.bc-item-top{display:flex;gap:25px;align-items:start}
.bc-item-copy{min-width:0;flex:1}
.bc-cart-item h2{font:700 1.35rem/1.3 var(--public-heading);margin:8px 0}
.bc-item-copy p{color:var(--public-muted);font-size:.9rem;margin:5px 0}
.bc-item-copy>small{display:block;font-size:var(--public-font-min);margin-top:5px}
.bc-price{font-size:1.1rem;display:block;margin-top:15px}
.bc-item-controls{display:flex;align-items:end;gap:18px;padding-top:20px;margin-top:23px;border-top:1px solid var(--public-line)}
.bc-item-controls>div{display:flex;align-items:center;gap:12px}
.bc-item-controls label{font-size:.85rem}
.bookshop-page .bc-item-controls input{width:105px!important}
.bc-text-button{font:700 .85rem/1.4 var(--public-body);color:var(--public-forest);background:none;border:0;text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:44px;padding:10px 0}
.bc-remove{margin-left:auto;color:#953e34}
.bc-summary{background:linear-gradient(150deg,#fff,var(--public-mint));border-color:#cbddd1}
.bc-summary .bs-summary{margin-top:20px}
.bookshop-page .bc-summary>p{font-size:.88rem}
.bc-assurance{display:flex;align-items:center;gap:13px;border-top:1px solid var(--public-line);margin-top:22px;padding-top:19px}
.bc-assurance>span{display:grid;place-items:center;flex:0 0 32px;height:32px;background:var(--public-lime);border-radius:50%;font-weight:800}
.bc-assurance p{font-weight:700;font-size:.9rem;line-height:1.6}
.bc-assurance small{font-weight:400;color:var(--public-muted);font-size:var(--public-font-min)}
.bc-empty{background:linear-gradient(145deg,var(--public-mint),var(--public-paper));border:1px solid var(--public-line);border-radius:28px;padding:60px 25px}
.bc-empty p{max-width:510px;margin:18px auto 26px}
.bc-empty>.public-text-link{display:block;margin-top:25px}
.bc-mini-line{display:flex;justify-content:space-between;gap:16px;padding:19px 0;border-bottom:1px solid var(--public-line);font-size:.88rem}
.bc-mini-line small{display:block;color:var(--public-muted);font-size:var(--public-font-min);margin-top:5px}
.bc-mini-line b{white-space:nowrap}
.bc-checkbox{display:flex;gap:12px;align-items:start;font-size:.88rem;line-height:1.7;margin:24px 0}
.bc-checkbox input{flex:0 0 19px;width:19px;height:19px;margin-top:4px;accent-color:var(--public-forest)}
.bc-help{padding:28px;border-radius:22px;background:var(--public-forest);color:#fff}
.bookshop-page .bc-help h2,.bookshop-page .bc-help h3{color:#fff;margin:10px 0 15px;font-size:1.35rem}
.bc-help p{color:#dfebe5;font-size:.9rem;line-height:1.8;margin-bottom:16px}
.bc-help a{color:var(--public-lime)}
.bc-help>.public-eyebrow{color:var(--public-lime)}
.bc-cover-preview .bs-detail-stage{min-height:500px}
.bc-cover-preview>h2{font-size:1.4rem;margin-top:24px}
.bc-cover-preview>p{color:var(--public-muted);margin-top:12px}
.bc-personalise{grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr)}
.bc-personalise .bs-form{margin-top:30px}
.bc-reference{overflow-wrap:anywhere;font-size:var(--public-font-min)!important}
.bc-order{scroll-margin-top:120px}
.bc-order-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}
.bc-order-heading>div{min-width:0}
.bc-order-heading h2{font:700 1.35rem/1.4 var(--public-heading);margin:9px 0}
.bc-order-heading p{font-size:.88rem;color:var(--public-muted)}
.bc-progress{list-style:none;margin:30px 0;padding:25px 0 0;display:flex}
.bc-progress li{flex:1;position:relative;min-width:0;padding:0 8px 0 0;display:flex;flex-direction:column;align-items:start;gap:9px;color:var(--public-muted)}
.bc-progress li:before{content:"";height:2px;background:var(--public-line);position:absolute;left:0;right:0;top:16px}
.bc-progress li:last-child:before{display:none}
.bc-progress li.is-done:before{background:#719e80}
.bc-step-dot{position:relative;display:grid;place-items:center;width:33px;height:33px;flex:0 0 33px;border:1px solid var(--public-line);border-radius:50%;background:#fff;font-weight:700;font-size:.85rem}
.is-done .bc-step-dot{background:var(--public-forest);color:var(--public-lime);border-color:var(--public-forest)}
.bc-progress li[aria-current] .bc-step-dot{outline:4px solid var(--public-mint)}
.bc-progress strong{font-size:var(--public-font-min);font-weight:600;line-height:1.45}
.bc-progress small{font-size:var(--public-font-min);line-height:1.4}
.bc-delivery{display:grid;grid-template-columns:1fr 1fr;gap:22px;background:var(--public-paper);border:1px solid var(--public-line);border-radius:16px;padding:22px;margin:25px 0}
.bc-delivery p{font-size:.9rem;line-height:1.8;margin-top:10px;overflow-wrap:anywhere}
.bc-quality{font-size:.88rem;padding:14px 0;color:var(--public-forest)}
.bc-quality>span{font-weight:800;margin-right:7px}
.bc-order-details{border-top:1px solid var(--public-line);padding-top:18px;margin-top:22px;font-size:.9rem}
.bc-order-details summary{font-weight:700;cursor:pointer;min-height:35px}
.bc-order-details .bs-summary{margin-top:18px}
.bc-order-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:25px;font-size:.88rem}
.bc-payment-record{padding-top:20px;margin-top:15px;border-top:1px solid var(--public-line);font-size:.85rem}
.bc-payment-record p{margin:8px 0}
.bc-payment-record small{overflow-wrap:anywhere;font-size:var(--public-font-min)}
.bc-track-benefits{list-style:none;padding:0;display:grid;gap:25px;margin:28px 0}
.bc-track-benefits li{display:flex;gap:17px;align-items:center}
.bc-track-benefits b{font:700 1.3rem/1 var(--public-heading);color:var(--public-lime)}
.bc-track-benefits small{display:block;color:#dfebe5;font-size:var(--public-font-min);margin-top:6px;line-height:1.6}
.bc-recent{margin-top:50px}
.bc-recent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.bc-recent-card{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--public-ink)}
.bc-recent-card time,.bc-recent-card small{font-size:var(--public-font-min);overflow-wrap:anywhere;color:var(--public-muted)}
.bc-recent-card>span{font-weight:700;font-size:.9rem;color:var(--public-forest)}
.bc-page .bs-summary dd{overflow-wrap:anywhere;min-width:0}
.bc-page .bs-summary>div{gap:18px}
.bc-order-heading .bs-status{flex-shrink:0;white-space:normal;text-align:center;max-width:145px}
@media(max-width:1000px){.bc-layout{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:20px}.bc-progress{flex-direction:column;gap:0}.bc-progress li{display:grid;grid-template-columns:33px 1fr;gap:2px 13px;padding:0 0 22px}.bc-progress li:before{width:2px;height:auto;left:16px;top:10px;bottom:0;right:auto}.bc-step-dot{grid-row:1/3}.bc-progress small{grid-column:2}.bc-progress li:last-child{padding-bottom:0}.bc-order-heading{flex-direction:column}.bc-delivery{grid-template-columns:1fr}}
@media(max-width:760px){.bc-layout,.bc-personalise{grid-template-columns:1fr}.bc-heading-mark{display:none}.bc-heading{margin:28px 0 32px;align-items:start;flex-direction:column;gap:20px}.bc-heading p{font-size:.94rem}.bc-page{padding-top:25px}.bc-steps{gap:10px;font-size:13px}.bc-steps>a>span,.bc-steps>span:last-child>span{display:none}.bc-cover-preview{order:-1}.bc-cover-preview .bs-detail-stage{min-height:360px}.bc-cover-preview .bs-book{max-width:210px}.bc-recent-grid{grid-template-columns:1fr}.bc-order-heading{flex-direction:row}.bc-delivery{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.bc-item-top{gap:16px}.bc-item-controls{gap:14px;flex-wrap:wrap}.bc-item-controls>div{gap:8px}.bookshop-page .bc-item-controls input{width:76px!important}.bc-order-heading{flex-direction:column}.bc-delivery{grid-template-columns:1fr}.bc-heading .bs-page-title{font-size:2.25rem}.bc-mini-line{flex-wrap:wrap}.bc-steps{gap:7px;font-size:12px}.bc-page .bs-summary{font-size:13px}.bc-page .bs-summary dd{max-width:55%}.bc-cart-item h2{font-size:1.15rem}}
@media(prefers-reduced-motion:reduce){.bc-page *{scroll-behavior:auto!important}}

.bs-card-cart{display:flex;justify-content:space-between;margin-top:16px;padding-top:15px;border-top:1px solid var(--public-line);font-size:var(--public-font-min)}

/* Public base styles load last, so component headings and linked covers are scoped. */
.bookshop-page .bc-cart-item h2{font-size:1.35rem;line-height:1.3;margin:8px 0}
.bookshop-page .bc-order-heading h2{font-size:1.35rem;line-height:1.4;margin:9px 0}
.bookshop-page .bc-cover-preview>h2{font-size:1.4rem;margin-top:24px}
.bookshop-page .bc-cart-item .bs-order-mini{color:#fff4dc;text-decoration:none}
.bookshop-page .bc-recent-card{color:var(--public-ink);text-decoration:none}
.bookshop-page .bc-help a{color:var(--public-lime)}
.bookshop-page .bc-heading h1{margin-top:15px}
.bookshop-page .bc-heading p{margin-top:18px}
@media(max-width:430px){.bookshop-page .bc-cart-item h2{font-size:1.15rem}}
