.storefront-page .container {
    width: calc(100% - clamp(32px, 6vw, 112px));
    max-width: none;
}

/* Single-row storefront header */
.site-header { position: sticky; top: 0; z-index: 90; box-shadow: 0 1px 0 #e8e1d8; }
.site-header .header-main { position: relative; height: 86px; gap: 14px; }
.site-header .brand { flex: 0 0 auto; }
.site-header .brand img { width: clamp(135px,11vw,170px); }
.notice { background: var(--notice-bg,#292522); color: var(--notice-text,#f5eee5); }
.notice span { color: inherit; opacity: .78; }
.store-toast { position: fixed; top: var(--store-toast-top,100px); right: 20px; z-index: 1000; display: grid; grid-template-columns: 32px minmax(0,1fr) 30px; align-items: center; gap: 10px; width: min(390px,calc(100vw - 32px)); padding: 12px 12px 12px 14px; border: 1px solid #cce2d4; border-radius: 12px; background: #fff; color: #263b2e; box-shadow: 0 18px 45px #1b2b2124; animation: toast-in .25s ease-out; }
.store-toast .toast-check { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #e2f4e8; color: #1b7545; font-weight: 700; }.store-toast b,.store-toast p { display: block; margin: 0; }.store-toast b { font-size: 13px; }.store-toast p { color: #66736b; font-size: 12px; }.store-toast button { display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 7px; background: #f1f3f2; color: #56615a; font: 20px/1 var(--sans); cursor: pointer; }.store-toast.is-leaving { opacity: 0; transform: translateY(-10px); pointer-events: none; transition: .22s ease; }@keyframes toast-in { from { opacity:0; transform:translateY(-10px) } }
.motion-reveal { opacity: 0; transform: translateY(16px); transition: opacity .42s cubic-bezier(.22,.72,.24,1),transform .42s cubic-bezier(.22,.72,.24,1); transition-delay: var(--reveal-delay,0ms); will-change: opacity, transform; }
.motion-reveal.is-visible { opacity: 1; transform: translateY(0); }
.header-menu { display: flex; align-items: center; gap: 11px; white-space: nowrap; font-size: 14px; font-weight: 600; }
.header-menu a { position: relative; padding: 8px 0; }
.header-menu a:after { content: ''; position: absolute; left: 0; right: 100%; bottom: 3px; height: 2px; background: var(--red); transition: right .2s ease; }
.header-menu a:hover { color: var(--red); }.header-menu a:hover:after { right: 0; }
.site-header .live-search { position: relative; display: flex; flex: 0 1 300px; width: min(300px,24vw); min-width: 190px; max-width: 300px; height: 42px; overflow: visible; border: 1px solid rgba(95,89,83,.24); border-radius: 999px; background: inherit; }
.live-search>svg { flex: 0 0 18px; width: 18px; margin-left: 15px; fill: none; stroke: #77716b; stroke-width: 1.8; stroke-linecap: round; }
.live-search input { min-width: 0; padding: 9px 15px 9px 10px; background: transparent; }
.live-search-results { position: absolute; top: calc(100% + 9px); left: 50%; transform: translateX(-50%); width: 440px; max-width: calc(100vw - 28px); z-index: 95; display: none; overflow: hidden; padding: 6px; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05); box-sizing: border-box; }
.live-search-results.is-open { display: grid; gap: 3px; }
.live-search-item { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 10px; border-radius: 9px; text-decoration: none; transition: background .15s ease; width: 100%; min-width: 0; box-sizing: border-box; }
.live-search-item:hover { background: #f7f3ee; }
.live-search-thumb { position: relative; width: 46px; height: 46px; aspect-ratio: 1 / 1; flex: 0 0 46px; border-radius: 7px; overflow: hidden; background: #f0ebe4; border: 1px solid rgba(0,0,0,.06); display: flex; align-items: center; justify-content: center; }
.live-search-thumb img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 1 / 1; display: block; }
.live-search-fallback, .live-search-no-thumb { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; background: linear-gradient(135deg, #2F4A24 0%, #243A1C 100%); color: #fff; box-shadow: inset 3px 0 0 rgba(206, 221, 44, 0.45); box-sizing: border-box; text-decoration: none; }
.live-search-fallback svg, .live-search-no-thumb svg { width: 18px; height: 18px; stroke: #fde047; fill: none; }
.live-search-fallback-letter { font-size: 11px; font-weight: 700; color: #fff; line-height: 1; font-family: inherit; }
.live-search-info { flex: 1 1 0%; min-width: 0; overflow: hidden; display: flex; flex-direction: column; gap: 2px; text-align: left; }
.live-search-title { display: block; font-size: 13.5px; font-weight: 600; color: var(--text, #1f2937); line-height: 1.35; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.live-search-author { display: block; font-size: 11.5px; color: var(--muted, #6b7280); line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.live-search-pricing { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 2px; text-align: right; margin-left: auto; padding-left: 6px; white-space: nowrap; }
.live-search-del { font-size: 11px; font-weight: 500; color: #8a8178; text-decoration: line-through; line-height: 1.1; }
.live-search-price { font-size: 15px; font-weight: 700; color: #16a34a; line-height: 1.2; }
.live-search-results .no-result { padding: 14px; color: var(--muted); text-align: center; font-size: 13px; }
@media (max-width: 720px) { .live-search-results { left: 0; right: 0; transform: none; width: 100%; max-width: 100%; } }
.header-account-card { position: relative; flex: 0 0 auto; display: flex; align-items: center; gap: 9px; margin-left: auto; padding: 0; border: 0; border-radius: 0; background: transparent; }
.header-account-card>a { display: flex; align-items: center; gap: 8px; }
.header-account-card svg { width: 19px; height: 19px; fill: none; stroke: #5f5953; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.header-account-card span span,.header-account-card a>span { display: block; line-height: 1.05; }
.header-account-card small,.header-account-card b { display: block; white-space: nowrap; }.header-account-card small { color: var(--muted); font-size: 9px; font-weight: 500; }.header-account-card b { margin-top: 3px; font-size: 12px; }
.account-divider { width: 1px; height: 28px; background: #ded8d1; }
.mobile-search-toggle,.mobile-search-divider { display: none; }
.header-account-card .cart-link { position: relative; }
.header-account-card .cart-link b { display: block; width: auto; height: auto; margin: 3px 0 0; border-radius: 0; background: transparent; color: #28231f; font-size: 12px; line-height: 1; }
.header-account-card .cart-link em { position: absolute; top: -8px; left: 12px; right: auto; display: grid; place-items: center; min-width: 17px; height: 17px; padding: 0 4px; border: 2px solid #f8f6f2; border-radius: 50%; background: var(--red); color: #fff; font: normal 9px var(--sans); }
.customer-link { min-width: 0; }
.header-account-card>.customer-link,.header-account-card>.cart-link{height:42px;min-height:42px;border:1px solid rgba(95,89,83,.24);background:inherit;color:#4c4641;transition:border-color .2s ease,color .2s ease,transform .2s ease}.header-account-card>.cart-link{display:grid;width:42px;padding:0;border-radius:50%;place-items:center}.header-account-card>.customer-link{display:flex;width:auto;min-width:92px;padding:0 14px 0 11px;border-radius:999px;justify-content:center;gap:8px}.header-account-card>.customer-link:hover,.header-account-card>.cart-link:hover{border-color:rgba(47,74,36,.48);color:var(--red);transform:translateY(-1px)}.header-account-card>.cart-link>span{display:none!important}.header-account-card>.customer-link>span{display:block!important}.header-account-card>.customer-link b{margin:0;color:currentColor!important;font-size:13px}.header-account-card>.customer-link svg,.header-account-card>.cart-link svg{width:19px;height:19px;stroke:currentColor}.header-account-card>.account-divider:not(.mobile-search-divider){display:none}.header-account-card .cart-link em{top:-4px;left:auto;right:-4px;border:2px solid #fff;background:var(--red);color:#fff}
.product-actions button.is-added,.detail-actions button.is-added,.recommended-actions button.is-added{border-color:#23845a;background:#e8f6ef;color:#176b47}.product-actions button.is-added svg,.detail-actions button.is-added svg,.recommended-actions button.is-added svg{stroke:#176b47}.product-actions button.is-added:before,.detail-actions button.is-added:before{content:'✓';font-weight:700}
.inline-cart-stepper{display:grid;grid-template-columns:34px minmax(40px,1fr) 34px;width:100%;height:34px;overflow:hidden;border:1px solid rgba(47,74,36,.72);border-radius:5px;background:var(--red);color:#fff;animation:quantity-stepper-in .24s ease-out both}.inline-cart-stepper button{display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;background:transparent;color:inherit;font:700 15px/1 var(--sans);cursor:pointer}.inline-cart-stepper button:hover{background:rgba(255,255,255,.14)}.inline-cart-stepper button:disabled{cursor:wait;opacity:.55}.inline-cart-stepper output{display:grid;place-items:center;border-inline:1px solid rgba(255,255,255,.35);background:#fff;color:var(--ink);font:700 12px var(--sans)}.inline-cart-stepper svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@keyframes quantity-stepper-in{from{opacity:0;transform:translateY(5px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
.home-page .book-info h3,.recommended-info h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;min-height:2.7em;line-height:1.35}

/* Authentication and customer account */
.auth-page { min-height: calc(100vh - 120px); display: grid; place-items: center; padding: 58px 20px 75px; background: linear-gradient(135deg,#f7f2eb,#fff 55%,#f5e9e9); }
.auth-shell { display: grid; grid-template-columns: minmax(0,1fr) minmax(390px,470px); width: min(1050px,100%); overflow: hidden; border: 1px solid #e1dad2; border-radius: 18px; background: #fff; box-shadow: 0 24px 70px #36251e18; }
.auth-intro { padding: clamp(42px,6vw,72px); background: #211e1c; color: #fff; }.auth-intro>span { color: #CEDD2C; font-size: 11px; font-weight: 700; letter-spacing: 1.7px; }.auth-intro h1 { margin: 12px 0 15px; font: 700 37px/1.28 var(--serif); }.auth-intro p { max-width: 500px; color: #bdb4ad; }.auth-benefits { display: grid; gap: 10px; margin-top: 30px; color: #ddd6d0; font-size: 13px; }
.auth-form { padding: clamp(35px,5vw,58px); }.auth-form h2 { margin: 0 0 24px; font: 700 28px var(--serif); }.auth-form>label { display: block; margin-top: 15px; color: #54504c; font-size: 12px; font-weight: 600; }.auth-form input:not([type=checkbox]) { display: block; width: 100%; min-height: 46px; margin-top: 6px; padding: 10px 12px; border: 1px solid #d8d1ca; border-radius: 9px; font: 14px var(--sans); outline: none; }.auth-form input:focus { border-color: #CAD8C6; box-shadow: 0 0 0 3px rgba(47, 74, 36, 0.12); }.auth-check { display: flex!important; align-items: center; gap: 8px; }.auth-check input { accent-color: var(--red); }.auth-form>button { width: 100%; min-height: 45px; margin-top: 22px; border: 0; border-radius: 9px; background: var(--red); color: #fff; font: 600 14px var(--sans); cursor: pointer; }.auth-form>button:hover { background: var(--red-dark); }.auth-form>p { margin: 17px 0 0; color: var(--muted); text-align: center; font-size: 12px; }.auth-form>p a { color: var(--red); font-weight: 600; }.auth-error { padding: 9px 11px; border: 1px solid #efc3c6; border-radius: 8px; background: #fff0f1; color: #9c252d; font-size: 12px; }.auth-two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.auth-two label { margin-top: 15px; color: #54504c; font-size: 12px; font-weight: 600; }
.account-page { min-height: 65vh; padding: 55px 0 85px; background: #f7f4ef; }.account-hero { display: flex; align-items: center; gap: 17px; padding: 25px; border: 1px solid #e0d9d1; border-radius: 15px; background: #fff; }.account-avatar { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: var(--red); color: #fff; font-size: 20px; }.account-hero span { color: var(--red); font-size: 9px; font-weight: 700; letter-spacing: 1.3px; }.account-hero h1,.account-hero p { margin: 0; }.account-hero h1 { font: 700 25px var(--serif); }.account-hero p { color: var(--muted); font-size: 12px; }.account-hero form { margin-left: auto; }.account-hero button { padding: 8px 13px; border: 1px solid #CAD8C6; border-radius: 8px; background: #fff; color: var(--red); cursor: pointer; }.account-section-head { display: flex; align-items: end; justify-content: space-between; margin: 38px 0 18px; }.account-section-head span { color: var(--red); font-size: 10px; font-weight: 700; }.account-section-head h2 { margin: 3px 0 0; font: 700 27px var(--serif); }.account-section-head>b { color: var(--muted); font-size: 12px; }.account-orders { display: grid; gap: 10px; }.account-orders article { padding: 18px 20px; border: 1px solid #e0d9d1; border-radius: 12px; background: #fff; }.account-orders article header,.account-orders article>div { display: flex; align-items: center; justify-content: space-between; gap: 18px; }.account-orders article header { padding-bottom: 12px; border-bottom: 1px solid #eee9e3; }.account-orders article header small,.account-orders article header b { display: block; }.account-orders article header small { color: var(--muted); font-size: 9px; }.account-orders article>div { padding-top: 12px; color: var(--muted); font-size: 12px; }.account-orders article>div strong { color: var(--red); font-size: 17px; }.account-empty { padding: 45px; border: 1px dashed #d8cfc5; border-radius: 13px; background: #fff; text-align: center; }.account-empty h3 { margin: 0; }.account-empty p { color: var(--muted); }.account-empty a { display: inline-block; padding: 8px 13px; border-radius: 8px; background: var(--red); color: #fff; font-size: 12px; }

@media (min-width: 1181px) {
    .site-header .live-search { position: absolute; left: 50%; transform: translateX(-50%); }
    .site-header .header-menu { margin-left: clamp(18px,2vw,34px); }
}

/* Shared full-width cart and checkout experience */
.storefront-page .cart-page { padding-top: 48px; }
.cart-page-heading { display: flex; align-items: center; gap: 14px; margin: 0 0 25px; }
.cart-page-heading>span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: #f8e8e9; color: var(--red); font-size: 18px; font-weight: 700; }
.cart-page-heading h1 { margin: 0; font: 700 30px var(--serif); }
.cart-page-heading p { margin: 2px 0 0; color: var(--muted); font-size: 12px; }
.storefront-page .cart-layout { grid-template-columns: minmax(0,1fr) minmax(340px,410px); gap: clamp(24px,3vw,48px); align-items: start; }
.storefront-page .cart-layout>div { display: grid; gap: 12px; }
.storefront-page .cart-row { display: grid; grid-template-columns: 82px minmax(0,1fr) 136px 108px; align-items: center; gap: 16px; padding: 15px 18px; border: 1px solid #e3ddd5; border-radius: 12px; background: #fff; transition: opacity .16s ease; }
.storefront-page .cart-row.is-updating { opacity: .58; }
.cart-book-cover { display: flex; flex-direction: column; width: 78px; aspect-ratio: 1; overflow: hidden; padding: 8px; border-radius: 9px; color: #fff; }
.cart-book-cover img { display: block; width: calc(100% + 16px); height: calc(100% + 16px); margin: -8px; object-fit: cover; }
.cart-book-cover small { font-size: 5px; letter-spacing: .7px; opacity: .72; }
.cart-book-cover strong { margin-top: 24%; font: 600 10px/1.3 var(--serif); }
.cart-book-cover span { margin-top: 3px; font-size: 7px; opacity: .8; }
.cart-book-copy { min-width: 0; }
.cart-book-copy h3 { margin: 0 0 5px; font: 600 17px/1.35 var(--serif); }
.cart-book-copy h3 a:hover { color: var(--red); }
.cart-book-copy small { display: block; color: var(--muted); font-size: 11px; }
.cart-book-copy small+small { margin-top: 3px; }
.cart-quantity>span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 10px; }
.cart-stepper { display: grid; grid-template-columns: 34px 44px 34px; width: max-content; height: 36px; overflow: hidden; border: 1px solid #d8d1c9; border-radius: 8px; background: #fff; }
.cart-stepper button { display: grid; place-items: center; padding: 0; border: 0; background: #f4f1ed; color: #332e2a; font: 600 18px/1 var(--sans); cursor: pointer; }
.cart-stepper button:hover { background: #eee7e1; color: var(--red); }
.cart-stepper .cart-decrease.is-delete { background: #fff0f1; color: var(--red); }
.cart-stepper .cart-decrease.is-delete:hover { background: var(--red); color: #fff; }
.cart-stepper .cart-decrease svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cart-stepper button:disabled { cursor: wait; opacity: .55; }
.cart-stepper output { display: grid; place-items: center; border-inline: 1px solid #ded7cf; font: 600 13px var(--sans); }
.cart-line-total { text-align: right; }
.cart-line-total small { display: block; margin-bottom: 4px; color: var(--muted); font-size: 10px; }
.cart-line-total strong { color: #2d2824; font-size: 17px; }
.storefront-page .checkout { position: sticky; top: 20px; padding: 25px; border: 1px solid #ddd5cb; border-radius: 14px; background: #f8f5f0; }
.storefront-page .checkout h2 { margin-top: 0; }.storefront-page .checkout input,.storefront-page .checkout textarea { border-radius: 8px; background: #fff; }.storefront-page .checkout .primary-btn { border-radius: 9px; }

/* Reference-led checkout */
.checkout-page{width:min(1480px,calc(100% - 32px));padding:28px 0 54px}.checkout-title{margin:0 0 18px}.checkout-title span{color:var(--red);font-size:10px;font-weight:700;letter-spacing:1.2px}.checkout-title h1{margin:2px 0;font:700 30px var(--serif)}.checkout-title p{margin:0;color:var(--muted);font-size:12px}.checkout-form{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(420px,1fr);gap:16px;align-items:start}.checkout-customer,.checkout-summary{padding:20px;border:1px solid #ece7e1;border-radius:10px;background:#fff}.checkout-customer h2{margin:0 0 12px;text-align:center;font:700 15px var(--serif)}.checkout-customer label{display:block;margin-top:9px}.checkout-customer label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.checkout-customer input,.checkout-customer textarea{display:block;width:100%;min-height:48px;padding:12px 14px;border:1px solid #e3dfda;border-radius:8px;background:#fbfbfb;font:14px var(--sans);outline:0}.checkout-customer textarea{min-height:58px;resize:vertical}.checkout-customer input:focus,.checkout-customer textarea:focus{border-color:#ce8e93;box-shadow:0 0 0 3px #e11d480d;background:#fff}.checkout-summary h2{margin:0 0 9px;font:700 16px var(--serif)}.checkout-summary h2:nth-of-type(2){margin-top:12px}.delivery-options{display:grid;gap:8px}.delivery-options input{position:absolute;opacity:0}.delivery-card{display:flex;align-items:center;gap:11px;min-height:62px;padding:10px 12px;border:1px solid #e1ddd8;border-radius:8px;cursor:pointer}.delivery-options input:checked+.delivery-card{border-color:var(--red);background:#fff7f7;box-shadow:inset 0 0 0 1px var(--red)}.delivery-card i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f2efec;font-style:normal;font-size:14px}.delivery-options input:checked+.delivery-card i{background:var(--red);color:#fff}.delivery-card b{color:var(--red);font-size:13px}.delivery-card small{display:block;margin-top:2px;color:var(--muted);font-weight:400}.checkout-table-head{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed #ddd5cd;font-size:12px}.checkout-items article{display:grid;grid-template-columns:24px 38px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px dashed #ddd5cd}.checkout-remove{width:19px;height:19px;padding:0;border:1px solid #e76c73;border-radius:50%;background:#fff;color:#e43b45;font-size:15px;line-height:15px}.checkout-cover{width:34px;height:40px;overflow:hidden;border-radius:5px;background:#f1efec}.checkout-cover img{width:100%;height:100%;object-fit:cover}.checkout-item-copy{min-width:0}.checkout-item-copy b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.checkout-item-copy small{color:var(--red);font-weight:600}.checkout-item-price{text-align:right}.checkout-item-price>strong{display:block;font-size:12px}.checkout-stepper{display:grid;grid-template-columns:25px 28px 25px;height:25px;margin-top:4px;overflow:hidden;border:1px solid #ddd6cf;border-radius:999px}.checkout-stepper button{padding:0;border:0;background:#fff;color:var(--red)}.checkout-stepper output{display:grid;place-items:center;font-size:11px;font-weight:700}.checkout-totals{margin:0}.checkout-totals div{display:flex;justify-content:space-between;padding:3px 0;border-bottom:none;font-size:12px}.checkout-totals dt,.checkout-totals dd{margin:0}.checkout-totals div:last-child{border:0;font-size:16px;font-weight:700}.checkout-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;margin-top:10px;border:0;border-radius:8px;background:var(--red-gradient, linear-gradient(135deg, #2F4A24 0%, #243A1C 100%));color:#fff;font:600 15px var(--sans);cursor:pointer;transition:background .2s ease}.checkout-submit:hover{background:var(--red-gradient-hover, linear-gradient(135deg, #243A1C 0%, #182813 100%))}.checkout-submit span{font-size:21px}.checkout-empty{text-align:center}
@media(max-width:900px){.checkout-form{grid-template-columns:1fr}.checkout-page{width:100%;padding:10px;background:#f4f6f8}.checkout-title{padding:8px 10px}.checkout-customer,.checkout-summary{border-radius:0}.checkout-summary{padding-bottom:82px}.checkout-submit{position:fixed;z-index:30;right:10px;bottom:10px;left:10px;width:auto;box-shadow:0 -12px 25px #fff}.checkout-item-copy b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.checkout-title h1{font-size:24px}}

/* Checkout layer and shipping-class refinement */
.checkout-page{max-width:none;width:100%;padding:24px clamp(18px,3vw,48px) 50px;background:#fff}.checkout-form{max-width:1480px;margin:auto}.checkout-customer,.checkout-summary{border:0;border-radius:0;background:transparent}.checkout-customer{border-right:1px solid #eee9e4}.checkout-customer h2{text-align:left}.shipping-unavailable{padding:13px;border-radius:8px;background:#fff0f1;color:var(--red);font-size:12px}.checkout-submit:disabled{cursor:not-allowed;opacity:.5}
@media(max-width:900px){.checkout-page{padding:12px 10px 32px;background:#fff}.checkout-customer{border-right:0;border-bottom:8px solid #f4f6f8}.checkout-summary{padding-bottom:20px}.checkout-submit{position:static;width:100%;box-shadow:none}.checkout-customer h2{text-align:left}}

/* Products-first checkout column */
.checkout-left{min-width:0}.checkout-products{padding:0 20px 20px}.checkout-products>h2{margin:0 0 8px;font:700 16px var(--serif)}.checkout-products+.checkout-customer{padding-top:18px;border-top:8px solid #f4f6f8}.checkout-summary{align-self:start}.checkout-stepper button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.checkout-items article.is-updating{opacity:.55;pointer-events:none}
@media(max-width:900px){.checkout-form{gap:0}.checkout-products{padding:10px 8px 16px}.checkout-products+.checkout-customer{padding:16px 8px;border-top-width:6px}.checkout-summary{padding:16px 8px 18px;border-top:6px solid #f4f6f8}.checkout-page{padding-right:4px;padding-left:4px}.checkout-items article{grid-template-columns:20px 34px minmax(0,1fr) auto;gap:6px}.checkout-customer{border-bottom:0}}

/* Product details, pricing and recommendations */
.product-detail { grid-template-columns: minmax(310px,380px) minmax(0,1fr); gap: clamp(45px,6vw,90px); }
.detail-media { width: 100%; }.detail-media .detail-cover { width: 100%; }
.detail-cover.has-cover-image small, .detail-cover.has-cover-image strong, .detail-cover.has-cover-image span, .detail-cover.has-cover-image i { display: none !important; }
.cover.has-cover-image small, .cover.has-cover-image strong, .cover.has-cover-image span, .cover.has-cover-image i { display: none !important; }
.recommended-cover.has-cover-image small, .recommended-cover.has-cover-image strong, .recommended-cover.has-cover-image span { display: none !important; }
.pdf-access { margin-top: 17px; }.pdf-access>button,.pdf-unavailable { position: relative; display: flex; align-items: center; gap: 11px; width:100%; min-height: 62px; overflow: hidden; padding: 11px 13px; border: 1px solid var(--pk-primary-border, #cad8c6); border-radius: 10px; background: linear-gradient(135deg,#fff1f2,#ffe4e6); text-align:left; cursor:pointer; font-family: 'Google Sans', 'Google Sans Text', 'Anek Bangla', 'Noto Sans Bengali', sans-serif; }.pdf-access>button:before,.pdf-unavailable:before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--red-gradient, linear-gradient(135deg, #2F4A24 0%, #243A1C 100%)); }.pdf-access>button:hover { border-color: var(--red); background: #ffe4e6; }.pdf-access svg { flex: 0 0 25px; width: 25px; height: 25px; fill: none; stroke: var(--red); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }.pdf-access span { min-width: 0; flex: 1; font-family: inherit; }.pdf-access b,.pdf-access small { display: block; font-family: inherit; }.pdf-access b { color: var(--red-dark, #be123c); font-size: 14px; font-weight: 600; line-height: 1.35; letter-spacing: -0.2px; }.pdf-access small { color: #9f1239; font-size: 11px; font-weight: 500; line-height: 1.35; margin-top: 2px; }.pdf-access i { color: var(--red); font-style: normal; font-weight: 600; }.pdf-unavailable { border-style: dashed; opacity: .78; }.pdf-unavailable svg { stroke: #be123c; }
.sample-pdf-dialog:not([open]){display:none!important}.sample-pdf-dialog{width:min(1080px,calc(100vw - 32px));height:min(88vh,900px);max-width:none;max-height:none;padding:0;border:0;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 28px 90px #15100d55}.sample-pdf-dialog::backdrop{background:#16120f99;backdrop-filter:blur(6px)}.sample-pdf-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.sample-pdf-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid #ebe5de;background:#fff}.sample-pdf-title-wrap{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:2px}.sample-pdf-title-wrap h2{margin:0;font:600 17px/1.3 var(--serif);color:#221d19;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sample-pdf-title-wrap small{color:var(--red);font-size:11px;font-weight:600;font-family:'Google Sans','Anek Bangla',sans-serif}.sample-pdf-header-tools{display:flex;align-items:center;gap:10px;flex:0 0 auto}.sample-pdf-header-tools .sample-pdf-zoom-bar{display:inline-flex;align-items:center;gap:3px;background:#f4f0ea;padding:2px 4px;border-radius:8px;border:1px solid #e2dbd1}.sample-pdf-header-tools .sample-pdf-zoom-bar button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;min-height:28px;max-width:28px;max-height:28px;padding:0;border:0;border-radius:6px;background:#fff;color:#3b3530;font-size:16px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,0.06);user-select:none;-webkit-tap-highlight-color:transparent}.sample-pdf-header-tools .sample-pdf-zoom-bar button:active{background:#ebe4da;transform:scale(0.95)}.sample-pdf-header-tools .sample-pdf-zoom-bar span{font-size:12px;font-weight:600;color:#4b443e;padding:0 5px;min-width:40px;text-align:center;font-variant-numeric:tabular-nums;user-select:none}.sample-pdf-header-tools .sample-pdf-close{display:grid;place-items:center;width:34px;height:34px;min-width:34px;min-height:34px;max-width:34px;max-height:34px;flex:0 0 34px;aspect-ratio:1/1;align-self:center;padding:0;border:0;border-radius:50%;background:#f4f1ed;color:#4e4843;font-size:22px;line-height:1;cursor:pointer;transition:background .2s,color .2s}.sample-pdf-header-tools .sample-pdf-close:hover{background:#f7e7e8;color:var(--red)}.sample-pdf-frame{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:#ece9e5}.sample-pdf-frame iframe{display:block;width:100%;height:100%;border:0;background:#fff}.sample-pdf-dialog footer{display:flex;justify-content:flex-end;flex:0 0 auto;margin:0;padding:10px 18px;border-top:1px solid #ebe5de;background:#fff;color:var(--ink);align-items:center;justify-content:space-between;gap:14px}.pdf-dialog-prompt{display:flex;align-items:center;gap:8px;color:#374151;font-family:'Google Sans','Anek Bangla',sans-serif;font-size:13px;font-weight:600}.pdf-prompt-arrow{width:18px;height:18px;stroke:var(--red,#e11d48);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;fill:none;animation:pdf-arrow-point 1.3s ease-in-out infinite}@keyframes pdf-arrow-point{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}.pdf-dialog-buy-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 20px;border:0;border-radius:8px;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff!important;font-family:'Google Sans','Google Sans Text','Anek Bangla',sans-serif;font-size:14px;font-weight:700;line-height:1;text-decoration:none;cursor:pointer;box-shadow:none;transition:background .2s ease;white-space:nowrap}.pdf-dialog-buy-btn:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);box-shadow:none;transform:none}.pdf-dialog-buy-btn:active{transform:none;box-shadow:none}.pdf-dialog-buy-btn svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 16px}.pdf-dialog-buy-btn:disabled,.pdf-dialog-buy-btn.is-out-of-stock{background:#9ca3af;box-shadow:none;cursor:not-allowed;opacity:.7}@media(max-width:650px){.sample-pdf-dialog[open]{position:fixed;inset:0;display:flex;flex-direction:column;width:100vw;height:100dvh;margin:0;max-width:none;max-height:none;border-radius:0;z-index:9999}.sample-pdf-dialog header{flex:0 0 auto;padding:10px 12px;gap:8px}.sample-pdf-title-wrap h2{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 70px)}.sample-pdf-title-wrap small{font-size:10px}.sample-pdf-zoom-bar,.mobile-pdf-zoom-bar{display:none!important}.sample-pdf-frame{flex:1 1 auto;height:auto}.sample-pdf-dialog footer{padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));align-items:center;justify-content:space-between;gap:8px}.pdf-dialog-prompt{font-size:11px;gap:5px;line-height:1.25}.pdf-prompt-arrow{width:14px;height:14px;flex:0 0 14px}.pdf-dialog-buy-btn{min-height:38px;padding:8px 14px;font-size:13px;box-shadow:none}}
.mobile-pdf-viewer{position:relative;height:100%;min-height:0;flex:1 1 auto;overflow:hidden;background:#efebe5;display:flex;flex-direction:column}.mobile-pdf-bar{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;padding:8px 12px;background:#fff;border-bottom:1px solid #ddd6cc;font-family:'Google Sans','Anek Bangla',sans-serif;font-size:12px;font-weight:600;color:var(--ink);gap:8px}.mobile-pdf-bar-title{display:flex;align-items:baseline;gap:6px;min-width:0;font-size:13px;font-weight:600;color:var(--ink)}.mobile-pdf-bar small{color:var(--muted);font-size:11px;font-weight:normal;white-space:nowrap}.mobile-pdf-zoom-bar{display:inline-flex;align-items:center;gap:3px;background:#f4f0ea;padding:2px 4px;border-radius:8px;border:1px solid #e2dbd1;flex:0 0 auto}.mobile-pdf-zoom-bar button{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:0;border-radius:6px;background:#fff;color:#3b3530;font-size:15px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,0.06);user-select:none;-webkit-tap-highlight-color:transparent}.mobile-pdf-zoom-bar button:active{background:#ebe4da;transform:scale(0.95)}.mobile-pdf-zoom-bar span{font-size:11px;font-weight:600;color:#4b443e;padding:0 4px;min-width:38px;text-align:center;font-variant-numeric:tabular-nums;user-select:none}.mobile-pdf-canvas-wrap{display:flex;flex-direction:column;align-items:center;min-height:0;flex:1 1 auto;padding:12px 8px 36px;overflow-y:auto;overflow-x:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;gap:14px;background:#efebe5}.mobile-pdf-zoom-content{display:flex;flex-direction:column;align-items:center;gap:14px;width:max-content;min-width:100%;transform-origin:50% 0;will-change:transform}.mobile-pdf-page-box{display:flex;flex-direction:column;align-items:center;width:max-content;max-width:none}.mobile-pdf-page-box canvas{display:block;max-width:none!important;background:#fff;box-shadow:none;border:none;border-radius:0}.mobile-pdf-status{position:absolute;inset:0;z-index:2;display:grid;place-items:center;align-content:center;gap:10px;background:#efebe5;color:#655f59;font-size:13px}.mobile-pdf-status span{width:26px;height:26px;border:3px solid #dfd8d0;border-top-color:var(--red);border-radius:50%;animation:pdf-spin .7s linear infinite}.mobile-pdf-status[hidden]{display:none}.mobile-pdf-status.is-error{padding:24px;text-align:center;color:var(--red)}.mobile-pdf-status.is-error span{display:none}@keyframes pdf-spin{to{transform:rotate(360deg)}}@media(max-width:650px){.sample-pdf-frame>iframe{display:none!important}.mobile-pdf-viewer:not([hidden]){display:flex;flex-direction:column}.mobile-pdf-viewer[hidden]{display:none!important}}@media(min-width:651px){.mobile-pdf-viewer{display:none!important}}
.detail-purchase { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-top: 32px; padding: 20px; border: 1px solid #e3dcd3; border-radius: 13px; background: #faf8f5; }
.detail-pricing>small { color: var(--muted); font-size: 11px; }.detail-pricing>div { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 3px; }.detail-pricing b { color: var(--red); font-size: 30px; }.detail-pricing del { color: #99918a; font-size: 15px; }.detail-pricing span { padding: 3px 8px; border-radius: 999px; background: #e7f5eb; color: #267044; font-size: 11px; font-weight: 700; }.detail-pricing p { margin: 2px 0 0; color: #3b7b52; font-size: 12px; }
.detail-actions { display: flex; gap: 8px; }.detail-actions button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 42px; min-height: 42px; padding: 9px 14px; border-radius: 8px; font: 600 13px var(--sans); cursor: pointer; white-space: nowrap; transition: all .18s ease; }.detail-actions .inline-cart-stepper { height: 42px; }.detail-actions svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }.detail-cart-btn { border: 1.5px solid var(--pk-primary-border, #cad8c6); background: #fff; color: var(--red); }.detail-buy-now { border: 0 !important; background: var(--red-gradient, linear-gradient(135deg, #2F4A24 0%, #243A1C 100%)) !important; color: #fff; }.detail-cart-btn:hover { background: var(--pk-primary-soft, #f0f5ee); border-color: var(--red); }.detail-buy-now:hover { background: var(--red-gradient-hover, linear-gradient(135deg, #243A1C 0%, #182813 100%)) !important; }
.detail-actions .inline-cart-stepper button[data-inline-cart-step="-1"] svg { width: 19px; height: 19px; min-width: 19px; min-height: 19px; stroke-width: 1.9; }
.recommended-products { padding: 58px 0 80px; border-top: 1px solid var(--line); background: #f8f5f0; }.recommended-head { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 25px; }.recommended-head span { color: var(--red); font-size: 11px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; }.recommended-head h2 { margin: 4px 0 0; font: 700 29px var(--serif); }.recommended-head>a { color: var(--red); font-size: 13px; font-weight: 600; }
.recommended-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: clamp(12px,1.4vw,22px); }.recommended-card { overflow: hidden; border: 1px solid #e1dad1; border-radius: 12px; background: #fff; }.recommended-cover { display: flex; flex-direction: column; aspect-ratio: 1/1; padding: 16px; color: #fff; }.recommended-cover small { font-size: 7px; letter-spacing: 1px; opacity: .75; }.recommended-cover strong { margin-top: 31%; font: 600 clamp(14px,1.2vw,19px)/1.35 var(--serif); }.recommended-cover span { margin-top: 6px; font-size: 11px; opacity: .8; }.recommended-info { padding: 13px; }.recommended-info>small { color: var(--red); font-size: 10px; }.recommended-info h3 { min-height: 45px; margin: 3px 0 0; font: 600 15px/1.45 var(--serif); }.recommended-info p { margin: 2px 0 9px; color: var(--muted); font-size: 11px; }.recommended-price { display: flex; align-items: center; gap: 7px; }.recommended-price b { font-size: 16px; }.recommended-price del { color: #9a938c; font-size: 11px; }.recommended-actions { display: grid; grid-template-columns: 36px 1fr; gap: 6px; margin-top: 11px; }.recommended-actions button,.recommended-actions a { display: flex; align-items: center; justify-content: center; height: 34px; border-radius: 7px; cursor: pointer; }.recommended-actions button { width: 36px; border: 1.5px solid var(--pk-primary-border, #cad8c6); background: #fff; color: var(--red); transition: all .18s ease; }.recommended-actions button:hover { background: var(--pk-primary-soft, #f0f5ee); border-color: var(--red); }.recommended-actions button svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; }.recommended-actions a { border: 0; background: var(--red-gradient, linear-gradient(135deg, #2F4A24 0%, #243A1C 100%)); color: #fff; font-size: 12px; font-weight: 600; transition: background .18s ease; }.recommended-actions a:hover { background: var(--red-gradient-hover, linear-gradient(135deg, #243A1C 0%, #182813 100%)); }
.recommended-cover.has-cover-image{padding:0;background:#fff}.recommended-cover.has-cover-image img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}.product-byline{display:flex!important;align-items:center;gap:6px}.product-byline svg{flex:0 0 15px;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.product-byline span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Dedicated category and search result pages */
.category-page-hero { padding: 40px 0 44px; border-bottom: 1px solid #e6ddd3; background: linear-gradient(135deg,#f7f2ea 0%,#fbf9f5 55%,#f2e8df 100%); }
.category-page-hero-clean { padding: 16px 0 !important; background: #faf8f5 !important; border-bottom: 1px solid #eee7de !important; }
.category-page-hero-clean .category-breadcrumb { margin-bottom: 0 !important; font-size: 13.5px !important; color: #6b635b !important; display: flex !important; align-items: center !important; flex-wrap: wrap !important; gap: 8px !important; line-height: 1.4 !important; }
.category-page-hero-clean .category-breadcrumb a { color: #6b635b !important; text-decoration: none !important; }
.category-page-hero-clean .category-breadcrumb a:hover { color: var(--pk-primary, #2F4A24) !important; }
.category-page-hero-clean .category-breadcrumb strong { color: #1c1917 !important; font-weight: 600 !important; }
.category-breadcrumb-count { display: inline-flex !important; align-items: center !important; font-size: 12px !important; font-weight: 600 !important; color: #8c2b32 !important; background: #fbe9ea !important; padding: 2px 9px !important; border-radius: 999px !important; border: 1px solid #f2c7ca !important; margin-left: 6px !important; line-height: 1.3 !important; }
.category-page-hero-clean .category-child-nav { display: flex !important; align-items: center !important; flex-wrap: wrap !important; gap: 6px !important; margin-top: 10px !important; padding-top: 0 !important; border-top: none !important; }
.category-page-hero-clean .category-child-nav > span { font-size: 12px !important; color: #78716c !important; font-weight: 600 !important; margin-right: 2px !important; }
.category-page-hero-clean .category-child-nav a { font-size: 12px !important; padding: 4px 11px !important; border-radius: 999px !important; background: #fff !important; border: 1px solid #ded6cc !important; }
.category-page-hero-clean + .filtered-catalogue { padding-top: 24px !important; }

/* Category Page Filtering, Sorting & Responsive Grid Layout */
.category-layout-wrap {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}
.category-filter-sidebar {
    position: sticky;
    top: 96px;
    background: #fff;
    border: 1.5px solid #ded6cc !important;
    border-radius: 12px;
    padding: 18px 20px;
    box-shadow: none !important;
}
.category-filter-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 14px;
    border-bottom: 1.5px solid #f0ebe4;
}
.category-filter-header h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #211e1c;
}
.category-filter-header h3 svg {
    stroke: var(--pk-primary, #2F4A24);
}
.filter-reset-link {
    font-size: 12px;
    font-weight: 600;
    color: var(--pk-primary, #2F4A24);
    text-decoration: none;
}
.filter-reset-link:hover {
    text-decoration: underline;
}
.filter-section {
    padding: 16px 0;
    border-bottom: 1px solid #f0ebe4;
}
.filter-section:last-child {
    border-bottom: none;
    padding-bottom: 4px;
}
.filter-section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 11px;
}
.filter-section-title h4 {
    margin: 0;
    font-size: 13.5px;
    font-weight: 600;
    color: #2e2a27;
}
.filter-clear-item {
    font-size: 11.5px;
    color: var(--pk-primary, #2F4A24);
    text-decoration: none;
}
.filter-clear-item:hover {
    text-decoration: underline;
}
.filter-switch-label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    user-select: none;
    font-size: 13.5px;
    font-weight: 500;
    color: #2e2a27;
    margin: 0;
}
.filter-switch-label input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 36px;
    height: 20px;
    border-radius: 999px;
    background: #ded5ca;
    position: relative;
    outline: none;
    cursor: pointer;
    transition: background .2s ease;
    flex-shrink: 0;
    margin: 0;
}
.filter-switch-label input[type="checkbox"]:checked {
    background: var(--pk-primary, #2F4A24);
}
.filter-switch-label input[type="checkbox"]::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    transition: transform .2s ease;
}
.filter-switch-label input[type="checkbox"]:checked::after {
    transform: translateX(16px);
}
.filter-price-inputs {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}
.price-input-group {
    flex: 1;
    min-width: 0;
}
.price-input-group label {
    display: block;
    font-size: 11px;
    color: #79716b;
    margin-bottom: 3px;
    font-weight: 500;
}
.price-input-wrap {
    display: flex;
    align-items: center;
    border: 1.5px solid #ded6cc;
    border-radius: 7px;
    background: #faf8f5;
    padding: 0 8px;
    box-shadow: none !important;
}
.price-input-wrap:focus-within {
    border-color: var(--pk-primary, #2F4A24);
    background: #fff;
}
.price-input-wrap span {
    font-size: 13px;
    color: #8c837b;
    font-weight: 600;
    margin-right: 4px;
}
.price-input-wrap input {
    width: 100%;
    height: 32px;
    border: none;
    background: transparent;
    outline: none;
    font-family: inherit;
    font-size: 13px;
    color: #24201d;
    padding: 0;
    box-shadow: none !important;
}
.price-range-separator {
    color: #a89f97;
    font-weight: 600;
    margin-top: 14px;
}
.filter-price-quick-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 12px;
}
.price-chip {
    background: #f7f3ee;
    border: 1px solid #e3ddd5;
    color: #554e48;
    border-radius: 6px;
    padding: 4px 7px;
    font-size: 11px;
    cursor: pointer;
    font-family: inherit;
    transition: all .15s ease;
    box-shadow: none !important;
}
.price-chip:hover {
    background: #ede6dd;
    color: #221f1d;
}
.price-chip.active {
    background: #fbe9ea;
    border-color: #f0bec1;
    color: var(--pk-primary, #2F4A24);
    font-weight: 600;
}
.filter-apply-btn {
    width: 100%;
    height: 35px;
    background: var(--pk-primary, #2F4A24);
    color: #fff;
    border: none;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background .2s ease;
    box-shadow: none !important;
}
.filter-apply-btn:hover {
    background: #851a21;
}
.filter-options-list {
    display: flex;
    flex-direction: column;
    gap: 7px;
    max-height: 190px;
    overflow-y: auto;
    padding-right: 4px;
}
.filter-options-list::-webkit-scrollbar {
    width: 4px;
}
.filter-options-list::-webkit-scrollbar-thumb {
    background: #ded5cb;
    border-radius: 4px;
}
.filter-radio-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #3f3a36;
    cursor: pointer;
    user-select: none;
    line-height: 1.35;
    margin: 0;
}
.filter-radio-item input[type="radio"] {
    accent-color: var(--pk-primary, #2F4A24);
    cursor: pointer;
    margin: 0;
    width: 15px;
    height: 15px;
}
.filter-radio-item:hover span {
    color: var(--pk-primary, #2F4A24);
}
.category-main-content {
    min-width: 0;
}
.category-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    padding: 10px 16px;
    background: #faf8f5;
    border: 1.5px solid #ded6cc;
    border-radius: 10px;
    box-shadow: none !important;
}
.category-toolbar-left {
    display: flex;
    align-items: center;
    gap: 12px;
}
.category-result-stats {
    font-size: 13.5px;
    color: #635c55;
}
.category-result-stats strong {
    color: #1c1917;
    font-weight: 600;
}
.category-sort-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
}
.category-sort-wrap label {
    font-size: 13px;
    color: #635c55;
    white-space: nowrap;
    font-weight: 500;
}
.category-sort-wrap select {
    height: 36px;
    padding: 0 28px 0 10px;
    border: 1.5px solid #ded6cc;
    border-radius: 7px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23635c55' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat calc(100% - 8px) center;
    font-family: inherit;
    font-size: 13px;
    color: #272320;
    font-weight: 500;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    box-shadow: none !important;
}
.category-sort-wrap select:focus {
    border-color: var(--pk-primary, #2F4A24);
}
.category-toolbar-right {
    display: flex;
    align-items: center;
    gap: 10px;
}
.active-filter-tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}
.active-filter-title {
    font-size: 12.5px;
    color: #79716b;
    font-weight: 600;
}
.active-filter-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #fbf2f2;
    border: 1px solid #eed2d4;
    color: #8a252c;
    font-size: 12px;
    font-weight: 500;
    text-decoration: none;
    transition: all .15s ease;
    box-shadow: none !important;
}
.active-filter-tag:hover {
    background: #f6dfe1;
    border-color: #e5b4b7;
    color: #751a21;
}
.active-filter-clear-all {
    font-size: 12px;
    color: #79716b;
    text-decoration: underline;
    cursor: pointer;
    margin-left: 4px;
}
.active-filter-clear-all:hover {
    color: var(--pk-primary, #2F4A24);
}
.category-layout-wrap .book-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px 18px;
}
.category-empty-state {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    background: #faf8f5;
    border: 1.5px dashed #ded6cc;
    border-radius: 12px;
    box-shadow: none !important;
}
.category-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #f0ebe4;
    color: #8c837b;
    margin-bottom: 16px;
}
.category-empty-state h3 {
    font-size: 18px;
    color: #272320;
    margin: 0 0 8px;
    font-weight: 600;
}
.category-empty-state p {
    font-size: 14px;
    color: #6b635b;
    margin: 0 0 20px;
    max-width: 420px;
    margin-inline: auto;
}
.category-empty-reset-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    background: var(--pk-primary, #2F4A24);
    color: #fff;
    border-radius: 8px;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: none !important;
}
.mobile-filter-icon-btn,
.mobile-drawer-overlay,
.mobile-filter-drawer {
    display: none !important;
}
.mobile-drawer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 99998;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, visibility .25s ease;
    backdrop-filter: blur(2px);
}
.mobile-drawer-overlay.is-open {
    opacity: 1;
    visibility: visible;
}
.mobile-filter-drawer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 82vh;
    height: 82dvh;
    max-height: 85dvh;
    background: #fff;
    border-top: 1.5px solid #ded6cc;
    border-radius: 20px 20px 0 0;
    z-index: 99999;
    transform: translateY(100%);
    visibility: hidden;
    pointer-events: none;
    transition: transform .3s cubic-bezier(0.25, 1, 0.5, 1), visibility .3s ease;
    flex-direction: column;
    overflow: hidden;
    box-shadow: none !important;
}
.mobile-filter-drawer.is-open {
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
}
.mobile-drawer-top {
    flex: 0 0 auto;
    background: #fff;
    border-radius: 20px 20px 0 0;
}
.mobile-drawer-handle {
    width: 38px;
    height: 4px;
    border-radius: 999px;
    background: #ded7ce;
    margin: 10px auto 0;
}
.mobile-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 18px;
    border-bottom: 1.5px solid #eee7de;
}
.mobile-drawer-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 600;
    color: #25211e;
}
.mobile-drawer-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: #f3ede6;
    color: #554e48;
    cursor: pointer;
    box-shadow: none !important;
}
.mobile-drawer-close:hover {
    background: #e8ded3;
    color: #221e1a;
}
.mobile-drawer-scroll-area {
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    min-height: 0;
    padding: 14px 18px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.drawer-filter-group {
    padding-bottom: 14px;
    border-bottom: 1px solid #f0ebe4;
}
.drawer-filter-group:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
}
.drawer-group-label {
    display: block;
    font-size: 13.5px;
    font-weight: 600;
    color: #272320;
    margin-bottom: 10px;
}
.drawer-sort-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
.drawer-radio-pill {
    position: relative;
    cursor: pointer;
    margin: 0;
}
.drawer-radio-pill input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.drawer-radio-pill span {
    display: block;
    text-align: center;
    padding: 7px 8px;
    border: 1.5px solid #ded6cc;
    border-radius: 8px;
    background: #faf8f5;
    font-size: 12px;
    color: #554e48;
    font-weight: 500;
    transition: all .15s ease;
}
.drawer-radio-pill input:checked + span {
    background: #fbe9ea;
    border-color: #e8a6aa;
    color: var(--pk-primary, #2F4A24);
    font-weight: 600;
}
.mobile-drawer-footer {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 18px;
    padding-bottom: max(16px, env(safe-area-inset-bottom, 0px));
    border-top: 1.5px solid #eee7de;
    background: #faf8f5;
    box-shadow: none !important;
}
.drawer-reset-btn {
    flex: 1;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid #ded6cc;
    border-radius: 8px;
    background: #fff;
    color: #554e48;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: none !important;
}
.drawer-reset-btn:hover {
    background: #f4ede6;
    color: #272320;
}
.drawer-apply-btn {
    flex: 2;
    height: 44px;
    border: none;
    border-radius: 8px;
    background: var(--red-gradient, linear-gradient(135deg, #2F4A24 0%, #243A1C 100%));
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: none !important;
    transition: background .2s ease;
}
.drawer-apply-btn:hover {
    background: var(--red-gradient-hover, linear-gradient(135deg, #243A1C 0%, #182813 100%));
}
@media (max-width: 1400px) {
    .category-layout-wrap .book-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 991px) {
    .category-layout-wrap {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .category-filter-sidebar {
        display: none !important;
    }
    .category-toolbar {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        padding: 6px 12px !important;
        min-height: 44px !important;
        margin-bottom: 12px !important;
    }
    .category-sort-wrap label {
        display: none !important;
    }
    .category-sort-wrap select {
        height: 34px !important;
        font-size: 12px !important;
        padding: 0 24px 0 8px !important;
        max-width: 145px !important;
    }
    .mobile-filter-icon-btn {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        position: relative;
        width: 34px;
        height: 34px;
        min-width: 34px;
        min-height: 34px;
        padding: 0;
        border: 1.5px solid #ded6cc;
        border-radius: 8px;
        background: #fff;
        color: #272320;
        cursor: pointer;
        box-shadow: none !important;
        transition: background .15s ease, border-color .15s ease;
    }
    .mobile-filter-icon-btn:hover {
        background: #fdfaf7;
        border-color: #b5a99c;
    }
    .mobile-filter-icon-btn:active {
        background: #f4ede6;
        border-color: var(--pk-primary, #2F4A24);
    }
    .mobile-filter-icon-btn svg {
        width: 17px;
        height: 17px;
        stroke: #272320;
        display: block;
    }
    .mobile-filter-badge {
        position: absolute;
        top: -5px;
        right: -5px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 17px;
        height: 17px;
        border-radius: 50%;
        background: var(--pk-primary, #2F4A24);
        color: #fff;
        font-size: 10px;
        font-weight: 700;
        line-height: 1;
        border: 1.5px solid #fff;
    }
    .mobile-drawer-overlay {
        display: block !important;
    }
    .mobile-filter-drawer {
        display: flex !important;
    }
    .category-layout-wrap .book-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px 12px;
    }
}
@media (max-width: 650px) {
    .category-layout-wrap .book-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px 8px;
    }
}
@media (max-width: 580px) {
    .category-toolbar {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        padding: 6px 10px !important;
    }
    .category-result-stats {
        font-size: 12px !important;
        white-space: nowrap;
    }
    .category-sort-wrap select {
        max-width: 130px !important;
        font-size: 11.5px !important;
        height: 32px !important;
    }
    .mobile-filter-icon-btn {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;
    }
}
.category-breadcrumb { display: flex; align-items: center; gap: 8px; margin-bottom: 26px; color: var(--muted); font-size: 12px; }
.category-breadcrumb a:hover { color: var(--red); }.category-breadcrumb strong { color: #423c37; }
.category-page-title { display: flex; align-items: end; justify-content: space-between; gap: 35px; }
.category-page-title small,.search-result-intro span { color: var(--red); font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }
.category-page-title h1,.search-result-intro h1 { margin: 4px 0 7px; font: 700 39px var(--serif); }
.category-page-title p { max-width: 650px; margin: 0; color: var(--muted); }
.category-count { display: flex; align-items: center; gap: 10px; min-width: 150px; padding: 13px 16px; border: 1px solid #ded2c5; border-radius: 12px; background: #ffffffa8; }
.category-count b { color: var(--red); font-size: 29px; line-height: 1; }.category-count span { color: var(--muted); font-size: 12px; }
.category-child-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 27px; padding-top: 20px; border-top: 1px solid #e1d7cb; }
.category-child-nav>span { margin-right: 5px; color: var(--muted); font-size: 12px; font-weight: 600; }
.category-child-nav a { padding: 6px 11px; border: 1px solid #ddd3c8; border-radius: 999px; background: #fff; color: #564f48; font-size: 12px; }
.category-child-nav a:hover,.category-child-nav a.active { border-color: var(--pk-primary-border, #cad8c6); background: var(--pk-primary-soft, #f0f5ee); color: var(--red); }
.filtered-catalogue { padding-top: 48px; }
.home-page .catalogue:not(.filtered-catalogue) { padding-top: 24px; }
.search-result-intro { padding: 38px 0; border-bottom: 1px solid var(--line); background: #f8f5f0; }.search-result-intro h1 { font-size: 32px; }.search-result-intro p { margin: 0; color: var(--muted); }

.home-categories {
    padding: 28px 0 34px;
    background: #fff;
    border-bottom: 1px solid var(--line);
}
.category-section-head {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
}
.category-section-head span { color: var(--red); font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }
.category-section-head h2 { display:flex; flex:1; align-items:center; gap:16px; min-width:0; margin:0; font:700 30px var(--serif); white-space:nowrap; }
.category-section-head h2:after { content:''; flex:1; height:1px; background:var(--line); }
.category-view-all { flex:0 0 auto; color:var(--red); font:600 14px var(--sans); white-space:nowrap; transition:color .2s ease; }
.category-view-all:hover { color:var(--red-dark); }
.catalogue-section-head { display:flex; align-items:center; gap:16px; margin-bottom:18px; padding-bottom:0; border:0; }
.catalogue-section-head h2 { display:flex; flex:1; align-items:center; gap:16px; min-width:0; margin:0; font:700 30px var(--serif); white-space:nowrap; }
.catalogue-section-head h2:after { content:''; flex:1; height:1px; background:var(--line); }
.section-view-all { flex:0 0 auto; color:var(--red); font:600 14px var(--sans); white-space:nowrap; transition:color .2s ease; }
.section-view-all:hover { color:var(--red-dark); }
.category-section-head p { max-width: 470px; margin: 0; color: var(--muted); text-align: right; }
.category-showcase { display: grid; grid-template-columns: repeat(8, minmax(0,1fr)); gap: clamp(10px,1vw,16px); }
.category-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; transition: transform .2s ease, border-color .2s ease; }
.category-card:hover { transform: translateY(-4px); border-color: #d0c4b7; }
.category-visual { position: relative; display: block; aspect-ratio: 1/1; overflow: hidden; background: #eee8df; }
.category-visual img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.category-card:hover .category-visual img { transform: scale(1.035); }
.category-visual svg { display: block; width: 100%; height: 100%; }
.category-visual span { position: absolute; top: 12px; right: 12px; padding: 4px 9px; border-radius: 999px; background: #ffffffdc; color: #413a34; font-size: 11px; font-weight: 600; backdrop-filter: blur(5px); }
.shape-back { fill: #ffffff30; }.shape-book { fill: #fff; opacity: .92; }.shape-line { fill: none; stroke: #6e332f; stroke-width: 4; stroke-linecap: round; opacity: .55; }
.category-tone-1 .category-visual { background: linear-gradient(135deg,#8d242b,#c66759); }.category-tone-2 .category-visual { background: linear-gradient(135deg,#253b50,#60829a); }.category-tone-3 .category-visual { background: linear-gradient(135deg,#72502e,#bd925c); }.category-tone-4 .category-visual { background: linear-gradient(135deg,#51426b,#9279a5); }.category-tone-5 .category-visual { background: linear-gradient(135deg,#285b50,#76a188); }
.category-card-body { padding: 12px 12px 13px; }
.category-card-body h3 { margin: 0; font: 600 16px var(--serif); }
.home-categories .category-visual>span,.home-categories .category-card-body>small,.home-categories .category-card-body>p,.home-categories .subcategory-links{display:none}
.category-card-body>small { display: block; margin-top: 2px; color: var(--muted); }
.category-card-body>p { margin: 13px 0 0; color: var(--muted); font-size: 13px; }
.subcategory-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
.subcategory-links a { padding: 4px 8px; border-radius: 999px; background: #f4f1ec; color: #655c54; font-size: 11px; }
.subcategory-links a:hover { background: var(--pk-primary-soft, #f0f5ee); color: var(--red); }
.mobile-category-more { display: none; }
.all-categories-page { padding: 48px 0 80px; }
.category-showcase-all { grid-template-columns: repeat(4,minmax(0,1fr)); }

.home-page .book-grid { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 30px clamp(14px,1.4vw,24px); }
.home-page .book-card .cover { width: 100%; height: auto; aspect-ratio: 1/1; }
.home-page .book-card { overflow: hidden; padding: 0; border: 1px solid #e1dad1; border-radius: 12px; background: #fff; box-shadow: 0 3px 12px #36281d08; transition: transform .2s ease, border-color .2s ease; }
.home-page .book-card:hover { transform: translateY(-3px); border-color: #d1c5b9; }
.home-page .book-card .cover { display: flex; width: 100%; border-radius: 0; box-shadow: none; }
.home-page .book-card .book-info { padding: 10px; }
.home-page .book-card .add-btn { display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 8px; }
.home-page .book-card .add-btn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.product-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 14px; }
.product-actions form { min-width: 0; }
.home-page .book-card .product-actions button { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; height: 38px; min-height: 38px; margin: 0; padding: 6px 7px; border-radius: 8px; font: 600 12px var(--sans); cursor: pointer; white-space: nowrap; transition: all .18s ease; }
.home-page .book-card .product-actions .add-btn, .book-card .product-actions .add-btn { border: 1.5px solid var(--pk-primary-border, #cad8c6); background: #fff; color: var(--red); }
.home-page .book-card .product-actions .buy-now-btn, .book-card .product-actions .buy-now-btn { border: 0 !important; background: var(--red-gradient, linear-gradient(135deg, #2F4A24 0%, #243A1C 100%)) !important; color: #fff; }
.home-page .book-card .product-actions .add-btn:hover, .book-card .product-actions .add-btn:hover { background: var(--pk-primary-soft, #f0f5ee); border-color: var(--red); }
.home-page .book-card .product-actions .buy-now-btn:hover, .book-card .product-actions .buy-now-btn:hover { background: var(--red-gradient-hover, linear-gradient(135deg, #243A1C 0%, #182813 100%)) !important; }
.home-page .book-card .product-actions .inline-cart-stepper button { display: grid; width: 100%; height: 100%; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; font: 700 15px/1 var(--sans); white-space: nowrap; }
.home-page .book-card .product-actions .inline-cart-stepper button:hover { background: rgba(255,255,255,.14); }
.product-actions svg { width: 15px; height: 15px; flex: 0 0 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.home-page .book-card .cover { padding: 16px; }
.home-page .book-card .cover small { font-size: 7px; letter-spacing: 1px; }
.home-page .book-card .cover strong { margin-top: 31%; font: 600 clamp(14px,1.2vw,19px)/1.35 var(--serif); }
.home-page .book-card .cover span { margin-top: 6px; font-size: 11px; }
.home-page .book-card .cover i { display: none; }
.home-page .book-card .cover.has-cover-image{padding:0;background:#f4efe9;overflow:hidden}.home-page .book-card .cover.has-cover-image img{display:block;width:100%;height:100%;object-fit:contain;background:#f4efe9}
.product-detail{align-items:start;padding:38px 0 48px;gap:clamp(36px,4vw,64px)}.product-detail .detail-cover.has-cover-image{height:auto;min-height:0;aspect-ratio:auto;padding:0;overflow:visible;border:none;background:transparent;box-shadow:none;display:flex;justify-content:center;align-items:center}.product-detail .detail-cover.has-cover-image img{display:block;width:auto;max-width:100%;height:auto;max-height:520px;object-fit:contain;background:transparent;transform:none;margin:0 auto}.product-detail .breadcrumb{margin-bottom:18px}.product-detail .detail-copy h1{margin:6px 0;font-size:clamp(30px,2.3vw,36px);line-height:1.2}.product-detail .detail-copy h3{margin:8px 0 0;line-height:1.35}.product-detail .rating{margin:16px 0;padding:10px 0}.product-detail .detail-copy>p{margin:13px 0;font-size:16px;line-height:1.6}.product-detail .detail-copy dl{gap:28px;margin:16px 0}.product-detail .detail-copy dl div{padding-left:10px}.product-detail .detail-purchase{margin-top:20px;padding:15px 17px}.product-detail .detail-pricing b{font-size:27px}.product-detail .pdf-access{margin-top:12px}.product-detail .pdf-access>a,.product-detail .pdf-unavailable{min-height:56px;padding:9px 12px}
.storefront-page del { position: relative; display: inline-block; text-decoration: none!important; }
.storefront-page del:after { content: ''; position: absolute; left: -3px; right: -3px; top: 52%; height: 1.5px; border-radius: 2px; background: #F6871E; transform: rotate(-11deg); transform-origin: center; }
.footer-services { border-top: 1px solid #383330; border-bottom: 1px solid #3d3834; background: #211e1c; color: #fff; }
.footer-services>.container { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding-block: 22px; }
.footer-services article { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 4px clamp(14px,2vw,30px); border-right: 1px solid #3d3834; }
.footer-services article:first-child { padding-left: 0; }.footer-services article:last-child { padding-right: 0; border-right: 0; }
.footer-services article>span { flex: 0 0 42px; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #5c4a49; border-radius: 11px; background: #ffffff0a; color: #e2656b; transition: transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease; }
.footer-services article:hover>span { transform: translateY(-2px); background: var(--red); color: #fff; }
.footer-services svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.footer-services b,.footer-services small { display: block; }.footer-services b { color: #fff; font-size: 14px; }.footer-services small { margin-top: 1px; color: #aaa09a; font-size: 10px; }
@media (min-width: 1600px) { .home-page .book-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }.category-card-body h3 { font-size: 17px; } }
@media (max-width: 1250px) { .category-showcase { grid-template-columns: repeat(6,1fr); } }
@media (max-width: 1200px) { .recommended-grid { grid-template-columns: repeat(4,1fr); } }
@media (max-width: 1180px) { .site-header .header-main { flex-wrap: wrap; height: auto; padding-block: 14px; }.header-menu { order: 4; width: 100%; justify-content: center; overflow-x: auto; }.site-header .live-search { flex: 1 1 260px; width: auto; max-width: none; min-width: 260px; }.header-account-card { margin-left: auto; } }
@media (max-width: 1100px) { .home-page .book-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }.category-showcase { grid-template-columns: repeat(5,1fr); } }
@media (max-width: 760px) { .storefront-page .container { width: calc(100% - 28px); }.home-categories { padding: 24px 0 30px; }.category-section-head { display: flex; }.category-section-head p { margin-top: 8px; text-align: left; }.category-showcase { grid-template-columns: repeat(3,1fr); }.home-page .book-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 540px) { .home-page .book-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 8px; }.category-showcase { grid-template-columns: repeat(3,minmax(0,1fr)); }.category-visual { aspect-ratio: 1/1; } }
@media (max-width: 760px) {
    .site-header .header-main { flex-wrap: wrap; min-height: 66px; padding-block: 10px; }
    .site-header .brand img { width: 138px; }
    .header-menu { display: none; }
    .header-account-card { min-height: 44px; padding: 5px 9px; }
    .mobile-search-toggle { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 9999px; background: transparent; color: #4f4944; cursor: pointer; }
    .mobile-search-toggle:hover,.site-header.is-search-open .mobile-search-toggle { background: rgba(47, 74, 36, 0.08); color: var(--red); }
    .mobile-search-toggle svg { width: 18px; height: 18px; }
    .mobile-search-divider { display: block; height: 25px; }
    .header-account-card small { display: none; }
    .customer-link { min-width: 0; }.header-account-card>.customer-link span { display: none!important; }
    .header-account-card>.customer-link { width: 42px; min-width: 42px; height: 42px; min-height: 42px; padding: 0; border-radius: 50%; }
    .header-account-card>.customer-link svg { width: 19px; height: 19px; }
    .header-account-card .cart-link b { margin-top: 0; }
    .site-header .live-search { display: none; order: 3; flex: 1 0 100%; width: 100%; min-width: 0; max-width: none; height: 40px; margin-top: 1px; opacity: 0; transform: translateY(-5px); }
    .site-header.is-search-open .live-search { display: flex; opacity: 1; transform: translateY(0); animation: mobile-search-in .18s ease-out; }
    .live-search-results { z-index: 95; }
    @keyframes mobile-search-in { from { opacity: 0; transform: translateY(-5px); } }
}
@media (max-width: 760px) { .auth-page { padding: 25px 12px 50px; }.auth-shell { grid-template-columns: 1fr; }.auth-intro { padding: 30px; }.auth-intro h1 { font-size: 29px; }.auth-benefits { display: none; }.auth-form { padding: 30px; }.auth-two { grid-template-columns: 1fr; }.account-hero { align-items: flex-start; flex-wrap: wrap; }.account-hero form { width: 100%; margin-left: 75px; }.account-section-head { align-items: flex-start; flex-direction: column; gap: 8px; }.account-orders article>div { align-items: flex-start; flex-direction: column; gap: 5px; } }
@media (max-width: 680px) { .category-page-title { align-items: flex-start; flex-direction: column; }.category-count { min-width: 0; }.category-page-title h1 { font-size: 32px; } }
@media (max-width: 600px) { .product-actions { grid-template-columns: 1fr; }.home-page .book-card .product-actions button { height: 36px; min-height: 36px; padding-inline: 6px; white-space: normal; line-height: 1.25; }.home-page .book-card .product-actions .inline-cart-stepper{grid-template-columns:30px minmax(38px,1fr) 30px;width:100%;justify-self:stretch;height:30px}.home-page .book-card .product-actions .inline-cart-stepper button{height:100%;min-height:0;padding:0;font-size:13px;line-height:1;white-space:nowrap}.home-page .book-card .product-actions .inline-cart-stepper output{font-size:12px}.home-page .book-card .product-actions button span { overflow: visible; text-overflow: clip; } }
.home-page .product-actions .inline-cart-stepper { animation-duration: .42s; }
@media (max-width: 760px) { .category-section-head { display:flex; align-items:center; justify-content:space-between; } }
@media (max-width: 900px) { .storefront-page .cart-layout { grid-template-columns: 1fr; }.storefront-page .checkout { position: static; }.storefront-page .cart-row { grid-template-columns: 82px minmax(0,1fr) 136px 108px; } }
@media (max-width: 850px) { .product-detail { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 35px; }.product-detail .detail-cover { width: 280px; margin: 0; }.detail-purchase { align-items: stretch; flex-direction: column; }.recommended-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 600px) { .storefront-page .cart-row { grid-template-columns: 72px minmax(0,1fr); gap: 12px; padding: 13px; }.cart-book-cover { width: 70px; }.cart-quantity { grid-column: 2; }.cart-line-total { grid-column: 2; text-align: left; }.cart-line-total small,.cart-line-total strong { display: inline; }.cart-line-total small { margin-right: 7px; }.cart-page-heading h1 { font-size: 25px; } }
@media (max-width: 650px) { .product-detail { display: block; padding: 10px 0 28px; } .product-detail .detail-media { width: 100%; max-width: 100%; margin: 0 0 14px; } .product-detail .detail-cover, .product-detail .detail-cover.has-cover-image { width: 100%; max-width: 100%; height: auto; min-height: 0; max-height: none; aspect-ratio: 1 / 1; margin: 0 auto 12px; padding: 0; border: none; box-shadow: none; background: transparent; display: flex; align-items: center; justify-content: center; overflow: hidden; } .product-detail .detail-cover.has-cover-image img { width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; margin: 0 auto; padding: 0; border: none; box-shadow: none; transform: none; } .detail-actions { display: grid; grid-template-columns: 1fr 1fr; } .detail-actions button { width: 100%; } .recommended-head { align-items: flex-start; flex-direction: column; } .recommended-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 760px) {
    .home-categories .category-showcase { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
    .home-categories .category-card:nth-child(n+7) { display: none; }
    .home-categories .category-card-body { padding: 8px 7px 9px; }
    .home-categories .category-card-body h3 { overflow: hidden; font-size: 13px; line-height: 1.3; white-space: nowrap; text-overflow: ellipsis; }
    .home-categories .category-card-body>small,.home-categories .category-card-body>p,.home-categories .subcategory-links { display: none; }
    .home-categories .category-visual span { top: 6px; right: 6px; padding: 2px 5px; font-size: 8px; }
    .mobile-category-more { display: flex; align-items: center; justify-content: center; gap: 8px; width: max-content; min-height: 38px; margin: 18px auto 0; padding: 7px 14px; border: 1px solid #d7a1a5; border-radius: 9px; color: var(--red); font-size: 12px; font-weight: 600; }
    .mobile-category-more:hover { background: #fbeaec; }
    .mobile-category-more span { font-size: 16px; line-height: 1; }
    .category-showcase-all { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
    .category-showcase-all .category-card-body { padding: 9px 8px; }
    .category-showcase-all .category-card-body h3 { font-size: 13px; }
    .category-showcase-all .category-card-body>small,.category-showcase-all .subcategory-links,.category-showcase-all .category-card-body>p { display: none; }
    .footer-services>.container { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; padding-block: 13px; }
    .footer-services article { padding: 11px 8px; border-right: 0; border-bottom: 1px solid #3d3834; }
    .footer-services article:nth-last-child(-n+2) { border-bottom: 0; }
    .footer-services article>span { flex-basis: 36px; width: 36px; height: 36px; border-radius: 9px; }
    .footer-services svg { width: 18px; height: 18px; }
    .footer-services b { font-size: 12px; }.footer-services small { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }*,*:before,*:after { animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; scroll-behavior: auto!important; }.motion-reveal { opacity: 1; transform: none; } }
/* Privacy-safe advanced tracking consent. */
.tracking-consent{position:fixed;z-index:1200;right:18px;bottom:18px;display:flex;align-items:center;gap:22px;max-width:680px;padding:16px 18px;border:1px solid #d9d3ce;border-radius:14px;background:#211f1d;color:#fff;box-shadow:0 16px 45px #0003}.tracking-consent b{font-size:15px}.tracking-consent p{max-width:440px;margin:4px 0 0;color:#d8d2cd;font-size:11px;line-height:1.5}.tracking-consent>div:last-child{display:flex;gap:8px;flex:0 0 auto}.tracking-consent button{min-height:38px;padding:7px 13px;border:1px solid #ffffff42;border-radius:8px;background:transparent;color:#fff;font:600 12px var(--sans);cursor:pointer}.tracking-consent button:last-child{border:0;background:var(--red-gradient, linear-gradient(135deg, #2F4A24 0%, #243A1C 100%))}
@media(max-width:680px){.tracking-consent{left:10px;right:10px;bottom:10px;align-items:stretch;flex-direction:column;gap:12px}.tracking-consent>div:last-child{justify-content:flex-end}}
/* Book details: summary, specifications, and author profile. */
.book-information{margin-bottom:70px;border:1px solid #e3ddd6;border-radius:14px;background:#fff;overflow:hidden}.book-information-tabs{display:flex;gap:4px;padding:0 18px;border-bottom:1px solid #e7e1da;background:#faf8f5}.book-information-tabs button{position:relative;min-height:58px;padding:13px 22px;border:0;background:transparent;color:#554e48;font:600 16px var(--sans);cursor:pointer}.book-information-tabs button:after{content:'';position:absolute;right:18px;bottom:-1px;left:18px;height:3px;border-radius:3px 3px 0 0;background:transparent}.book-information-tabs button.is-active{color:var(--red)}.book-information-tabs button.is-active:after{background:var(--red)}.book-information-panel{padding:30px 34px 36px}.book-information-panel h2{margin:0 0 14px;font:700 27px var(--serif)}.book-summary-copy{max-width:1050px;color:#4f4944;font-size:17px;line-height:1.95;white-space:pre-line}.book-information-empty{margin:0;color:#857d76}.book-specification-list{margin:0;border-top:1px solid #e6e0d9}.book-specification-list>div{display:grid;grid-template-columns:minmax(150px,22%) 1fr;border-bottom:1px solid #e6e0d9}.book-specification-list dt,.book-specification-list dd{margin:0;padding:13px 18px}.book-specification-list dt{background:#faf8f5;color:#625b55;font-weight:600}.book-specification-list dd{color:#312d29}.book-author-profile{display:grid;grid-template-columns:90px 1fr;gap:24px;align-items:start}.book-author-profile>img,.book-author-profile>span{width:90px;height:90px;border-radius:50%;object-fit:cover}.book-author-profile>span{display:grid;place-items:center;background:#f8e6e7;color:var(--red);font:700 34px var(--serif)}.book-author-profile small{color:var(--red);font-weight:700}.book-author-profile h2{margin:3px 0 10px}.book-author-profile p{max-width:900px;margin:0;color:#5f5852;font-size:16px;line-height:1.8;white-space:pre-line}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:650px){.book-information{width:calc(100% - 28px);margin-bottom:45px}.book-information-tabs{padding:0 6px}.book-information-tabs button{flex:1;min-height:52px;padding:10px 5px;font-size:14px}.book-information-tabs button:after{right:8px;left:8px}.book-information-panel{padding:22px 16px 26px}.book-information-panel h2{font-size:23px}.book-summary-copy{font-size:15px;line-height:1.8}.book-specification-list>div{grid-template-columns:108px 1fr}.book-specification-list dt,.book-specification-list dd{padding:11px 10px}.book-author-profile{grid-template-columns:62px 1fr;gap:14px}.book-author-profile>img,.book-author-profile>span{width:62px;height:62px}.book-author-profile>span{font-size:25px}}
/* Admin-managed homepage hero banners. */
.hero-banner-slider{position:relative;width:100%;aspect-ratio:25/9;overflow:hidden;background:#eee8e1}.hero-banner-slide{position:absolute;inset:0;visibility:hidden;opacity:0;transition:opacity .55s ease,visibility .55s ease}.hero-banner-slide.is-active{visibility:visible;opacity:1}.hero-banner-slide>a{display:block;width:100%;height:100%}.hero-banner-slide img{display:block;width:100%;height:100%;object-fit:cover}.hero-banner-caption{position:absolute;left:clamp(18px,5vw,72px);bottom:clamp(22px,5vw,65px);max-width:min(560px,70vw);padding:10px 16px;border-radius:9px;background:#17191dcc;color:#fff;font:700 clamp(18px,2.2vw,34px) var(--serif);backdrop-filter:blur(5px)}.hero-banner-controls{position:absolute;z-index:3;right:clamp(14px,3vw,42px);bottom:clamp(12px,2.5vw,32px);display:flex;align-items:center;gap:9px}.hero-banner-controls>button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #ffffff70;border-radius:50%;background:#17191d99;color:#fff;font-size:25px;line-height:1;cursor:pointer;backdrop-filter:blur(5px)}.hero-banner-dots{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:20px;background:#17191d80}.hero-banner-dots button{width:7px;height:7px;padding:0;border:0;border-radius:10px;background:#ffffff75;cursor:pointer;transition:.2s}.hero-banner-dots button.is-active{width:22px;background:#fff}@media(max-width:700px){.hero-banner-slider{aspect-ratio:16/7}.hero-banner-caption{left:12px;bottom:12px;max-width:60vw;padding:7px 10px;font-size:15px}.hero-banner-controls{right:10px;bottom:10px}.hero-banner-controls>button{display:none}.hero-banner-dots{padding:6px 8px}}
.cover{position:relative}.stock-out-badge{position:absolute;top:10px;left:10px;padding:6px 10px;border-radius:999px;background:#25201d;color:#fff;font-size:12px;line-height:1}.book-card.is-out-of-stock .cover img{opacity:.62;filter:grayscale(.35)}.product-actions button:disabled{cursor:not-allowed;opacity:.58}.stock-out-button{justify-content:center}.homepage-category-products{padding-top:10px;padding-bottom:34px}

/* Compact storefront category tiles: 8 desktop, 4 mobile. */
.home-categories .category-showcase{grid-template-columns:repeat(8,minmax(0,128px));justify-content:space-between;gap:18px 12px}
.home-categories .category-card{overflow:visible;border:0;border-radius:0;background:transparent;text-align:center}
.home-categories .category-card:hover{transform:translateY(-3px);border-color:transparent}
.home-categories .category-visual{aspect-ratio:1/1;border:1px solid #eee9e4;border-radius:16px;background:#fff!important;box-shadow:none}
.home-categories .category-visual img{padding:8px;object-fit:contain}
.home-categories .category-visual svg{padding:9px}
.home-categories .category-card-body{padding:9px 2px 0}
.home-categories .category-card-body h3{font-family:var(--sans);font-size:14px;font-weight:500;line-height:1.3}
.home-categories .category-card-body h3 a{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
@media(max-width:760px){
  .home-categories{padding:18px 0 22px}
  .home-categories .category-showcase{grid-template-columns:repeat(4,minmax(0,1fr));justify-content:stretch;gap:13px 7px}
  .home-categories .category-card:nth-child(n){display:block}
  .home-categories .category-visual{border-radius:11px}
  .home-categories .category-visual img{padding:5px}
  .home-categories .category-card-body{padding:6px 1px 0}
  .home-categories .category-card-body h3{font-size:11px;line-height:1.25;white-space:normal}
  .mobile-category-more{display:none}
}

@font-face{font-family:'Google Sans';src:url('/fonts/google-sans/google-sans-regular.woff2') format('woff2');font-style:normal;font-weight:400 600;font-display:swap}
@font-face{font-family:'Google Sans';src:url('/fonts/google-sans/google-sans-bold.woff2') format('woff2');font-style:normal;font-weight:700 900;font-display:swap}

:root, .storefront-page {
    --sans: 'Google Sans', 'Anek Bangla', 'Noto Sans Bengali', sans-serif !important;
    --serif: 'Google Sans', 'Anek Bangla', 'Noto Sans Bengali', sans-serif !important;
}

body,
button,
input,
select,
textarea,
optgroup,
option,
label,
.category-layout-wrap,
.category-toolbar,
.category-filter-sidebar,
.mobile-filter-drawer,
.mobile-filter-icon-btn,
.category-sort-wrap select,
.category-result-stats,
.active-filter-tags,
.filter-group,
.filter-radio-item,
.drawer-radio-pill,
.drawer-reset-btn,
.drawer-apply-btn {
    font-family: 'Google Sans', 'Anek Bangla', 'Noto Sans Bengali', sans-serif !important;
}

/* Hugeicons Integration */
.header-account-card i.hgi-stroke { font-size: 20px; line-height: 1; display: inline-flex; }
.footer-services i.hgi-stroke { font-size: 22px; line-height: 1; display: inline-flex; }
@media (max-width: 850px) {
  .footer-services i.hgi-stroke { font-size: 19px; }
}


