
:root{
  --paper:#F7F7F3; --surface:#FFFFFF; --ink:#18231F; --muted:#66716C; --rule:#DCE1DC;
  --emerald:#1C574B; --emerald-deep:#0F3D34; --gold:#B08A45;
  --malachite:#0E332C; --malachite-2:#13423A; --gilt:#C3A15F; --gilt-pale:#E8D7AE; --ivory:#F3EFE3;
  --cloth-ar:#0F3E35; --cloth-en:#1D2945; --cloth-ta:#4F1828; --cloth-ml:#163C50;
  --serif:'Literata','Noto Serif Tamil','Noto Serif Malayalam','Noto Naskh Arabic',Georgia,serif;
  --display:'Marcellus','Noto Serif Tamil','Noto Serif Malayalam','Noto Naskh Arabic',Georgia,serif;
  --step--1:.875rem; --step-0:1rem; --step-1:1.25rem; --step-2:1.563rem; --step-3:1.953rem; --step-4:2.441rem; --step-5:3.052rem;
  --wrap:72rem;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:var(--step-0);line-height:1.6}
body:lang(ta),body:lang(ml){line-height:1.75}
:lang(ar){font-family:'Noto Naskh Arabic','Noto Naskh Arabic',var(--serif)}
body:lang(ar){line-height:1.8}
/* Mixed-script text keeps its own direction but follows the page's alignment */
html[dir=ltr] [dir=auto]{text-align:left}
html[dir=rtl] [dir=auto]{text-align:right}
.cover-made [dir=auto]{text-align:center!important}
img{max-width:100%;display:block}
a{color:var(--emerald)}
a:hover{color:var(--emerald-deep)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:2px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;inset-inline-start:1rem;top:-3rem;background:var(--ink);color:#fff;padding:.5rem 1rem;z-index:10}
.skip:focus{top:1rem}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:1rem}
@media (min-width:48rem){.wrap{padding-inline:2rem}}
h1,h2,h3{line-height:1.3;margin:0;font-weight:600}
h1:lang(ta),h1:lang(ml),h2:lang(ta),h2:lang(ml),h1:lang(ar),h2:lang(ar){line-height:1.45}
h2{font-size:var(--step-2);margin-block-end:1.25rem}
.section{padding-block:2.5rem}

/* Header */
.site-header{background:var(--surface);border-block-end:1px solid var(--rule)}
.header-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding-block:.75rem}
.brand{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink);text-decoration:none;font-weight:700;font-size:var(--step-1)}
.brand-star{width:1.4rem;height:1.4rem;fill:var(--gold);flex:none}
.header-search{flex:1 1 14rem;order:3;width:100%}
@media (min-width:48rem){.header-search{order:0;max-width:24rem}}
.langs{display:flex;gap:.25rem;margin-inline-start:auto}
.langs a{font-size:var(--step--1);text-decoration:none;color:var(--muted);padding:.25rem .5rem;border-radius:4px}
.langs a[aria-current]{color:var(--ink);background:var(--paper);font-weight:600}
.langs a:hover{color:var(--ink)}

/* Inputs and buttons */
input[type=search],select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:.6rem .75rem;width:100%;min-height:2.75rem}
input[type=search]:focus,select:focus{border-color:var(--emerald)}
.button{font:inherit;font-weight:600;display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.6rem 1.25rem;border-radius:6px;border:1px solid var(--emerald);background:var(--emerald);color:#fff;text-decoration:none;cursor:pointer}
.button:hover{background:var(--emerald-deep);color:#fff}
.button-quiet{background:transparent;color:var(--emerald)}
.button-quiet:hover{background:var(--surface);color:var(--emerald-deep)}
.button[disabled]{background:var(--rule);border-color:var(--rule);color:var(--muted);cursor:not-allowed}
.button-wide{width:100%}

/* Hero */
.hero{background:var(--surface);border-block-end:1px solid var(--rule);padding-block:3rem 2.5rem}
.hero-words{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .9rem;font-size:clamp(2rem,7vw,var(--step-5));font-weight:700;letter-spacing:-.01em}
.hero-words :lang(ar){font-size:1.12em}
.hero-star{width:.42em;height:.42em;fill:var(--gold);flex:none}
.hero-tagline{font-size:var(--step-1);color:var(--muted);max-width:38rem;margin-block:1rem 1.75rem}
.hero-search{display:flex;gap:.5rem;max-width:36rem}
.hero-search input{flex:1}

/* Language tiles */
.lang-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
@media (min-width:48rem){.lang-tiles{grid-template-columns:repeat(4,1fr)}}
.lang-tile{display:flex;flex-direction:column;gap:.25rem;padding:1.25rem 1rem;border-radius:8px;text-decoration:none;color:#fff;min-height:7rem;justify-content:flex-end;position:relative;overflow:hidden}
.lang-tile:hover{color:#fff;filter:brightness(1.08)}
.lang-tile-ar{background:var(--cloth-ar)} .lang-tile-en{background:var(--cloth-en)} .lang-tile-ta{background:var(--cloth-ta)} .lang-tile-ml{background:var(--cloth-ml)}
.lang-tile>span{align-self:flex-start}
.lang-tile-native{font-size:var(--step-2);font-weight:700;line-height:1.3}
.lang-tile-label{font-size:var(--step--1);opacity:.85}

/* Book grid */
.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem}
@media (min-width:40rem){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:60rem){.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem 1.5rem}}
.card{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.card-link{text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:.6rem}
.card-link:hover .card-title{text-decoration:underline}
.card-title{font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.card-author,.card-pub{font-size:var(--step--1);color:var(--muted);overflow-wrap:anywhere}
.card .price{margin:.25rem 0 0}

/* Covers */
.cover{aspect-ratio:2/3;width:100%;height:auto;border-radius:3px 6px 6px 3px;object-fit:cover;box-shadow:inset 6px 0 0 rgba(0,0,0,.18)}
:dir(rtl) .cover{border-radius:6px 3px 3px 6px;box-shadow:inset -6px 0 0 rgba(0,0,0,.18)}
.cover-made{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:.6rem;padding:1rem .9rem 1rem 1.2rem;color:#F3EEDF}
:dir(rtl) .cover-made{padding:1rem 1.2rem 1rem .9rem}
.cover-ar{background:var(--cloth-ar)} .cover-en{background:var(--cloth-en)} .cover-ta{background:var(--cloth-ta)} .cover-ml{background:var(--cloth-ml)}
.cover-star{width:2rem;height:2rem;fill:none;stroke:#E2C27A;stroke-width:1.2}
.cover-title{font-weight:700;font-size:var(--step-0);line-height:1.35;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.cover-author{font-size:.75rem;opacity:.85}
.cover-large{max-width:13rem}
@media (min-width:48rem){.cover-large{max-width:20rem}}
.cover-large .cover-title{font-size:var(--step-2)}
.cover-large .cover-star{width:3rem;height:3rem}

/* Prices */
.price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .5rem}
.price-now{font-weight:700;font-size:var(--step-1);color:var(--ink)}
.price-mrp{color:var(--muted);font-size:var(--step--1)}
.price-off{color:var(--emerald);font-size:var(--step--1);font-weight:600}

/* Listing page */
.page-title{font-size:var(--step-3);margin-block-end:1.25rem}
.filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;padding:1rem;background:var(--surface);border:1px solid var(--rule);border-radius:8px;margin-block-end:1.5rem}
.field{display:flex;flex-direction:column;gap:.3rem;flex:1 1 10rem}
.field-grow{flex:3 1 16rem}
.field label{font-size:var(--step--1);color:var(--muted)}
.filters .button{flex:1 1 10rem}
@media (min-width:48rem){.filters .button{flex:0 0 auto}}
.count{color:var(--muted);margin:0 0 1rem}
.pager{display:flex;justify-content:space-between;align-items:center;margin-block-start:2rem}
.pager-count{color:var(--muted)}
.pager-num{gap:.5rem;flex-wrap:wrap;justify-content:center}
.pager-num ol{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem;margin:0;padding:0;align-items:center;justify-content:center}
.pager-n{display:grid;place-items:center;min-width:2.4rem;height:2.4rem;padding:0 .5rem;border:1px solid var(--rule);border-radius:10px;background:#fff;text-decoration:none;color:var(--ink);font-weight:600}
a.pager-n:hover{border-color:var(--emerald);color:var(--emerald)}
.pager-now{background:var(--emerald);border-color:var(--emerald);color:#fff}
.pager-gap{color:var(--muted);padding:0 .2rem}
.pager-step{color:var(--emerald)}
[dir=rtl] .pager-arrow{transform:scaleX(-1)}
.list-foot{display:grid;gap:.9rem;justify-items:center;margin-block-start:2rem}
.list-foot .pager{margin:0}
.pager-tools{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;justify-content:center;max-width:100%}
.list-foot{min-width:0;max-width:100%}.pager-form{max-width:100%;justify-content:center}
.pager-form{display:flex;flex-wrap:wrap;gap:.4rem .5rem;align-items:center;font-size:.9rem;color:var(--muted)}
.pager-form input[type=number]{width:4.6rem;padding:.35rem .5rem;border:1px solid var(--rule);border-radius:8px;font:inherit;text-align:center}
.list-foot .pager-form select{width:auto;min-width:4.5rem;min-height:0;display:inline-block;padding:.35rem .4rem;border:1px solid var(--rule);border-radius:8px;font:inherit;background:#fff}
.list-foot .pager-form label{display:inline;margin:0;font-weight:600}
.list-foot .pager-form input[type=number]{min-height:0;display:inline-block}
@media (max-width:30rem){.pager-num{flex-wrap:nowrap;gap:.2rem}.pager-num ol{flex-wrap:nowrap;gap:.2rem}.pager-num .pager-n{min-width:1.85rem;height:2.1rem;padding:0 .2rem;font-size:.9rem}.pager-gap{padding:0}}
@media (min-width:40rem){
  .cols-2 .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3 .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cols-4 .grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-5 .grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1.5rem 1rem}
  .cols-6 .grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:1.25rem .8rem}
}
.pager .is-off{opacity:.4;pointer-events:none}
.list-foot{width:fit-content;margin-inline:auto;gap:0;padding:.75rem 1rem;background:#fff;border:1px solid var(--rule);border-radius:18px;box-shadow:0 6px 18px rgba(0,70,58,.06)}
.list-foot .pager-n{background:var(--paper)}.list-foot .pager-now{background:var(--emerald)}
.list-foot .pager-tools{gap:.6rem 0;align-items:center}
.list-foot .pager-tools:not(:empty){margin-block-start:.75rem;padding-block-start:.75rem;border-block-start:1px dashed var(--rule);width:100%}
.list-foot .pager-form{box-sizing:border-box;flex-wrap:nowrap;gap:.45rem;font-size:.875rem;padding-inline:1rem}
.list-foot .pager-form+.pager-form{border-inline-start:1px solid var(--rule)}
.list-foot .pager-form label{white-space:nowrap;font-weight:600;color:var(--muted)}
.list-foot .pager-form input[type=number],.list-foot .pager-form select,.list-foot .pager-form .button{box-sizing:border-box;height:2.25rem;min-height:0;margin:0;border-radius:10px;font-size:.875rem}
.list-foot .pager-form input[type=number]{width:3.9rem;padding:0 .4rem;background:var(--paper)}
.list-foot .pager-form select{padding:0 .5rem;background-color:var(--paper)}
.list-foot .pager-form .button{padding:0 .9rem;box-shadow:none;line-height:1;display:inline-grid;place-items:center}
@media (max-width:47.99rem){.list-foot{width:auto;padding:.7rem .5rem}.list-foot .pager-num{flex-wrap:wrap;row-gap:.35rem;max-width:100%}.list-foot .pager-num ol{flex-wrap:nowrap;order:-1;flex:1 1 100%}.list-foot .pager-form{box-sizing:border-box;flex-wrap:wrap;justify-content:center;padding-inline:.25rem}.list-foot .pager-form+.pager-form{border-inline-start:0;border-block-start:1px dashed var(--rule);padding-block-start:.6rem;width:100%}}
.shop{display:grid;gap:1.25rem}
.shop-main{min-width:0}
.side-toggle{position:absolute;opacity:0;width:1px;height:1px}
.side-toggle:focus-visible+.side-open{outline:2px solid var(--emerald);outline-offset:2px}
.side-open{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer}
.side-chev{transition:transform .2s}
.side-body{display:none;gap:.6rem;align-content:start;margin-top:.75rem}
.side-toggle:checked~.side-body{display:grid}
.side-toggle:checked+.side-open .side-chev{transform:rotate(180deg)}
.side-group{border:1px solid var(--rule);border-radius:12px;background:#fff;overflow:hidden}
.side-group>summary{display:flex;align-items:baseline;gap:.5rem;padding:.7rem .85rem;cursor:pointer;list-style:none;user-select:none}
.side-group>summary::-webkit-details-marker{display:none}
.side-group>summary::after{content:"";flex:none;width:.5rem;height:.5rem;margin-inline-start:auto;border-inline-end:2px solid var(--muted);border-block-end:2px solid var(--muted);transform:rotate(45deg);transition:transform .2s;align-self:center}
.side-group[open]>summary::after{transform:rotate(-135deg)}
.side-group>summary:hover .side-title{color:var(--emerald)}
.side-title{font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
.side-now{font-size:.8125rem;font-weight:700;color:var(--emerald);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-group[open]>summary{border-bottom:1px solid var(--rule)}
.side-group>ul,.side-group>.side-more,.side-group>.side-form{margin:.45rem .45rem .55rem}
.side-form{display:grid;gap:.6rem;padding:.4rem}
.side-form .field{min-width:0}.side-form input[type=search]{width:100%}
.side-form .price-inputs input{min-width:0;width:100%}
.side-group ul{list-style:none;padding:0;display:grid;gap:.1rem}
.side-group a{display:flex;justify-content:space-between;gap:.6rem;align-items:baseline;padding:.35rem .5rem;border-radius:8px;text-decoration:none;color:var(--ink)}
.side-group a:hover{background:#f1faf7;color:var(--emerald)}
.side-group a[aria-current]{background:var(--emerald);color:#fff;font-weight:700}
.side-n{font-size:.8125rem;color:var(--muted);flex:none}
.side-group a[aria-current] .side-n{color:#fff}
.side-more>summary{cursor:pointer;padding:.3rem .5rem;font-weight:600;color:var(--emerald);font-size:.9rem}
.side-more>ul{margin:0}
.side-sub a{padding-inline-start:1.5rem;font-size:.95em}
.side-sub a::before{content:"";flex:none;width:.5rem;height:.5rem;margin-inline-end:.1rem;border-inline-start:1.5px solid var(--rule);border-block-end:1.5px solid var(--rule);align-self:center;transform:translateY(-.2rem)}
.side-sub a>span:first-child{flex:1}
.bill{max-width:56rem;margin:0 auto 1rem;padding:2rem;border:1px solid var(--rule);border-radius:16px;background:#fff;color:#111;font-size:.95rem}
.bill-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.5rem;padding-bottom:1rem;border-bottom:2px solid #111}
.bill-head p{margin:.15rem 0}
.bill-kind{font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--emerald)}
.bill-seller{font-size:1.5rem;margin:.1rem 0 .3rem}
.bill-meta,.bill-totals{margin:0;display:grid;gap:.25rem}
.bill-meta>div,.bill-totals>div{display:flex;justify-content:space-between;gap:1rem}
.bill-meta dt,.bill-totals dt{color:#555}.bill-meta dd,.bill-totals dd{margin:0;font-weight:600;text-align:end}
.bill-to{margin:1rem 0}.bill-to h2{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:#555;margin:0 0 .3rem}.bill-to p{margin:.1rem 0}
.bill .table-wrap{border-radius:8px;box-shadow:none}.bill .bill-lines{font-size:.875rem;min-width:0;width:100%}.bill .bill-lines th,.bill .bill-lines td{padding:.45rem .5rem}.bill .bill-lines th{white-space:nowrap;letter-spacing:0}
.bill-totals{max-width:20rem;margin:1rem 0 0 auto}
.bill-grand{border-top:2px solid #111;padding-top:.35rem;font-size:1.1rem}.bill-grand dt{color:#111;font-weight:700}
.bill-words{margin:1rem 0 0;font-weight:600}.bill-foot{margin:.6rem 0 0;color:#555;font-size:.85rem}
@media (max-width:40rem){.bill{padding:1rem}.bill-head{grid-template-columns:1fr}}
@media print{
  .site-header,.site-footer,.app-nav,.typing-bar,.bill-actions,.skip,.utility{display:none!important}
  body{background:#fff}.section,.wrap,.app{padding:0;margin:0;max-width:none;display:block}
  .bill{border:0;border-radius:0;padding:0;max-width:none;font-size:10pt}.app-main>*{animation:none}.header-actions{display:none!important}
  .bill .table-wrap{overflow:visible;border:1px solid #999}.bill .bill-lines{font-size:8.5pt}.bill .bill-lines th,.bill .bill-lines td{padding:3pt 4pt}
  @page{size:A4;margin:14mm}
}
.pos{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(17rem,1fr);gap:1.5rem;align-items:start}
.pos-left,.pos-pay{min-width:0}.pos-find-row input{width:100%}.pos-find label{display:block;font-weight:600;margin-block-end:.35rem}.pos-find-row{display:flex;gap:.5rem}.pos-find-row input{flex:1;min-width:0;font-size:1.1rem;padding:.7rem .9rem;border:2px solid var(--emerald);border-radius:12px}
.pos-grid-wrap{margin-block-start:1.5rem}.pos-grid-wrap h2{margin-block-end:.15rem}
.pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.2rem,1fr));gap:.7rem;margin-block-start:.75rem}
.pos-tile{position:relative;display:grid;gap:.15rem;align-content:start;padding:.45rem;border:1px solid var(--rule);border-radius:14px;background:var(--surface);text-decoration:none;color:inherit;transition:border-color .12s,box-shadow .12s,transform .12s}
a.pos-tile:hover,a.pos-tile:focus-visible{border-color:var(--emerald);box-shadow:0 6px 18px -10px rgba(16,32,27,.45);transform:translateY(-1px)}a.pos-tile:active{transform:scale(.98)}
.pos-tile-off{opacity:.5}
.pos-tile-pic{position:relative;display:block;aspect-ratio:3/4;border-radius:9px;overflow:hidden;background:linear-gradient(160deg,#E8F3EF,#CFE6DE)}
.pos-tile-pic img{width:100%;height:100%;object-fit:cover;display:block}
.pos-tile-blank{display:grid;place-items:center;width:100%;height:100%;font-size:2rem;font-weight:700;color:var(--emerald)}
.pos-tile-n{position:absolute;inset-block-start:.3rem;inset-inline-end:.3rem;min-width:1.6rem;height:1.6rem;padding:0 .35rem;display:grid;place-items:center;border-radius:999px;background:var(--emerald);color:#fff;font-weight:700;font-size:.85rem;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.pos-tile-t{font-weight:600;font-size:.86rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-block-start:.2rem}
.pos-tile-m{font-size:.72rem;color:var(--muted)}.pos-tile-p{font-size:.95rem}
.pos-grid-nav{display:flex;gap:.5rem;justify-content:center;margin-block-start:1rem}
.row-on td{background:#E6F4EF}.row-actions-inline{display:inline-flex;gap:.4rem;flex-wrap:wrap;align-items:center}.row-actions-inline form{margin:0}
.pos-found{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.4rem}.pos-found li{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .8rem;border:1px solid var(--rule);border-radius:12px;background:var(--surface)}
.pos .pos-lines{min-width:0}.pos-lines .num{text-align:end;white-space:nowrap}.pos-over td{background:#FDECEC}
.pos-qty{display:inline-flex;align-items:center;gap:.5rem}.pos-qty a{display:inline-grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--rule);border-radius:999px;text-decoration:none;font-weight:700;color:inherit;background:var(--surface)}.pos-qty a:hover{background:var(--emerald);color:#fff;border-color:var(--emerald)}
.pos-pay{position:sticky;top:1rem;padding:1.25rem;border:1px solid var(--rule);border-radius:16px;background:var(--surface);display:grid;gap:.25rem}
.pos-total{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 .5rem;font-size:1.05rem}.pos-total strong{font-size:1.7rem}
.pos-pay .pos-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:.5rem;border:0;padding:0;margin:.25rem 0 .5rem;background:none;box-shadow:none;border-radius:0}.pos-methods legend{font-weight:600;margin-block-end:.35rem;padding:0}
.pos-pay .pos-methods label{margin:0;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem .5rem;border:1px solid var(--rule);border-radius:12px;cursor:pointer;font-weight:600}.pos-methods label:has(input:checked){border-color:var(--emerald);background:#E6F4EF}
.pos-split{display:none}.pos-pay:has(input[value="split"]:checked) .pos-split{display:grid;gap:.25rem;padding:.75rem;border:1px dashed var(--rule);border-radius:12px;margin-block-end:.5rem}
.pos-back{width:5rem;text-align:end;padding:.45rem .5rem;border:1px solid var(--rule);border-radius:8px;font:inherit}.pos-return .pos-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;border:0;padding:0;margin:1rem 0;background:none;box-shadow:none;max-width:28rem}.pos-return .pos-methods label{margin:0;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem .5rem;border:1px solid var(--rule);border-radius:12px;cursor:pointer;font-weight:600}.pos-return .pos-methods label:has(input:checked){border-color:var(--emerald);background:#E6F4EF}
.pos-given p{margin:.25rem 0;font-size:1.15rem}.pos-should{align-self:center;margin:0;font-size:1.05rem}
.pos-done{width:100%;font-size:1.1rem;padding:.9rem;margin-block-start:.5rem}.pos-add{max-width:32rem;margin-block-start:1.5rem}
.pos-after{display:grid;gap:.5rem;justify-items:start;margin-block-end:1rem}.pos-change{font-size:1.3rem;margin:0}.pos-paid{max-width:56rem;margin:0 auto 1rem}
.pos-paper.pos-r80,.pos-paper.pos-r58{display:flex;justify-content:center}
.slip-roll{background:#fff;color:#000;padding:3mm 2mm;font:9pt/1.35 ui-monospace,Menlo,Consolas,'Noto Sans Tamil','Noto Sans Malayalam','Noto Naskh Arabic',monospace;box-shadow:0 2px 12px rgba(0,0,0,.12)}
.slip-roll h1{font-family:inherit;font-size:12pt;font-weight:700;line-height:1.2;letter-spacing:0;text-align:center!important;margin:0 0 1mm;color:#000}.slip-roll p{margin:0;max-width:none}.slip-roll .slip-c{text-align:center!important}.slip-kind{text-align:center;font-weight:700;border-block:1px dashed #000;margin:2mm 0!important;padding:1mm 0}
.slip-roll dl{margin:0}.slip-roll dl>div{display:flex;justify-content:space-between;gap:2mm}.slip-roll dd{margin:0;text-align:end}
.slip-roll table{width:100%;border-collapse:collapse;margin:2mm 0;border-block:1px dashed #000}.slip-roll th,.slip-roll td{padding:.8mm 0;vertical-align:top;text-align:start;font-weight:400}.slip-roll th{border-block-end:1px dashed #000;font-weight:700}
.slip-roll th:nth-child(n+2),.slip-roll td:nth-child(n+2){text-align:end;white-space:nowrap;padding-inline-start:2mm}.slip-roll small{font-size:7.5pt}
.slip-total{font-weight:700;font-size:11pt;border-block-start:1px dashed #000;margin-block-start:1mm;padding-block-start:1mm}.slip-roll>p:last-child{margin-block-start:2mm}
.pos-58 .slip-roll,.pos-r58 .slip-roll{font-size:8pt}.pos-r58 .slip-roll h1{font-size:10.5pt}
@media (max-width:60rem){.pos{grid-template-columns:1fr}.pos-pay{position:static}}
@media print{main,.app-main,.dash,.wrap.section{padding:0!important;margin:0!important}.pos-paper.pos-r80,.pos-paper.pos-r58{display:block}.slip-roll{box-shadow:none;margin:0;padding:2mm}.pos-paid{max-width:none}}
.report-layout{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:1.5rem;align-items:start;margin-block-start:1rem}
.report-menu{display:grid;gap:1rem;padding:1rem;border:1px solid var(--rule);border-radius:16px;background:var(--surface)}
.report-group{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .35rem;padding-inline:.6rem}
.report-menu ul{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
.report-menu a{display:block;padding:.4rem .6rem;border-radius:8px;text-decoration:none;color:inherit;font-size:.92rem}
.report-menu a:hover{background:var(--emerald-tint,#E6F4EF)}
.report-menu a[aria-current]{background:var(--emerald);color:#fff;font-weight:600}
.report-menu a[aria-current]:hover{background:var(--emerald);color:#fff}
.report-body{min-width:0}.report-body .dash-head h2{margin:0}.report-span{font-size:.85rem;font-weight:400;margin-inline-start:.4rem}
.report-table{font-size:.875rem}.report-table th,.report-table td{padding:.5rem .7rem;white-space:nowrap}.report-table td.num,.report-table th.num{text-align:end;font-variant-numeric:tabular-nums}
.report-table tfoot th,.report-table tfoot td{font-weight:700;border-block-start:2px solid var(--ink,#111);background:#F3F8F6}
.report-dates{margin-block-end:.75rem}.chip.chip-on,.chip.chip-on:hover{background:var(--emerald);color:#fff;border-color:var(--emerald)}
@media (max-width:56rem){.report-layout{grid-template-columns:1fr;gap:1rem}.report-menu{display:flex;gap:.25rem;overflow-x:auto;padding:.5rem;scrollbar-width:thin}.report-menu section{display:flex;align-items:center;flex:none}.report-menu ul{display:flex;gap:.1rem}.report-menu a{white-space:nowrap}.report-group{margin:0;padding-inline:.6rem .2rem}}
.imp-files{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .6rem}
.imp-sum{display:flex;flex-wrap:wrap;gap:.5rem;margin:.2rem 0 .8rem}
.imp-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:0 0 1rem}
.imp-table td{vertical-align:top}
.imp-bad{background:#fff6f6}
.imp-problems{margin:0;padding-inline-start:1.1rem;color:#8a1f33;font-size:.9rem}
.cat-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem}
.cat-add{margin:0 0 1rem}.cat-add>summary{cursor:pointer;font-weight:700}
.cat-tree{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.cat-row{border:1px solid var(--rule);border-radius:12px;background:#fff;padding:.55rem .8rem}
.cat-child{margin-inline-start:2rem;position:relative}
.cat-child::before{content:"";position:absolute;inset-inline-start:-1.1rem;top:-.4rem;width:.8rem;height:1.6rem;border-inline-start:1.5px solid var(--rule);border-block-end:1.5px solid var(--rule);border-end-start-radius:6px}
.cat-line{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .7rem}
.cat-name{font-size:1rem}
.cat-langs{display:inline-flex;gap:.2rem}
.cat-lang{font-size:.6875rem;font-weight:700;padding:.05rem .35rem;border-radius:5px;border:1px solid var(--rule);color:var(--muted);opacity:.45}
.cat-lang-on{opacity:1;background:#f1faf7;border-color:var(--emerald);color:var(--emerald)}
.cat-count{font-size:.875rem}
.cat-steps{display:inline-flex;gap:.2rem;margin-inline-start:auto}
.cat-step{display:inline}
.icon-button{display:grid;place-items:center;width:2.1rem;height:2.1rem;border:1px solid var(--rule);border-radius:8px;background:#fff;color:var(--emerald);cursor:pointer}
.icon-button:hover:not(:disabled){border-color:var(--emerald);background:#f1faf7}
.icon-button:disabled{opacity:.3;cursor:default}
.cat-edit{margin-top:.3rem}.cat-edit>summary{cursor:pointer;font-weight:600;color:var(--emerald);font-size:.9rem;width:max-content}
.cat-form{margin-top:.6rem}
.cat-danger{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;align-items:flex-end;margin-top:.8rem;padding-top:.8rem;border-top:1px dashed var(--rule)}
@media (min-width:60rem){
  .shop{grid-template-columns:16.5rem minmax(0,1fr);align-items:start}
  /* On a wide screen the bar starts open; the Filters button closes it and the titles take the full width. */
  .side-body{display:grid;margin-top:.6rem}
  .side-toggle:checked~.side-body{display:none}
  .side-open .side-chev{transform:rotate(180deg)}
  .side-toggle:checked+.side-open .side-chev{transform:none}
  .shop:has(.side-toggle:checked){grid-template-columns:minmax(0,1fr)}
}
.more{margin-block-start:2rem}

/* ---- Dashboards: the app shell and a cleaner, calmer look ---- */
.app{max-width:88rem;display:grid;gap:1.25rem;align-items:start}
.app-main{min-width:0}
.app-nav{min-width:0}
.app-nav-title{margin:0 0 .5rem;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.app-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-block-end:.2rem}
.app-nav ul::-webkit-scrollbar{display:none}
.app-nav a{display:flex;align-items:center;gap:.55rem;padding:.5rem .8rem;border-radius:12px;border:1px solid var(--rule);background:#fff;color:var(--ink);text-decoration:none;font-weight:600;font-size:.9rem;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,transform .15s}
.app-ico{display:grid;place-items:center;flex:none;width:1.9rem;height:1.9rem;border-radius:9px;background:#eef7f4;color:var(--emerald);transition:background .15s,color .15s}
.app-nav a:hover{border-color:var(--emerald);color:var(--emerald)}
.app-nav a[aria-current]{background:linear-gradient(135deg,var(--emerald),#0b6b5e);border-color:transparent;color:#fff;box-shadow:0 6px 18px rgba(11,122,107,.28)}
.app-nav a[aria-current] .app-ico{background:rgba(255,255,255,.18);color:#fff}
@media (min-width:64rem){
  .app{grid-template-columns:15.5rem minmax(0,1fr);gap:2rem}
  .app-nav{position:sticky;top:1rem;padding:1rem .8rem;border:1px solid var(--rule);border-radius:20px;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(15,40,35,.06)}
  .app-nav-title{padding-inline:.6rem}
  .app-nav ul{display:grid;gap:.15rem;overflow:visible;padding:0}
  .app-nav a{border-color:transparent;background:none;white-space:normal;padding:.5rem .6rem}
  .app-nav a:hover{background:#f1faf7;border-color:transparent;transform:translateX(2px)}
  [dir=rtl] .app-nav a:hover{transform:translateX(-2px)}
}
/* The page you are on keeps its look under the pointer (white words must never land on a pale background). */
.app-nav a[aria-current],.app-nav a[aria-current]:hover,.app-nav a[aria-current]:focus-visible{background:linear-gradient(135deg,var(--emerald),#0b6b5e);border-color:transparent;color:#fff;transform:none}
.app-nav a[aria-current]:hover .app-ico{background:rgba(255,255,255,.18);color:#fff}
.reader-bar [aria-pressed=true]:hover,.reader-bar [aria-pressed=true]:focus-visible{background:var(--emerald-deep);border-color:var(--emerald-deep);color:#fff}
.app-main .dash-head{border-block-end:0;padding-block-end:0;margin-block-end:1.4rem;align-items:center}
.app-main .page-title{letter-spacing:-.02em}
.app-main .pub-name{display:inline-block;margin:0 0 .5rem;padding:.2rem .7rem;border-radius:999px;background:#eef7f4;color:var(--emerald);font-weight:700;font-size:.8125rem}
.app-main .stat{position:relative;overflow:hidden;border-radius:18px;border-color:transparent;box-shadow:0 1px 2px rgba(15,40,35,.05),0 8px 24px rgba(15,40,35,.05);transition:transform .18s,box-shadow .18s}
.app-main .stat::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--emerald),#7fd1c2);opacity:.85}
.app-main .stat-warn::before{background:linear-gradient(#e0a930,#f3d27a)}
.app-main .stat-accent{background:linear-gradient(135deg,var(--emerald),#0b6b5e)}
.app-main .stat-accent::before{display:none}
.app-main .stat-links a.stat:hover,.app-main .stat-links a.stat:focus-visible{transform:translateY(-3px);box-shadow:0 2px 4px rgba(15,40,35,.06),0 16px 34px rgba(15,40,35,.1);border-color:transparent}
.app-main .stat-v,.app-main .stat dd{font-size:1.6rem;letter-spacing:-.02em}
.app-main .stat-tiles{grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr));gap:.9rem}
@media (max-width:40rem){.app-main .stat-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.app-main .stat-v,.app-main .stat dd{font-size:1.3rem}.app-main .stat{padding:.75rem .8rem}}
.app-main .table-wrap{border:1px solid var(--rule);border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(15,40,35,.04),0 8px 24px rgba(15,40,35,.04);overflow:auto}
.app-main .table{margin:0;border:0}
.app-main .table thead th{position:sticky;top:0;background:#f6faf9;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-block-end:1px solid var(--rule)}
.app-main .table tbody tr{transition:background .12s}
.app-main .table tbody tr:hover{background:#f6fbfa}
.app-main .panel,.app-main .bulk-bar,.app-main fieldset,.app-main .media-panel,.app-main .cat-row{border-radius:16px;box-shadow:0 1px 2px rgba(15,40,35,.04),0 8px 24px rgba(15,40,35,.04)}
.app-main .bulk-bar{border-color:transparent}
.app-main .notice,.app-main .alert{border-radius:14px}
.app-main .dash-section>h2,.app-main h2{letter-spacing:-.01em}
.app-main .badge{border-radius:999px;font-weight:700}
.account-tiles a,.dash-link{border-radius:16px;transition:transform .18s,box-shadow .18s}
.account-tiles a:hover,.dash-link:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,40,35,.1)}
@media (prefers-reduced-motion:no-preference){
  .app-main>*{animation:app-in .35s ease both}
  .app-main>*:nth-child(2){animation-delay:.04s}.app-main>*:nth-child(3){animation-delay:.08s}.app-main>*:nth-child(n+4){animation-delay:.12s}
  @keyframes app-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){.app-nav a,.app-main .stat,.account-tiles a,.dash-link{transition:none}.app-nav a:hover,.app-main .stat-links a.stat:hover{transform:none}}

/* Book page */
.crumbs{margin-block-end:1.5rem;font-size:var(--step--1)}
.book{display:grid;gap:2rem;grid-template-columns:minmax(0,1fr)}
.book>*{min-width:0}
@media (min-width:48rem){.book{grid-template-columns:minmax(14rem,20rem) 1fr;gap:3rem}}
.book-title{font-size:var(--step-4);font-weight:700}
.book-subtitle{font-size:var(--step-1);color:var(--muted);margin:.5rem 0 0}
.book-author{font-size:var(--step-1);margin:.75rem 0 0}
.buy{margin-block:1.5rem;padding:1.25rem;background:var(--surface);border:1px solid var(--rule);border-radius:8px;max-width:24rem}
.buy .price{margin:0 0 .25rem}
.stock{margin:0 0 1rem;font-size:var(--step--1);font-weight:600}
.stock-yes{color:var(--emerald)} .stock-no{color:var(--muted)}
.ships{margin:.75rem 0 0;font-size:var(--step--1);color:var(--muted)}
.book-description{max-width:38rem}
.book-description p{margin:0 0 1rem}
.details-heading{font-size:var(--step-1);margin-block:2rem .75rem}
.details{margin:0;display:grid;max-width:38rem}
.details div{display:grid;grid-template-columns:minmax(7rem,12rem) 1fr;gap:1rem;padding-block:.6rem;border-block-end:1px solid var(--rule)}
.details dt{color:var(--muted)}
.details dd{margin:0;overflow-wrap:anywhere}

/* Publishers */
.pubs{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.pubs a{display:inline-block;padding:.5rem .9rem;border:1px solid var(--rule);border-radius:999px;background:var(--surface);text-decoration:none;color:var(--ink)}
.pubs a:hover{border-color:var(--emerald);color:var(--emerald)}

/* Empty and error states */
.empty{max-width:32rem;padding-block:2rem}
.empty-star{width:2.5rem;height:2.5rem;fill:none;stroke:var(--gold);stroke-width:1.2;margin-block-end:1rem}
.empty h2{font-size:var(--step-2);margin-block-end:.5rem}
.empty p{color:var(--muted);margin:0 0 1.25rem}

/* Footer */
.site-footer{border-block-start:1px solid var(--rule);background:var(--surface);margin-block-start:3rem}
.footer-row{display:flex;flex-wrap:wrap;gap:.5rem 2rem;align-items:center;padding-block:1.5rem;color:var(--muted);font-size:var(--step--1)}
.footer-row p{margin:0}
.footer-links{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;flex-basis:100%}
.footer-company{flex-basis:100%;font-size:.8rem}
.legal{max-width:48rem}
.sell{max-width:48rem}
.sell-commit{background:var(--surface);border:1px solid var(--rule);border-inline-start:4px solid var(--emerald);border-radius:8px;padding:1rem 1.25rem;margin-block:1.5rem}
.sell-commit h2{font-size:var(--step-1);display:flex;gap:.5rem;align-items:center}
.sell-commit .hero-star{width:1.1rem;height:1.1rem}
.sell-commit p{margin:.5rem 0 0}
.sell-points li{margin-block:.4rem}
.check-row{display:flex;gap:.6rem;align-items:flex-start;margin-block:1rem}
.check-row input{margin-top:.35rem;flex:none;width:1.1rem;height:1.1rem}
.applications{list-style:none;padding:0;display:grid;gap:1rem}
.application{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:1rem}
.application p{margin:.25rem 0}
.application-about{white-space:pre-line}
.pub-list .inline-form{margin-top:.5rem}
.pub-more{margin-top:.4rem;font-size:var(--step--1)}
.pub-more summary{cursor:pointer;color:var(--muted)}
.legal h1{font-size:var(--step-3);margin-block-end:.25rem}
.legal-en{color:var(--muted);margin:0 0 .5rem}
.legal-note{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:.75rem 1rem;color:var(--muted);font-size:var(--step--1)}
.legal-body h2{font-size:var(--step-1);margin-block:1.75rem .5rem}
.legal-body ul{padding-inline-start:1.25rem}
.legal-body li{margin-block:.35rem}
.legal-date{color:var(--muted);font-size:var(--step--1);margin-block-start:2rem}
.footer-brand{display:inline-flex;align-items:center;gap:.4rem;color:var(--ink);font-weight:700}
.footer-row .brand-star{width:1rem;height:1rem}
/* Account link */
.account-link{font-size:var(--step--1);font-weight:600;text-decoration:none;color:var(--emerald);padding:.35rem .75rem;border:1px solid var(--rule);border-radius:6px}
.account-link:hover{border-color:var(--emerald)}

/* Dashboards */
.dash h2{font-size:var(--step-1);margin-block:2rem .75rem}
.dash-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-block-end:1.25rem}
.dash-head .page-title{margin:0}
.dash-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.dash-section{margin-block-start:2.5rem}
.pub-name{color:var(--muted);margin:0 0 .25rem}
.muted{color:var(--muted)}
.lead{font-size:var(--step-1);max-width:38rem}
.crumbs{margin:0 0 1rem}
.notice{background:#E4F1EC;border:1px solid #B9D8CC;color:var(--emerald-deep);padding:.75rem 1rem;border-radius:6px;max-width:44rem}
.alert{background:#F7E7EA;border:1px solid #E3BFC7;color:#6E1E3A;padding:.75rem 1rem;border-radius:6px;max-width:44rem}
.alert-soft{background:#FBF4E4;border-color:#E9D6A8;color:#5E4813}
.help-block{color:var(--muted);max-width:44rem}
.status-line{margin:0 0 1rem}
.badge{display:inline-block;font-size:var(--step--1);font-weight:600;padding:.1rem .6rem;border-radius:999px;border:1px solid var(--rule);background:var(--surface);color:var(--muted);white-space:nowrap}
.badge-approved{background:#E4F1EC;border-color:#B9D8CC;color:var(--emerald-deep)}
.badge-submitted,.badge-in_review{background:#FBF4E4;border-color:#E9D6A8;color:#5E4813}
.badge-rejected,.badge-suspended{background:#F7E7EA;border-color:#E3BFC7;color:#6E1E3A}
.badge-withdrawn{background:#EEEDE8;border-color:#D6D3C8;color:#5B5A52}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.books-table td.row-actions{white-space:nowrap;text-align:end}
.row-actions-inner{display:inline-flex;align-items:center;gap:.9rem}
.row-pop{position:relative;display:inline-block}
.row-pop>summary{list-style:none;cursor:pointer}
.row-pop>summary::-webkit-details-marker{display:none}
.row-more>summary{font-size:1.15rem;line-height:1;padding:0 .2rem;text-decoration:none}
.row-pop[open]>summary{color:var(--emerald)}
.row-pop>.quick-form,.row-pop>.pop-menu{position:absolute;inset-inline-end:0;top:calc(100% + .4rem);z-index:20;background:var(--surface);border:1px solid var(--rule);border-radius:6px;box-shadow:0 12px 30px -12px rgba(24,35,31,.35);padding:.85rem;text-align:start;white-space:normal}
.quick-form{width:17rem;display:grid;gap:.6rem}
.quick-row{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.quick-row legend{font-weight:600;font-size:var(--step--1);margin-block-end:.25rem;padding:0}
.quick-row legend small{font-weight:400;color:var(--muted)}
.quick-row label{display:grid;gap:.2rem;font-size:var(--step--1);color:var(--muted)}
.quick-row input{width:100%;min-width:0;padding:.35rem .5rem;font:inherit;border:1px solid var(--rule);border-radius:4px;background:var(--paper)}
.pop-menu{min-width:12rem;display:grid;gap:.6rem;white-space:nowrap}
.table-wrap.books-wrap{overflow:visible}
.table.books-table{min-width:0;table-layout:auto}
.table.books-table td{vertical-align:middle}
.bt-book{display:flex;align-items:center;gap:.85rem;min-width:14rem}
.bt-cover{flex:none;width:2.5rem;height:3.75rem;object-fit:cover;border-radius:4px;background:var(--rule);box-shadow:0 1px 2px rgba(16,32,27,.12)}
.bt-cover-none{display:block;background:linear-gradient(160deg,#14A898,#00564C)}
.bt-cover-wrap{position:relative;flex:none;display:block;line-height:0}
.bt-need .bt-cover{outline:2.5px solid #D92D20;outline-offset:1px}
.bt-need-mark{position:absolute;top:-.45rem;inset-inline-end:-.45rem;display:grid;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 .15rem;border-radius:999px;background:#D92D20;color:#fff;font-size:.6875rem;font-weight:800;line-height:1;box-shadow:0 0 0 2px #fff}
.bt-need-label{display:block;width:fit-content;margin-block-end:.2rem;padding:.1rem .5rem;border-radius:6px;background:#D92D20;color:#fff;font-size:.75rem;font-weight:800;line-height:1.5;letter-spacing:.01em}
.bt-need-what{display:block;color:#B42318;font-size:.8125rem;font-weight:600}
.need-alert{background:#FEF3F2;border:1.5px solid #F04438;color:#7A271A}
.need-alert strong{display:inline-block;margin-inline-end:.4rem;padding:.05rem .5rem;border-radius:6px;background:#D92D20;color:#fff;font-weight:800}
.need-alert a{font-weight:700;color:#B42318}
.bt-text{display:grid;gap:.15rem;min-width:0}
.bt-text a{font-weight:700;text-decoration:none;color:var(--ink);line-height:1.35}
.bt-text a:hover{color:var(--emerald-deep);text-decoration:underline}
.bt-meta{font-size:.8125rem;color:var(--muted)}
.books-table .bt-price,.books-table .bt-stock{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}
.books-table .bt-status{white-space:nowrap}
.books-table td.row-actions{width:1%}
.row-actions-inner{gap:.4rem}
.row-actions-inner>a.link-button,.row-pop>summary.link-button{display:inline-flex;align-items:center;min-height:2rem;padding:.2rem .75rem;border:1px solid var(--rule-strong);border-radius:999px;text-decoration:none;font-weight:600;font-size:.8125rem;color:var(--emerald-deep);background:#fff}
.row-actions-inner>a.link-button:hover,.row-pop>summary.link-button:hover,.row-pop[open]>summary.link-button{background:var(--emerald-tint);border-color:var(--mint)}
.row-more>summary.link-button{padding:.2rem .6rem;font-size:1rem;letter-spacing:.05em}
@media (max-width:60rem){
  .table.books-table thead{display:none}
  .table.books-table,.table.books-table tbody{display:block}
  .table.books-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1rem;row-gap:.45rem;padding:.9rem 1rem;border-block-end:1px solid var(--rule)}
  .table.books-table tr:last-child{border-block-end:0}
  .table.books-table td{display:block;padding:0;border:0;text-align:start;grid-column:1}
  .table.books-table tr{position:relative}
  .table.books-table td.bt-pick{position:absolute;inset-inline-end:1rem;top:.9rem;width:auto}
  .table.books-table td.bt-title{grid-column:1/-1;padding-inline-end:2.25rem}
  .table.books-table td.bt-status{grid-column:1/-1}
  .table.books-table td.bt-price,.table.books-table td.bt-stock{display:inline;font-size:.875rem}
  .table.books-table td.bt-price::before,.table.books-table td.bt-stock::before{content:attr(data-label) " · ";color:var(--muted);font-weight:400}
  .table.books-table td.bt-stock{grid-column:2;grid-row:3;justify-self:end}
  .table.books-table td.bt-price{grid-row:3}
  .table.books-table td.row-actions{grid-column:1/-1;width:auto;white-space:normal}
  .bt-book{min-width:0}
  .row-pop>.quick-form,.row-more>.pop-menu{inset-inline-end:auto;inset-inline-start:0}
}
.pop-menu .link-button,.pop-menu a{text-align:start}
.inline-form{margin:0;display:inline}
.books-table .row-actions .link-button{color:var(--emerald)}
.books-table .row-actions .link-danger,.link-danger{color:#6E1E3A}
.confirm-card{max-width:34rem;padding:1.25rem;background:var(--surface);border:1px solid var(--rule);border-radius:8px}
.confirm-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-block-start:1rem}
.button-danger{background:#6E1E3A;border-color:#6E1E3A;color:#fff}
.button-danger:hover{background:#561630}
.table-wrap{overflow-x:auto;border:1px solid var(--rule);border-radius:8px;background:var(--surface)}
.table{width:100%;border-collapse:collapse;min-width:36rem}
.table th,.table td{padding:.7rem 1rem;text-align:start;border-block-end:1px solid var(--rule);vertical-align:top}
.table th{font-size:var(--step--1);color:var(--muted);font-weight:600}
.table tr:last-child td{border-block-end:0}
.table .num{text-align:end}
.dash-links,.addresses,.pub-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;max-width:44rem}
.dash-link{display:flex;flex-direction:column;gap:.15rem;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--rule);border-radius:8px;text-decoration:none;color:var(--ink)}
.dash-link:hover{border-color:var(--emerald)}
.dash-link span{color:var(--muted)}
.address{padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--rule);border-radius:8px}
.address p{margin:0 0 .35rem}
.pub-list li{padding:.6rem 1rem;background:var(--surface);border:1px solid var(--rule);border-radius:8px;display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:center}
.review-note{border-inline-start:4px solid #6E1E3A;background:var(--surface);padding:.75rem 1rem;margin-block-end:1.5rem;max-width:44rem}
.review-note h2{font-size:var(--step-0);margin:0 0 .25rem}
.review-note p{margin:0;white-space:pre-line}

/* Formats and media */
.format-block{border:1px solid var(--rule);border-radius:8px;padding:1rem;display:grid;gap:.75rem;background:var(--paper)}
.format-on{background:var(--surface);border-color:#B9D8CC}
.format-check{font-size:var(--step-0)}
.media-panel{padding:1.25rem;background:var(--surface);border:1px solid var(--rule);border-radius:8px;margin-block-end:1.5rem;max-width:56rem;min-width:0;overflow-wrap:anywhere}
.media-panel h2{margin:0 0 .75rem;font-size:var(--step-1)}
.media-panel h3{font-size:var(--step-0);margin:1.25rem 0 .5rem}
.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr));gap:1.5rem}
.media-slot{display:grid;grid-template-columns:7rem minmax(0,1fr);grid-template-areas:"h h" "pic form" "pic rm";column-gap:1rem;align-items:start;min-width:0}
.media-slot>h3{grid-area:h;margin-top:0}
.media-slot>.cover,.media-slot>.media-thumb,.media-slot>.media-empty,.media-slot>.pub-mark,.media-slot>.pub-banner-thumb{grid-area:pic}
.media-slot>.upload-form{grid-area:form;margin-block-start:0}
.media-slot>.inline-remove{grid-area:rm;margin-block-start:.5rem}
.media-slot .cover-thumb{width:7rem;max-width:7rem}
.media-thumb{display:block;width:7rem;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:3px 6px 6px 3px;border:1px solid var(--rule);background:var(--paper)}
.media-empty{width:7rem;aspect-ratio:2/3;border:1px dashed var(--rule);border-radius:6px;display:flex;align-items:center;justify-content:center;text-align:center;padding:.5rem;font-size:.75rem;color:var(--muted)}
.media-gallery{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-wrap:wrap;gap:.75rem}
.media-gallery li{display:grid;gap:.25rem;justify-items:start}
.drop-form{display:grid;gap:.6rem;justify-items:start;margin:0 0 1.25rem}
.drop-zone{display:grid;gap:.35rem;width:100%;padding:1.4rem 1.2rem;border:2px dashed var(--emerald);border-radius:14px;background:#f1faf7;text-align:center;cursor:pointer}
.drop-zone strong{font-size:1.15rem;color:var(--emerald)}
.drop-zone span{color:var(--muted);font-size:var(--step--1)}
.drop-zone input[type=file]{width:100%;min-height:4.5rem;margin-top:.4rem;padding:1.2rem .8rem;font:inherit;font-size:var(--step--1);color:var(--ink);border:1px solid var(--rule);border-radius:10px;background:#fff;cursor:pointer}
.drop-zone input[type=file]::file-selector-button{font:inherit;font-weight:600;margin-inline-end:.7rem;padding:.4rem .9rem;border-radius:6px;border:1px solid var(--rule);background:var(--surface);color:var(--ink)}
.drop-zone:hover,.drop-zone:focus-within{background:#e6f5f0}
.drop-form .help{margin:0}
.swap-form{margin:.75rem 0 0}.swap-form button{display:inline-flex;gap:.4rem;align-items:center}
.upload-form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-block-start:.5rem;min-width:0;max-width:34rem}
.upload-form .help{flex-basis:100%;margin:0}
.upload-form input[type=file]{flex:1 1 12rem;min-width:0;max-width:100%;font:inherit;font-size:var(--step--1);color:var(--muted);padding:.35rem;border:1px dashed var(--rule);border-radius:6px;background:var(--paper)}
.upload-form input[type=file]::file-selector-button{font:inherit;font-weight:600;font-size:var(--step--1);margin-inline-end:.6rem;padding:.35rem .8rem;border-radius:5px;border:1px solid var(--rule);background:var(--surface);color:var(--ink);cursor:pointer}
.upload-form input[type=file]::file-selector-button:hover{border-color:var(--emerald);color:var(--emerald)}
.upload-form .button-small{flex:none}
.button-small{min-height:2.25rem;padding:.35rem .9rem;font-size:var(--step--1)}
.inline-remove{margin:0}
.link-button{background:none;border:0;padding:0;font:inherit;font-size:var(--step--1);color:#6E1E3A;text-decoration:underline;cursor:pointer}
.thumbs{display:flex;flex-wrap:wrap;gap:.5rem;margin-block-start:.75rem;max-width:20rem}
.thumbs .media-thumb{width:4.5rem}
.format-list{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.75rem}
.format-row{padding-block-end:.75rem;border-block-end:1px solid var(--rule)}
.format-row:last-child{border-block-end:0;padding-block-end:0}
.format-row-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem}
.format-name{font-weight:600}
.format-row .price{margin:0}
.format-row .stock{margin:.15rem 0 0}
.sample-link{margin:.75rem 0 0}
.cat-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem;max-width:56rem}
.cat-item{padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--rule);border-radius:8px;display:grid;gap:1rem}
.cat-title{margin:0;display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:baseline}

/* Cover upload */
.cover-panel{display:grid;grid-template-columns:7rem 1fr;gap:1.25rem;align-items:start;padding:1.25rem;background:var(--surface);border:1px solid var(--rule);border-radius:8px;margin-block-end:1.5rem;max-width:56rem}
.cover-panel h2{margin:0 0 .5rem;font-size:var(--step-1)}
.cover-thumb{max-width:7rem}
.cover-thumb .cover-title{font-size:.7rem;-webkit-line-clamp:4}
.cover-thumb .cover-author{display:none}
.cover-thumb .cover-star{width:1.25rem;height:1.25rem}
input[type=file]{font:inherit;max-width:100%}

/* Forms */
.auth-card{max-width:26rem}
.auth-switch{margin-block-start:1.25rem;color:var(--muted)}
.stack{display:grid;gap:1rem}
.book-form{display:grid;gap:1.5rem;max-width:56rem}
.book-form fieldset{border:1px solid var(--rule);border-radius:8px;padding:1.25rem;margin:0;background:var(--surface);display:grid;gap:1rem}
.book-form legend{font-weight:700;padding-inline:.4rem}
.fieldset-error{border-color:#C98A98!important}
.grid-2,.grid-3,.grid-4{display:grid;gap:1rem;grid-template-columns:1fr}
@media (min-width:40rem){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:60rem){.grid-4{grid-template-columns:2fr 1fr 1fr 1fr}}
.dash .field,.auth-card .field,.book-form .field{flex:none}
.field label .req{color:#6E1E3A}
input[type=text],input[type=email],input[type=password],input[type=tel],textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:6px;padding:.6rem .75rem;width:100%;min-height:2.75rem}
input:focus,textarea:focus{border-color:var(--emerald)}
textarea{resize:vertical;min-height:7rem}
.help{font-size:var(--step--1);color:var(--muted);margin:0}
.error-text{font-size:var(--step--1);color:#6E1E3A;font-weight:600;margin:0}
.field-error input,.field-error select{border-color:#C98A98}
.form-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.check{display:flex;gap:.5rem;align-items:center}
.check input{width:1.1rem;height:1.1rem}
.panel{margin-block-start:1.25rem;max-width:56rem}
.panel summary{cursor:pointer;font-weight:600;color:var(--emerald);padding-block:.5rem}
.panel[open] summary{margin-block-end:1rem}
.inline-form{display:grid;gap:1rem;max-width:44rem}
.cart-lines{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.cart-line{display:grid;grid-template-columns:4.5rem 1fr auto;gap:1rem;align-items:start;padding:.75rem 0;border-block-end:1px solid var(--rule)}
.cart-line:last-child{border-block-end:0}
.cart-line .cart-info:first-child{grid-column:1/3}
.cart-cover .cover{width:4.5rem;height:auto;aspect-ratio:2/3;font-size:.55rem}
.cart-cover .cover-made{padding:.4rem}
.cart-title{font-weight:600;color:var(--ink);text-decoration:none}
.cart-title:hover{color:var(--emerald)}
.cart-info p{margin:.2rem 0}
.cart-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-block-start:.5rem}
.cart-form{display:flex;gap:.5rem;align-items:center}
.cart-form select{min-width:4rem}
.cart-amount{margin:0;font-weight:600;white-space:nowrap}
.parcel{margin-block:1.25rem;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--rule);border-radius:8px;max-width:48rem}
.parcel-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;font-size:var(--step-0);margin:0 0 .5rem}
.parcel-sum,.order-sum{display:grid;gap:.35rem;margin:.75rem 0 0;max-width:48rem}
.parcel-sum div,.order-sum div{display:flex;justify-content:space-between;gap:1rem}
.parcel-sum dt,.order-sum dt{color:var(--muted)}
.parcel-sum dd,.order-sum dd{margin:0;font-weight:600}
.order-sum{margin-block:1.25rem}
.order-total{border-block-start:1px solid var(--rule);padding-block-start:.5rem;font-size:var(--step-1)}
.order-total dt{color:var(--ink)!important}
.address-list{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.75rem;max-width:48rem}
.address-chosen{border-color:var(--emerald);box-shadow:0 0 0 1px var(--emerald)}
.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.4rem}
fieldset.panel{border:1px solid var(--rule);border-radius:8px;padding:1rem 1.25rem}
fieldset.panel legend{font-weight:600;padding-inline:.25rem}
@media (max-width:30rem){.cart-line{grid-template-columns:3.5rem 1fr}.cart-amount{grid-column:2}.cart-cover .cover{width:3.5rem}}
@media (min-width:48rem){.inline-form{grid-template-columns:2fr 2fr auto;align-items:end}}
/* ---------- Qirthas house style: malachite, gilt and pearl ---------- */
body{background:var(--paper)}
h1,h2,.page-title,.book-title,.brand,.hero-words,.lang-tile-native{font-family:var(--display);font-weight:400;letter-spacing:.01em}
h1:lang(ar),h2:lang(ar),.page-title:lang(ar),.book-title:lang(ar){font-family:'Noto Naskh Arabic',serif;font-weight:700;letter-spacing:0}
h1:lang(ta),h1:lang(ml),h2:lang(ta),h2:lang(ml),.page-title:lang(ta),.page-title:lang(ml),.book-title:lang(ta),.book-title:lang(ml){font-weight:600;letter-spacing:0}
a{color:var(--emerald);text-underline-offset:.18em;text-decoration-thickness:1px}
:focus-visible{outline:2px solid var(--gilt);outline-offset:3px}

/* Utility strip */
.utility{background:var(--malachite);color:var(--gilt-pale);font-size:.8125rem}
.utility-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2.25rem}
.utility .langs{margin:0;gap:.1rem}
.utility .langs a{color:rgba(243,239,227,.72);border-radius:0;padding:.35rem .6rem}
.utility .langs a:hover{color:var(--ivory)}
.utility .langs a[aria-current]{background:transparent;color:var(--gilt-pale);font-weight:600;box-shadow:inset 0 -1px 0 var(--gilt)}
.utility-note{margin:0;opacity:.8;display:none}
@media (min-width:48rem){.utility-note{display:block}}

/* Header */
.site-header{background:var(--surface);border-block-end:1px solid var(--rule);box-shadow:0 1px 0 rgba(195,161,95,.35)}
.header-row{padding-block:1rem;gap:1rem 2rem}
.brand{font-size:1.75rem;color:var(--malachite);gap:.6rem}
.brand:lang(ar){font-family:'Noto Naskh Arabic',serif;font-weight:700}
.brand-star{width:1.5rem;height:1.5rem;fill:var(--gilt)}
.header-search{max-width:none}
@media (min-width:48rem){.header-search{max-width:30rem;flex:1 1 20rem}}
.header-search input{border-radius:0;border-color:var(--rule);background:var(--paper)}
.header-search input:focus{border-color:var(--gilt);background:var(--surface)}
.header-actions{display:flex;gap:1.25rem;margin-inline-start:auto}
.account-link{border:0;border-radius:0;padding:.35rem 0;color:var(--ink);font-weight:500;font-size:.9375rem;box-shadow:inset 0 -1px 0 transparent}
.account-link:hover{color:var(--emerald);box-shadow:inset 0 -1px 0 var(--gilt)}

/* Buttons and inputs */
.button{border-radius:2px;background:var(--malachite);border-color:var(--malachite);font-weight:600;letter-spacing:.01em;padding-inline:1.5rem}
.button:hover{background:var(--malachite-2);border-color:var(--malachite-2)}
.button-quiet{background:transparent;color:var(--malachite);border-color:var(--gilt)}
.button-quiet:hover{background:rgba(195,161,95,.1);color:var(--malachite)}
input[type=search],select,input[type=text],input[type=email],input[type=password],input[type=tel],textarea{border-radius:2px}
input:focus,textarea:focus,select:focus{border-color:var(--gilt);outline:none;box-shadow:0 0 0 3px rgba(195,161,95,.22)}

/* Hero: a tooled-leather cover */
.hero{position:relative;background:var(--malachite);color:var(--ivory);border:0;padding-block:2.5rem;overflow:hidden;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56' viewBox='0 0 56 56'%3E%3Cg fill='none' stroke='%23C3A15F' stroke-width='.6' opacity='.22'%3E%3Crect x='16' y='16' width='24' height='24'/%3E%3Crect x='16' y='16' width='24' height='24' transform='rotate(45 28 28)'/%3E%3Cpath d='M0 28h11M45 28h11M28 0v11M28 45v11'/%3E%3C/g%3E%3C/svg%3E");
  background-size:56px 56px}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,rgba(14,51,44,.2) 0%,rgba(14,51,44,.92) 70%);pointer-events:none}
.hero-frame{position:relative;z-index:1;text-align:center;padding-block:3.25rem 3rem;border:1px solid rgba(195,161,95,.7);outline:1px solid rgba(195,161,95,.35);outline-offset:-8px;max-width:calc(var(--wrap) - 2rem)}
@media (min-width:48rem){.hero{padding-block:3.5rem}.hero-frame{padding-block:4.5rem 4rem}}
.hero-words{justify-content:center;color:var(--gilt-pale);font-size:clamp(2.1rem,6.5vw,4.25rem);gap:.25rem 1.1rem;line-height:1.25}
.hero-words,.hero-words:lang(ar),.hero-words:lang(ta),.hero-words:lang(ml){font-family:var(--display);font-weight:400;letter-spacing:.01em}
.hero-words span:lang(en){font-family:var(--sans)}
.hero-words span:lang(ta),.hero-words span:lang(ml){font-weight:500}
.hero-words :lang(ar){font-family:'Noto Naskh Arabic',serif;font-weight:700;font-size:1.15em}
.hero-words :lang(ta),.hero-words :lang(ml){font-size:.86em}
.hero-star{fill:var(--gilt);width:.32em;height:.32em}
.hero-tagline{color:rgba(243,239,227,.86);margin-inline:auto;font-size:1.1875rem;max-width:34rem;margin-block:1.25rem 2rem}
.hero-search{margin-inline:auto;max-width:34rem;gap:0}
.hero-search input{border-radius:0;border:1px solid var(--gilt);background:rgba(255,255,255,.96);min-height:3.25rem;padding-inline:1rem}
.hero-search .button{border-radius:0;background:var(--gilt);border-color:var(--gilt);color:var(--malachite);min-height:3.25rem}
.hero-search .button:hover{background:var(--gilt-pale);border-color:var(--gilt-pale)}

/* Section headings: title then a gilt rule to the edge */
.section{padding-block:3.5rem 1rem}
.section>h2{display:flex;align-items:center;gap:1rem;font-size:clamp(1.5rem,3vw,2rem);color:var(--malachite);margin-block-end:1.75rem}
.section>h2::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--gilt),rgba(195,161,95,0))}
:dir(rtl) .section>h2::after{background:linear-gradient(270deg,var(--gilt),rgba(195,161,95,0))}

/* Language tiles as cloth book spines with gilt bands */
.lang-tile{border-radius:2px;min-height:9.5rem;padding:1.5rem 1.25rem;justify-content:space-between;box-shadow:inset 0 0 0 1px rgba(195,161,95,.25)}
.lang-tile::before,.lang-tile::after{content:"";position:absolute;inset-inline:0;height:3px;border-block:1px solid rgba(195,161,95,.75);opacity:.9}
.lang-tile::before{top:.75rem}.lang-tile::after{bottom:.75rem}
.lang-tile:hover{filter:none;box-shadow:inset 0 0 0 1px var(--gilt)}
.lang-tile[aria-current]{box-shadow:inset 0 0 0 2px var(--gilt)}
.lang-tile-native{color:var(--gilt-pale);font-size:1.75rem}
.lang-tile-native:lang(ar){font-family:'Noto Naskh Arabic',serif;font-weight:700;font-size:2rem}
.lang-tile-label{color:rgba(243,239,227,.82);opacity:1}

/* Books on the shelf */
.grid{gap:2.5rem 1.5rem}
@media (min-width:60rem){.grid{gap:3rem 2.25rem}}
.cover{border-radius:1px 3px 3px 1px;box-shadow:inset 4px 0 0 rgba(0,0,0,.18),inset 5px 0 0 rgba(255,255,255,.08),0 1px 1px rgba(24,35,31,.12),0 10px 22px -10px rgba(24,35,31,.45)}
:dir(rtl) .cover{border-radius:3px 1px 1px 3px;box-shadow:inset -4px 0 0 rgba(0,0,0,.18),inset -5px 0 0 rgba(255,255,255,.08),0 1px 1px rgba(24,35,31,.12),0 10px 22px -10px rgba(24,35,31,.45)}
.card-link .cover{transition:transform .25s ease,box-shadow .25s ease}
.card-link:hover .cover{transform:translateY(-3px)}
.card-link:hover .card-title{text-decoration:none;color:var(--emerald)}
.cover-made{color:var(--ivory);border:0;outline:1px solid rgba(195,161,95,.55);outline-offset:-7px}
.cover-star{stroke:var(--gilt)}
.card-title{font-size:1.0625rem;margin-block-start:.35rem}
.price-now{font-family:var(--display);font-weight:400;font-size:1.25rem;font-variant-numeric:lining-nums tabular-nums;color:var(--malachite)}
.price-off{color:var(--gold)}

/* Publisher names */
.pubs{gap:.75rem 2rem}
.pubs a{border:0;border-radius:0;background:none;padding:.25rem 0;font-family:var(--display);font-size:1.25rem;color:var(--malachite);box-shadow:inset 0 -1px 0 var(--rule)}
.pubs a:lang(ar){font-family:'Noto Naskh Arabic',serif}
.pubs a:hover{color:var(--emerald);box-shadow:inset 0 -1px 0 var(--gilt)}

/* Panels */
.filters,.buy,.table-wrap,.dash-link,.address,.parcel,.media-panel,.cat-item,.cover-panel,.book-form fieldset,.application,.sell-commit,.legal-note,.pub-list li{border-radius:2px}
.buy{border-color:var(--gilt);box-shadow:inset 0 0 0 4px var(--surface),inset 0 0 0 5px rgba(195,161,95,.35)}
.sell-commit{border-inline-start-color:var(--gilt)}
.book-title{color:var(--malachite);font-size:clamp(2rem,4.5vw,3rem);line-height:1.2}
.details div{border-block-end-color:var(--rule)}

/* Footer: the back cover */
.site-footer{background:var(--malachite);color:rgba(243,239,227,.78);border:0;margin-block-start:5rem;box-shadow:inset 0 1px 0 var(--gilt)}
.footer-row{color:inherit;padding-block:2.5rem 2rem;gap:1rem 2rem}
.site-footer a{color:var(--gilt-pale)}
.site-footer a:hover{color:var(--ivory)}
.footer-brand{color:var(--gilt-pale);font-family:var(--display);font-weight:400;font-size:1.375rem}
.footer-brand:lang(ar){font-family:'Noto Naskh Arabic',serif;font-weight:700}
.footer-links{padding-block-start:1rem;border-block-start:1px solid rgba(195,161,95,.3)}
.footer-company{color:rgba(243,239,227,.6)}

/* Publisher marks and pages */
.pub-mark{display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:50%;object-fit:cover;background:var(--surface);box-shadow:0 0 0 1px var(--gilt),0 0 0 4px var(--surface),0 0 0 5px rgba(195,161,95,.35)}
.pub-mark-sm{width:2.25rem;height:2.25rem;box-shadow:0 0 0 1px var(--gilt)}
.pub-mark-md{width:4.5rem;height:4.5rem}
.pub-mark-lg{width:7.5rem;height:7.5rem}
.pub-mark-made{background:var(--malachite);color:var(--gilt-pale);font-family:var(--display);font-size:1.5rem;letter-spacing:.04em}
.pub-mark-sm.pub-mark-made{font-size:.8rem}
.pub-mark-lg.pub-mark-made{font-size:2.5rem}
.pubs{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:2rem 1.5rem}
.pubs a.pub-tile{display:flex;flex-direction:column;align-items:center;gap:.9rem;text-align:center;box-shadow:none;padding:.5rem;font-size:1.0625rem;line-height:1.35}
.pubs a.pub-tile [dir=auto]{text-align:center}
.pubs a.pub-tile:hover{box-shadow:none;color:var(--emerald)}
.pubs a.pub-tile:hover .pub-mark{box-shadow:0 0 0 1px var(--gilt),0 0 0 4px var(--surface),0 0 0 5px var(--gilt)}
.sold-by{display:flex;align-items:center;gap:.6rem;margin-block-start:1rem;padding-block-start:1rem;border-block-start:1px solid var(--rule);color:var(--ink);text-decoration:none;font-size:var(--step--1)}
.sold-by:hover{color:var(--emerald)}
.pub-hero{position:relative;background:var(--malachite);color:var(--ivory);min-height:12rem;display:flex;align-items:flex-end;overflow:hidden;box-shadow:inset 0 -1px 0 var(--gilt)}
.pub-hero.has-banner{min-height:0}
.pub-hero.has-banner .pub-hero-row{padding-block:.85rem;align-items:center;gap:1rem}
.pub-hero.has-banner .pub-mark-lg{width:4.25rem;height:4.25rem}
.pub-hero.has-banner .pub-hero-name{font-size:clamp(1.3rem,2.6vw,1.9rem)}
.pub-banner{position:relative;overflow:hidden;background:var(--malachite);line-height:0}
/* Wide screens: the banner's own left and right edges, stretched out to the sides, so it runs on seamlessly. */
.pub-banner::before,.pub-banner::after{content:"";position:absolute;top:0;bottom:0;width:50%;background-image:var(--banner);background-repeat:no-repeat;background-size:6000% 100%;filter:blur(6px);transform:scaleY(1.04)}
.pub-banner::before{left:0;background-position:left center}
.pub-banner::after{right:0;background-position:right center}
.pub-banner-img{position:relative;z-index:1;display:block;width:auto;max-width:100%;height:auto;max-height:clamp(7rem,20vw,15rem);margin-inline:auto;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.pub-hero-row{position:relative;z-index:1;display:flex;align-items:flex-end;gap:1.5rem;padding-block:2rem;width:100%;min-width:0}
.pub-hero-text{min-width:0}
.pub-hero .pub-mark{box-shadow:0 0 0 1px var(--gilt),0 0 0 5px var(--malachite),0 0 0 6px var(--gilt)}
.pub-hero-name{font-family:var(--display);font-weight:400;color:var(--gilt-pale);font-size:clamp(1.6rem,4.5vw,3rem);line-height:1.25;margin:0;overflow-wrap:anywhere}
.pub-hero-name:lang(ar){font-family:'Noto Naskh Arabic',serif;font-weight:700}
.pub-hero-langs{margin:.5rem 0 0;color:rgba(243,239,227,.8);font-size:var(--step--1)}
.pub-hero-langs a{color:var(--gilt-pale);margin-inline-start:.5rem}
.pub-about{max-width:44rem;font-size:1.0625rem;margin-block-end:1rem}
@media (max-width:30rem){.media-slot{grid-template-columns:5.5rem minmax(0,1fr);column-gap:.85rem}.media-slot .cover-thumb,.media-thumb,.media-empty{width:5.5rem;max-width:5.5rem}.media-panel{padding:1rem}}
@media (max-width:40rem){.pub-hero-row{gap:.85rem}.pub-hero .pub-mark-lg,.pub-hero.has-banner .pub-mark-lg{width:3.5rem;height:3.5rem;flex:none}.pub-hero-name,.pub-hero.has-banner .pub-hero-name{font-size:1.25rem}}
.pub-banner-thumb{width:100%;max-width:22rem;aspect-ratio:8/3;object-fit:contain;background:var(--malachite);border:1px solid var(--rule);border-radius:2px}
.pub-banner-empty{background:var(--malachite)}
.pub-media-grid{grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr))}
.pub-media-grid .media-slot{display:block}
/* Orders */
.tabs{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;border-block-end:1px solid var(--rule);margin-block-end:1.5rem}
.tab{padding:.6rem 0;text-decoration:none;color:var(--muted);box-shadow:inset 0 -2px 0 transparent}
.tab:hover{color:var(--ink)}
.tab-on{color:var(--malachite);font-weight:600;box-shadow:inset 0 -2px 0 var(--gilt)}
.parcel-card{background:var(--surface);border:1px solid var(--rule);border-radius:2px;padding:1.25rem 1.5rem;margin-block-end:1.25rem;max-width:60rem}
.parcel-card-head h2{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;font-size:var(--step-1);margin:0}
.parcel-card-head p{margin:.25rem 0 1rem}
.parcel-cols{display:grid;gap:1.25rem}
@media (min-width:48rem){.parcel-cols{grid-template-columns:3fr 2fr}}
.parcel-cols h3{font-size:var(--step-0);color:var(--muted);font-weight:600;margin:0 0 .5rem}
.parcel-items{list-style:none;margin:0 0 .5rem;padding:0}
.parcel-items li{display:flex;gap:.5rem;align-items:baseline;padding-block:.35rem;border-block-end:1px solid var(--rule)}
.parcel-amt{margin-inline-start:auto;white-space:nowrap}
.parcel-address{margin:0;line-height:1.7}
.parcel-actions{border-block-start:1px solid var(--rule);margin-block-start:1rem;padding-block-start:1rem;display:grid;gap:.75rem}
.inline-actions{display:inline-block;margin-inline-end:.5rem}
.parcel-step summary{cursor:pointer;font-weight:600;color:var(--malachite)}
.parcel-step[open] summary{margin-block-end:.75rem}
.parcel-danger summary{color:#6E1E3A}
.parcel-form{display:grid;gap:.75rem;max-width:52rem}
.parcel-pub{font-size:var(--step-0);color:var(--muted);margin:1.5rem 0 .5rem}
.badge-ship-awaiting_pack,.badge-ship-ready_for_pickup{background:#FBF4E4;border-color:#E9D6A8;color:#5E4813}
.badge-ship-in_transit,.badge-ship-picked_up,.badge-ship-out_for_delivery{background:#E8EEF7;border-color:#C5D3E8;color:#1D2945}
.badge-ship-delivered{background:#E4F1EC;border-color:#B9D8CC;color:var(--emerald-deep)}
.badge-ship-cancelled,.badge-ship-undelivered,.badge-ship-rto_delivered{background:#F7E7EA;border-color:#E3BFC7;color:#6E1E3A}
.refund-list{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.5rem}
.refund-list li{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.inline-search{display:flex;gap:.5rem}
.inline-search input{min-width:14rem}
.slip{max-width:46rem}
.slip-cols{display:grid;gap:1.5rem;margin-block:1rem 1.5rem}
@media (min-width:40rem){.slip-cols{grid-template-columns:1fr 1fr}}
.slip-address{font-size:var(--step-1);line-height:1.6}
@media print{.utility,.site-header,.site-footer,.no-print{display:none!important}body{background:#fff}.slip .table-wrap,.slip .table{border-color:#999}}
/* Products */
.cover-square{aspect-ratio:1/1;border-radius:2px}
:dir(rtl) .cover-square{border-radius:2px}
.cover-square:not(.cover-made){box-shadow:0 1px 1px rgba(24,35,31,.1),0 12px 24px -14px rgba(24,35,31,.4)}
.cover-product{background:var(--malachite);padding:1rem}
.product .cover-large{max-width:26rem}
.product-thumb{aspect-ratio:1/1;width:4.5rem}
.variant-table{min-width:46rem}
.variant-table td{padding:.4rem .5rem}
.variant-table input{width:100%;min-width:4.5rem;font:inherit;padding:.45rem .5rem;border:1px solid var(--rule);border-radius:2px;background:var(--surface)}
.variant-table td:first-child input{min-width:12rem}
.variant-table .cell-error{border-color:#C98A98}
.variant-table .error-text{display:block;font-size:.75rem}
.header-actions{flex-wrap:wrap;gap:.25rem 1.25rem}
.pub-media-grid .pub-mark,.pub-media-grid .pub-banner-thumb{margin-block:.5rem 1rem}
/* ================= Fresh emerald (Nov 2026): bright, clean, sans ================= */
:root{
  --paper:#F6FAF8; --surface:#FFFFFF; --ink:#10201B; --muted:#5D6E67; --rule:#E2EBE7; --rule-strong:#CFDDD7;
  --emerald:#009688; --emerald-deep:#00695C; --emerald-tint:#E0F4F1; --mint:#B2E2DB;
  --gold:#E3A21A; --gilt:#F2B33D; --gilt-pale:#FFE6A8; --saffron-tint:#FFF4DA; --ivory:#FFFFFF;
  --malachite:#0B3B30; --malachite-2:#0F4A3C;
  --cloth-ar:#0E8A6B; --cloth-en:#2F5DD0; --cloth-ta:#C2410C; --cloth-ml:#0E7490;
  --sans:'Plus Jakarta Sans','Inter','Noto Sans Tamil','Noto Sans Malayalam','Noto Naskh Arabic',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --serif:var(--sans); --display:var(--sans);
  --radius:14px; --radius-sm:10px;
  --shadow:0 1px 2px rgba(16,32,27,.05),0 8px 24px -12px rgba(16,32,27,.18);
  --shadow-lift:0 2px 4px rgba(16,32,27,.06),0 18px 36px -16px rgba(16,32,27,.28);
}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}
:lang(ar){font-family:'Noto Naskh Arabic','Plus Jakarta Sans',var(--sans)}
h1,h2,h3,.page-title,.book-title,.brand,.hero-words,.lang-tile-native,.pub-hero-name,.footer-brand,.price-now{font-family:var(--sans);letter-spacing:-.01em}
h1,h2,.page-title,.book-title{font-weight:800;color:var(--ink)}
h1:lang(ar),h2:lang(ar),.page-title:lang(ar),.book-title:lang(ar),.brand:lang(ar),.footer-brand:lang(ar),.pub-hero-name:lang(ar),.lang-tile-native:lang(ar){font-family:'Noto Naskh Arabic',var(--sans);font-weight:700;letter-spacing:0}
h1:lang(ta),h1:lang(ml),h2:lang(ta),h2:lang(ml),.page-title:lang(ta),.page-title:lang(ml),.book-title:lang(ta),.book-title:lang(ml){font-weight:700;letter-spacing:0}
h3{font-weight:700}
a{color:var(--emerald)}
a:hover{color:var(--emerald-deep)}
:focus-visible{outline:3px solid var(--gilt);outline-offset:2px;border-radius:6px}
::selection{background:var(--mint)}

/* Utility strip + header */
.utility{background:var(--malachite);color:#CFE9DF}
.utility .langs a{color:rgba(255,255,255,.72);border-radius:999px;padding:.25rem .7rem}
.utility .langs a:hover{color:#fff;background:rgba(255,255,255,.08)}
.utility .langs a[aria-current]{color:var(--malachite);background:var(--gilt);box-shadow:none;font-weight:700}
.site-header{background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);border-block-end:1px solid var(--rule);box-shadow:0 1px 0 rgba(16,32,27,.02)}
.brand{color:var(--emerald-deep);font-weight:800;font-size:1.6rem}
.brand-star{fill:var(--gilt)}
.header-search input{border-radius:999px;background:var(--paper);border:1px solid var(--rule);padding-inline:1.1rem}
.header-search input:focus{background:#fff;border-color:var(--emerald);box-shadow:0 0 0 4px var(--emerald-tint)}
.account-link{color:var(--ink);font-weight:600;border-radius:999px;padding:.4rem .8rem;box-shadow:none}
.account-link:hover{color:var(--emerald-deep);background:var(--emerald-tint);box-shadow:none}
.header-actions{gap:.15rem .25rem}
@media (max-width:40rem){.header-row{gap:.6rem 1rem}.header-actions{margin-inline-start:-.8rem;width:100%;justify-content:space-between}.brand{font-size:1.4rem}}

/* Buttons and inputs */
.button{border-radius:999px;background:var(--emerald);border:1px solid var(--emerald);color:#fff;font-weight:700;letter-spacing:0;padding-inline:1.4rem;box-shadow:0 6px 16px -8px rgba(14,138,107,.6);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.button:hover{background:var(--emerald-deep);border-color:var(--emerald-deep);color:#fff;transform:translateY(-1px);box-shadow:0 10px 20px -10px rgba(14,138,107,.7)}
.button:active{transform:none}
.button-quiet{background:#fff;color:var(--emerald-deep);border-color:var(--rule-strong);box-shadow:none}
.button-quiet:hover{background:var(--emerald-tint);color:var(--emerald-deep);border-color:var(--mint);box-shadow:none}
.button[disabled]{background:var(--rule);border-color:var(--rule);color:var(--muted);box-shadow:none;transform:none}
.button-danger{background:#C2253D;border-color:#C2253D;box-shadow:0 6px 16px -8px rgba(194,37,61,.55)}
.button-danger:hover{background:#9F1C31;border-color:#9F1C31}
.button-small{min-height:2.25rem;padding-inline:1rem}
input[type=search],select,input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input:not([type]),textarea{border-radius:var(--radius-sm);border:1px solid var(--rule-strong);background:#fff}
input:focus,textarea:focus,select:focus{border-color:var(--emerald);outline:none;box-shadow:0 0 0 4px var(--emerald-tint)}
.field label{font-weight:600;color:#3E4F48}
.link-button{color:var(--emerald-deep);text-decoration-thickness:1px;text-underline-offset:.2em}
.link-danger,.books-table .row-actions .link-danger{color:#C2253D}

/* Hero: bright emerald with a soft star lattice */
.hero{background:linear-gradient(135deg,#0E8A6B 0%,#0B6E58 45%,#0A4F43 100%);color:#fff;padding-block:2rem}
.hero{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='.7' opacity='.10'%3E%3Crect x='20' y='20' width='24' height='24'/%3E%3Crect x='20' y='20' width='24' height='24' transform='rotate(45 32 32)'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(135deg,#0E8A6B 0%,#0B6E58 45%,#0A4F43 100%);background-size:64px 64px,auto}
.hero::after{background:radial-gradient(ellipse at 80% -10%,rgba(242,179,61,.28) 0%,rgba(242,179,61,0) 45%),radial-gradient(ellipse at 0% 110%,rgba(255,255,255,.12) 0%,rgba(255,255,255,0) 45%)}
.hero-frame{border:0;outline:0;padding-block:3rem 2.75rem}
@media (min-width:48rem){.hero-frame{padding-block:4.25rem 3.75rem}}
.hero-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin:0 0 1.1rem}
.hero-chips span{display:inline-flex;align-items:baseline;gap:.35rem;padding:.28rem .85rem;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.875rem;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.hero-chips b{font-size:1.0625rem;font-weight:800;color:#FFE1A0}
.hero-has-wall .hero-tagline{margin-block-end:1.1rem}
.hero-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin:1.1rem auto 0;max-width:40rem}
.hero-cats a{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .8rem;border-radius:999px;background:rgba(255,255,255,.94);color:#0A4F43;font-size:.8125rem;font-weight:700;text-decoration:none;box-shadow:0 4px 10px rgba(0,0,0,.14);transition:transform .2s ease,background .2s ease}
.hero-cats a:hover,.hero-cats a:focus-visible{background:#FFE1A0;transform:translateY(-2px)}
.hero-cats small{font-size:.6875rem;font-weight:800;padding:0 .4rem;border-radius:999px;background:#E0F2EF;color:#0A4F43;line-height:1.6}
.hero-wall{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.hero-wall-tilt{position:absolute;left:50%;top:50%;width:140%;display:grid;gap:.8rem;transform:translate(-50%,-50%) rotate(-7deg)}
.hw-row{overflow:visible}
.hw-track{display:flex;width:max-content;animation:hw-slide var(--hw,100s) linear infinite}
.hw-back .hw-track{animation-direction:reverse}
.hw-set{display:flex;gap:.8rem;padding-inline-end:.8rem}
.hw-set img{display:block;flex:none;width:clamp(6.6rem,7vw,11rem);height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:10px;box-shadow:0 8px 20px rgba(0,20,16,.5)}
@keyframes hw-slide{to{transform:translateX(-50%)}}
[dir=rtl] .hw-track{animation-name:hw-slide-rtl}
@keyframes hw-slide-rtl{to{transform:translateX(50%)}}
.hero-has-wall::after{z-index:0;background:radial-gradient(ellipse 62% 78% at 50% 50%,rgba(3,66,55,.96) 0%,rgba(3,66,55,.9) 38%,rgba(4,78,65,.66) 72%,rgba(5,90,74,.5) 100%),linear-gradient(180deg,rgba(0,40,33,.35),rgba(0,40,33,0) 30%,rgba(0,40,33,0) 70%,rgba(0,40,33,.45))}
.hero-has-wall .hero-frame{z-index:2}
.hero-has-wall .hero-words,.hero-has-wall .hero-tagline{text-shadow:0 2px 14px rgba(0,30,25,.7)}
@media (min-width:48rem){.hero-has-wall .hero-frame{padding-block:5rem 4.5rem}}
@media (max-width:47.99rem){.hero-wall-tilt{width:220%;gap:.55rem}.hw-set{gap:.55rem;padding-inline-end:.55rem}.hw-set img{width:4.6rem;border-radius:8px}.hw-row:nth-child(n+5){display:none}}
@media (prefers-reduced-motion:reduce){.hw-track{animation:none}}
.hero-words{color:#fff;font-weight:800;letter-spacing:-.02em}
.hero-words,.hero-words:lang(ar),.hero-words:lang(ta),.hero-words:lang(ml){font-family:var(--sans);font-weight:800}
.hero-words span:lang(en){font-family:var(--sans)}
.hero-words :lang(ar){font-family:'Noto Naskh Arabic',var(--sans);font-weight:700}
.hero-star{fill:var(--gilt)}
.hero-tagline{color:rgba(255,255,255,.88)}
.hero-search{gap:.5rem;background:#fff;border-radius:999px;padding:.35rem;box-shadow:0 20px 40px -20px rgba(0,0,0,.45)}
.hero-search input{border:0;border-radius:999px;background:transparent;min-height:3rem;box-shadow:none}
.hero-search input:focus{box-shadow:none}
.hero-search .button{border-radius:999px;background:var(--gilt);border-color:var(--gilt);color:#3B2A00;min-height:3rem;box-shadow:none}
.hero-search .button:hover{background:#F6C25F;border-color:#F6C25F;color:#3B2A00}

/* Section headings */
.section>h2{color:var(--ink);font-weight:800;font-size:clamp(1.4rem,2.6vw,1.85rem)}
.section>h2::after{height:3px;border-radius:3px;background:linear-gradient(90deg,var(--gilt) 0,var(--gilt) 2.5rem,var(--rule) 2.5rem,rgba(226,235,231,0) 100%)}
:dir(rtl) .section>h2::after{background:linear-gradient(270deg,var(--gilt) 0,var(--gilt) 2.5rem,var(--rule) 2.5rem,rgba(226,235,231,0) 100%)}

/* Language tiles */
.lang-tile{border-radius:var(--radius);box-shadow:var(--shadow);min-height:8.5rem;transition:transform .2s ease,box-shadow .2s ease}
.lang-tile::before,.lang-tile::after{content:none}
.lang-tile::before{content:"";position:absolute;inset:auto -30% -55% auto;width:12rem;height:12rem;border-radius:50%;background:rgba(255,255,255,.12);border:0;opacity:1}
.lang-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.lang-tile[aria-current]{box-shadow:0 0 0 3px var(--gilt),var(--shadow)}
.lang-tile-ar{background:linear-gradient(140deg,#12A27E,#0A6A52)}
.lang-tile-en{background:linear-gradient(140deg,#4C7BEA,#2447A8)}
.lang-tile-ta{background:linear-gradient(140deg,#F08A2E,#C2410C)}
.lang-tile-ml{background:linear-gradient(140deg,#1BA3BF,#0E6177)}
.lang-tile-native{color:#fff;font-weight:800}
.lang-tile{border-radius:22px;min-height:9.5rem;padding:1.1rem 1.15rem 1rem;justify-content:flex-end;gap:.3rem}
.lang-tile::after{content:"";position:absolute;inset:-2.2rem auto auto -1.8rem;width:6rem;height:6rem;border-radius:50%;background:rgba(255,255,255,.1);border:0;opacity:1;transition:transform .35s ease}
.lang-tile::before{transition:transform .35s ease}
.lang-tile:hover::before{transform:scale(1.18)}.lang-tile:hover::after{transform:scale(1.25)}
.lang-tile>span{position:relative;z-index:1}
.lang-tile .lang-tile-count{position:absolute;top:.85rem;inset-inline-end:.85rem;align-self:auto;display:inline-flex;align-items:baseline;gap:.3rem;padding:.22rem .7rem;border-radius:999px;background:rgba(255,255,255,.94);color:#12332D;font-size:.75rem;font-weight:700;line-height:1.5;box-shadow:0 4px 10px rgba(0,0,0,.14);transform:rotate(2deg);transition:transform .25s ease}
.lang-tile-count b{font-size:1rem;font-weight:800}
.lang-tile-count.is-soon{background:rgba(255,255,255,.28);color:#fff;box-shadow:none}
.lang-tile:hover .lang-tile-count{transform:rotate(-2deg) scale(1.06)}
.lang-tile .lang-tile-label{align-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:#fff;opacity:.95;font-weight:600}
.lang-tile-go{flex:none;display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:rgba(255,255,255,.22);transition:transform .25s ease,background .25s ease}
.lang-tile:hover .lang-tile-go{background:#fff;color:#12332D;transform:translateX(3px)}
[dir=rtl] .lang-tile-go svg{transform:scaleX(-1)}[dir=rtl] .lang-tile:hover .lang-tile-go{transform:translateX(-3px)}
.lang-tile[aria-current]{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--gilt),var(--shadow)}
@media (max-width:47.99rem){.lang-tile{min-height:8.5rem;border-radius:18px}.lang-tile .lang-tile-count{font-size:.6875rem;padding:.15rem .55rem}.lang-tile-count b{font-size:.875rem}}
.lang-tile-label{color:rgba(255,255,255,.88)}

/* Book cards */
.grid{gap:2rem 1.25rem}
@media (min-width:60rem){.grid{gap:2.5rem 1.75rem}}
.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:.75rem .75rem 1rem;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.card-link:hover .cover{transform:none}
.cover,:dir(rtl) .cover{border-radius:8px;box-shadow:0 1px 2px rgba(16,32,27,.08),0 10px 20px -12px rgba(16,32,27,.35)}
.cover-made{outline:0;border-radius:8px;color:#fff}
.cover-ar{background:linear-gradient(160deg,#12A27E,#0A5A46)} .cover-en{background:linear-gradient(160deg,#4C7BEA,#1F3D91)}
.cover-ta{background:linear-gradient(160deg,#F08A2E,#A8380B)} .cover-ml{background:linear-gradient(160deg,#1BA3BF,#0B5466)}
.cover-star{stroke:#FFE6A8}
.card-title{font-weight:700;font-size:1rem;color:var(--ink)}
.card-link:hover .card-title{color:var(--emerald-deep)}
.price-now{font-weight:800;font-size:1.2rem;color:var(--ink);font-variant-numeric:tabular-nums}
.price-mrp{color:#8A9993}
.price-off{background:var(--saffron-tint);color:#9A5B00;border-radius:999px;padding:.05rem .5rem;font-weight:700;font-size:.78rem}

/* Panels and surfaces */
.filters,.buy,.table-wrap,.dash-link,.address,.parcel,.parcel-card,.media-panel,.cat-item,.cover-panel,.book-form fieldset,.application,.sell-commit,.legal-note,.pub-list li,.confirm-card,.format-block,fieldset.panel,.review-note{border-radius:var(--radius);border-color:var(--rule)}
.filters,.buy,.table-wrap,.dash-link,.address,.parcel,.parcel-card,.media-panel,.cat-item,.cover-panel,.book-form fieldset,.application,.confirm-card,.pub-list li{background:var(--surface);box-shadow:var(--shadow)}
.buy{border-color:var(--rule);box-shadow:var(--shadow-lift)}
.book-form legend{font-weight:800;color:var(--emerald-deep)}
.format-block{background:var(--paper)}
.format-on{background:#fff;border-color:var(--mint);box-shadow:0 0 0 3px var(--emerald-tint)}
.sell-commit{border-inline-start:4px solid var(--gilt);background:var(--saffron-tint);border-color:#F6DFA4}
.dash-link{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.dash-link:hover{border-color:var(--mint);transform:translateY(-2px);box-shadow:var(--shadow-lift)}
.book-title{color:var(--ink);font-weight:800}
.details div{border-block-end-color:var(--rule)}
.details dt{color:var(--muted);font-weight:600}

/* Notices and badges */
.notice{background:var(--emerald-tint);border:1px solid var(--mint);color:var(--emerald-deep);border-radius:12px;font-weight:600}
.alert{background:#FDECEE;border:1px solid #F6C7CF;color:#9F1C31;border-radius:12px}
.alert-soft{background:var(--saffron-tint);border-color:#F6DFA4;color:#7A4B00}
.badge{font-weight:700;font-size:.78rem;padding:.2rem .7rem;border-color:transparent;background:#EEF2F0;color:#4A5A54}
.badge-approved,.badge-ship-delivered{background:var(--emerald-tint);color:var(--emerald-deep);border-color:transparent}
.badge-submitted,.badge-in_review,.badge-ship-awaiting_pack,.badge-ship-ready_for_pickup{background:var(--saffron-tint);color:#8A5300;border-color:transparent}
.badge-rejected,.badge-suspended,.badge-ship-cancelled,.badge-ship-undelivered,.badge-ship-rto_delivered{background:#FDECEE;color:#9F1C31;border-color:transparent}
.badge-ship-in_transit,.badge-ship-picked_up,.badge-ship-out_for_delivery{background:#E8EFFD;color:#2447A8;border-color:transparent}
.badge-withdrawn{background:#EEF2F0;color:#5D6E67;border-color:transparent}

/* Tables (dashboards and admin) */
.table-wrap{overflow-x:auto}
.table th{background:#F3F8F6;color:#4A5A54;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.table th:first-child{border-start-start-radius:var(--radius)} .table th:last-child{border-start-end-radius:var(--radius)}
.table tbody tr{transition:background .12s ease}
.table tbody tr:hover{background:#FAFDFC}
.table td a{font-weight:600}

/* Dashboards */
.dash-head{padding-block-end:1rem;border-block-end:1px solid var(--rule)}
.dash .page-title{font-size:clamp(1.6rem,3vw,2.2rem)}
.pub-name{color:var(--emerald);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem}
.tabs{border-block-end:1px solid var(--rule);gap:.25rem}
.tab{padding:.55rem .9rem;border-radius:10px 10px 0 0;font-weight:600}
.tab:hover{background:var(--emerald-tint);color:var(--emerald-deep)}
.tab-on{color:var(--emerald-deep);box-shadow:inset 0 -3px 0 var(--emerald)}
.row-pop>.quick-form,.row-pop>.pop-menu{border-radius:12px;box-shadow:var(--shadow-lift)}
.quick-row input{border-radius:8px}
.upload-form input[type=file]{border-radius:12px;border-color:var(--rule-strong);background:var(--paper)}
.upload-form input[type=file]::file-selector-button{border-radius:999px;background:var(--emerald-tint);border-color:var(--mint);color:var(--emerald-deep)}
.media-thumb,.media-empty{border-radius:8px}

/* Publishers */
.pub-mark{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--mint),var(--shadow)}
.pub-mark-sm{box-shadow:0 0 0 2px var(--mint)}
.pub-mark-made{background:linear-gradient(140deg,#12A27E,#0A5A46);color:#fff;font-family:var(--sans);font-weight:800}
.pubs a.pub-tile{border-radius:var(--radius);padding:1rem .75rem;transition:background .15s ease}
.pubs a.pub-tile{font-size:1rem;text-wrap:balance;padding-inline:.5rem}
@media (min-width:40rem){.pubs{grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr))}}
.pubs a.pub-tile:hover{background:#fff;box-shadow:var(--shadow)}
.pubs a.pub-tile:hover .pub-mark{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--gilt),var(--shadow)}
.sold-by{border-block-start-color:var(--rule)}
.pub-hero,.pub-banner{background:linear-gradient(135deg,#0E8A6B,#0A4F43)}
.pub-hero{box-shadow:none}
.pub-hero-name{color:#fff;font-weight:800}
.pub-hero .pub-mark{box-shadow:0 0 0 3px rgba(255,255,255,.9),0 0 0 6px rgba(242,179,61,.8)}
.pub-hero-langs{color:rgba(255,255,255,.85)}
.pub-hero-langs a{color:var(--gilt-pale)}

/* Footer */
.site-footer{background:var(--malachite);color:rgba(255,255,255,.72);box-shadow:none;border-block-start:4px solid var(--gilt)}
.site-footer a{color:#CFF0E3}
.site-footer a:hover{color:#fff}
.footer-brand{color:#fff;font-weight:800}
.footer-links{border-block-start-color:rgba(255,255,255,.12)}
.footer-company{color:rgba(255,255,255,.55)}

/* Cart, checkout */
.cart-line{border-block-end-color:var(--rule)}
.order-total{border-block-start-color:var(--rule-strong)}
.address-chosen{border-color:var(--emerald);box-shadow:0 0 0 3px var(--emerald-tint)}
@media (prefers-reduced-motion:reduce){.card:hover,.lang-tile:hover,.dash-link:hover,.button:hover{transform:none}}
.brand{line-height:0}
.brand-logo{display:block;height:4.25rem;width:auto}
@media (max-width:40rem){.brand-logo{height:3.5rem}}
.footer-brand{margin:0;line-height:0}
.footer-brand .brand-logo{height:3.75rem}
.hero{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='.7' opacity='.10'%3E%3Crect x='20' y='20' width='24' height='24'/%3E%3Crect x='20' y='20' width='24' height='24' transform='rotate(45 32 32)'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(135deg,#009688 0%,#00796B 45%,#004D40 100%)}
.pub-hero,.pub-banner{background:linear-gradient(135deg,#009688,#004D40)}
fieldset.page-top{border:1px solid var(--rule);border-radius:12px;padding:.75rem 1rem;margin:0 0 1rem}fieldset.page-top legend{font-weight:700;padding:0 .35rem}fieldset.page-top .check-row{display:flex;gap:.5rem;align-items:flex-start;margin:.35rem 0}
.pub-hero-new{margin-inline-start:auto;flex:none;display:flex;align-items:center;gap:.9rem;align-self:center}
.pub-hero-new p{margin:0;max-width:7.5rem;font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;line-height:1.35;color:#FFE1A0;text-align:end}
.pub-hero-new p::before{content:"★ "}
.pub-new-covers{display:flex;gap:.6rem}
.pub-new-covers a{display:block;line-height:0;position:relative}
.pub-new-covers a:hover,.pub-new-covers a:focus-visible{z-index:6}
.pub-new-covers img{display:block;height:4.75rem;width:auto;border-radius:8px;border:2px solid #fff;box-shadow:0 5px 12px rgba(0,30,26,.4);transform:rotate(-3deg);transform-origin:50% 0;transition:transform .25s cubic-bezier(.2,.8,.3,1.1),box-shadow .25s ease}
.pub-new-covers a:nth-child(even) img{transform:rotate(3deg)}
.pub-new-covers a:hover img,.pub-new-covers a:focus-visible img{transform:rotate(0) scale(2);box-shadow:0 14px 30px rgba(0,30,26,.55)}
.pub-hero{overflow:visible;z-index:4}
@media (max-width:40rem){.pub-hero-row{flex-wrap:wrap}.pub-hero-new{margin-inline-start:0;flex:1 1 100%;justify-content:space-between}.pub-hero-new p{text-align:start;max-width:none}.pub-new-covers img{height:4rem}.pub-new-covers a:hover img{transform:rotate(0) scale(1.15)}}
.pub-banner.pub-show{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"stats" "reel";line-height:1.3;
  background:radial-gradient(circle at 10% 15%,rgba(242,179,61,.22),transparent 38%),radial-gradient(circle at 88% 95%,rgba(255,255,255,.14),transparent 42%),radial-gradient(rgba(255,255,255,.09) 1.2px,transparent 1.6px) 0 0/18px 18px,linear-gradient(135deg,#00A08F,#00564A)}
.pub-side{position:relative;z-index:2;min-width:0;line-height:1.3;color:#fff}
.pub-banner.pub-show{position:relative;z-index:5;overflow:visible}
.pub-side-stats{grid-area:stats;padding:.9rem .9rem .2rem}.pub-side-reel{grid-area:reel;overflow:hidden}
.pub-side-in{box-sizing:border-box;height:100%;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:.45rem}
.pub-side-stats .pub-side-in{padding:.9rem 1rem 1rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:22px;box-shadow:0 10px 30px rgba(0,40,34,.28),inset 0 1px 0 rgba(255,255,255,.25);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.pub-stat{margin:0;display:flex;align-items:center;gap:.65rem;font-size:.9375rem;font-weight:600}
.pub-stat strong{display:inline-grid;place-items:center;min-width:3rem;height:3rem;padding:0 .6rem;box-sizing:border-box;border-radius:16px;font-size:1.5rem;line-height:1;font-weight:800;color:#06382F;background:linear-gradient(160deg,#FFE1A0,#F2B33D);box-shadow:0 4px 12px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.7);transform:rotate(-3deg)}
.pub-side-label{margin:.35rem 0 0;display:inline-flex;align-items:center;gap:.35rem;align-self:flex-start;font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#FFE1A0}
.pub-side-label::before{content:"★";font-size:.8rem}
.pub-top{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:.15rem;counter-reset:rank}
.pub-top li{counter-increment:rank;min-width:0}
.pub-top a{display:flex;align-items:center;gap:.55rem;padding:.3rem .45rem;margin-inline:-.45rem;border-radius:14px;color:#fff;text-decoration:none;font-size:.875rem;font-weight:600;transition:background .2s ease}
.pub-top a::before{content:counter(rank);flex:none;display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:50%;font-size:.75rem;font-weight:800;color:#06382F;background:#FFD27A;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.pub-top li:nth-child(2) a::before{background:#E6EEF0}.pub-top li:nth-child(3) a::before{background:#F0BE94}
.pub-top a:hover,.pub-top a:focus-visible{background:rgba(255,255,255,.16)}
.pub-top img{flex:none;width:1.9rem;height:2.85rem;object-fit:cover;border-radius:6px;border:2px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.35);transform:rotate(-4deg);transition:transform .25s ease}
.pub-top li:nth-child(even) img{transform:rotate(4deg)}
.pub-top a:hover img,.pub-top a:focus-visible img{transform:rotate(0) scale(1.1)}
.pub-top span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;min-width:0}
.pub-reel{overflow:hidden;padding-block:1.1rem 1.3rem}
@supports (overflow:clip){.pub-side-reel{overflow:visible}.pub-reel{overflow-x:clip;overflow-y:visible}}
.pub-reel-track{display:flex;width:max-content;animation:pub-reel var(--reel,40s) linear infinite}
[dir=rtl] .pub-reel-track{animation-name:pub-reel-rtl}
.pub-reel:hover .pub-reel-track,.pub-reel:focus-within .pub-reel-track{animation-play-state:paused}
.pub-reel-set{display:flex;gap:.85rem;padding-inline-end:.85rem}
.pub-reel-set a{flex:none;display:block;position:relative;line-height:0;animation:pub-bob 3.6s ease-in-out infinite alternate}
.pub-reel-set a:hover,.pub-reel-set a:focus-visible{z-index:6}
.pub-reel-set a:nth-child(even){animation-delay:-1.8s}.pub-reel-set a:nth-child(3n){animation-delay:-.9s}
.pub-reel-set img{display:block;height:7.5rem;width:auto;border-radius:10px;border:3px solid #fff;box-shadow:0 8px 18px rgba(0,30,26,.4);transform:rotate(-2.5deg);transform-origin:50% 22%;transition:transform .28s cubic-bezier(.2,.8,.3,1.1),box-shadow .28s ease}
.pub-reel-set a:nth-child(even) img{transform:rotate(2.5deg)}
.pub-reel-set a:hover img,.pub-reel-set a:focus-visible img{transform:rotate(0) scale(2);box-shadow:0 18px 40px rgba(0,30,26,.55)}
@keyframes pub-reel{to{transform:translateX(-50%)}}
@keyframes pub-reel-rtl{to{transform:translateX(50%)}}
@keyframes pub-bob{from{transform:translateY(-4px)}to{transform:translateY(4px)}}
@media (prefers-reduced-motion:reduce){.pub-reel-track,.pub-reel-set a{animation:none}.pub-reel{overflow-x:auto}}
@media (min-width:64rem){
  .pub-banner.pub-show{grid-template-columns:auto minmax(0,1fr);grid-template-areas:none;min-height:17rem;align-items:center}
  .pub-side-reel{grid-column:1/-1;grid-row:1}
  .pub-side-stats{grid-column:1;grid-row:1;z-index:7;padding:1.25rem 0;padding-inline-start:max(1.5rem,calc((100vw - 78rem)/2))}
  .pub-side-stats .pub-side-in{width:22rem;padding:1.1rem 1.25rem 1.2rem;background:rgba(0,74,64,.62);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  .pub-stat{font-size:1.0625rem}.pub-stat strong{min-width:3.6rem;height:3.6rem;font-size:1.9rem;border-radius:18px}
  .pub-top a{font-size:.9375rem}.pub-top img{width:2.1rem;height:3.15rem}
  .pub-reel{padding-block:1.6rem 1.8rem}
  .pub-reel-set{gap:1.25rem;padding-inline-end:1.25rem}
  .pub-reel-set img{height:clamp(11rem,17vw,14.5rem);border-radius:12px}
}
.lang-tile-ar{background:linear-gradient(140deg,#14A898,#00695C)}
.cover-ar{background:linear-gradient(160deg,#14A898,#00564C)}
.pub-mark-made{background:linear-gradient(140deg,#14A898,#00564C)}
.button{box-shadow:0 6px 16px -8px rgba(0,150,136,.6)}
/* Card hover tools, category label, quick view */
.card{position:relative}
.card-media{position:relative;border-radius:8px;overflow:hidden}
.card-cover{display:block;text-decoration:none}
.card-cover .cover{transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .3s ease}
.card:hover .card-cover .cover{transform:scale(1.05)}
.card-media::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.45));opacity:0;transition:opacity .25s ease;pointer-events:none}
.card:hover .card-media::after,.card:focus-within .card-media::after{opacity:1}
.card-tools{position:absolute;inset-inline:0;bottom:.6rem;display:flex;justify-content:center;gap:.45rem;z-index:2;opacity:0;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease}
.card:hover .card-tools,.card:focus-within .card-tools{opacity:1;transform:none}
.card-tools .tool:nth-child(2),.card-tools>:nth-child(2) .tool{transition-delay:.03s}
.tool-form{margin:0;display:inline-flex}
.tool{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:50%;border:0;background:#fff;color:var(--emerald-deep);box-shadow:0 6px 16px -6px rgba(0,0,0,.45);cursor:pointer;transition:transform .15s ease,background .15s ease,color .15s ease;text-decoration:none}
.tool svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tool:hover{background:var(--emerald);color:#fff;transform:translateY(-2px) scale(1.06)}
.tool-on,.tool-on:hover{color:#E0245E}
.tool-on svg{fill:currentColor}
@media (hover:none){.card-tools{opacity:1;transform:none;bottom:.45rem;gap:.35rem}.tool{width:2.1rem;height:2.1rem}.card-media::after{opacity:1;height:35%}}
.card-bubble-at{position:relative;height:0;margin-block:-.1rem;z-index:20}
.card-bubble{position:absolute;bottom:.35rem;left:50%;width:calc(100% + 1.75rem);min-width:13.5rem;max-width:20rem;box-sizing:border-box;display:grid;gap:.3rem;padding:.8rem .95rem .85rem;background:#fff;color:var(--ink);border:1.5px solid var(--mint,#BFE5DD);border-radius:18px;box-shadow:0 16px 36px rgba(0,70,58,.24),0 2px 0 rgba(255,255,255,.9) inset;line-height:1.45;text-align:start;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,8px) scale(.94);transform-origin:50% 100%;transition:opacity .16s ease,transform .2s cubic-bezier(.2,.9,.3,1.25),visibility 0s .2s}
.card-bubble::after{content:"";position:absolute;left:50%;bottom:-.48rem;width:.85rem;height:.85rem;margin-left:-.42rem;background:#fff;border-right:1.5px solid var(--mint,#BFE5DD);border-bottom:1.5px solid var(--mint,#BFE5DD);border-bottom-right-radius:4px;transform:rotate(45deg)}
.card-bubble strong{font-size:.9375rem;font-weight:700;overflow-wrap:anywhere}
.card-bubble .cb-by{font-size:.8125rem;color:var(--muted)}
.card-bubble .cb-pub{font-size:.8125rem;font-weight:600;color:var(--emerald-deep,#00695C)}
.card-bubble .cb-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-block-start:.15rem}
.card-bubble .cb-cat,.card-bubble .cb-oos{font-size:.72rem;font-weight:700;line-height:1.35;padding:.14rem .6rem;border-radius:999px}
.card-bubble .cb-cat{color:var(--emerald-deep,#00695C);background:var(--emerald-tint,#E0F2EF);border:1px solid var(--mint,#BFE5DD)}
.card-bubble .cb-oos{color:#8a4b00;background:#fff7e6;border:1px solid #f0c66b}
@media (hover:hover){
  .card:has(.card-link:hover,.card-link:focus-visible,.card-author:hover,.card-pub:hover,.card-foot:hover,.card-badge:hover){z-index:6}
  .card:has(.card-link:hover,.card-link:focus-visible,.card-author:hover,.card-pub:hover,.card-foot:hover,.card-badge:hover) .card-bubble{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1);transition:opacity .16s ease .25s,transform .2s cubic-bezier(.2,.9,.3,1.25) .25s,visibility 0s .25s}
}
@media (prefers-reduced-motion:reduce){.card-bubble{transition:none}}
.card-foot{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:.35rem .5rem;margin-block-start:auto;padding-block-start:.4rem}
.card-foot .price{flex:0 0 auto}.card-foot .card-cat{flex:0 1 auto;min-width:0}
.card .card-foot .price{margin:0}
.card{display:flex;flex-direction:column}
.card-cat{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:700;letter-spacing:.02em;color:var(--emerald-deep);background:var(--emerald-tint);border:1px solid var(--mint);border-radius:999px;padding:.12rem .55rem}
.card-link{margin-block-start:.6rem}
.qv{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;padding:1rem}
.qv:target{display:flex;animation:qv-in .2s ease}
@keyframes qv-in{from{opacity:0}to{opacity:1}}
.qv-backdrop{position:absolute;inset:0;background:rgba(8,28,24,.55);backdrop-filter:blur(2px)}
.qv-panel{position:relative;z-index:1;display:grid;grid-template-columns:minmax(9rem,15rem) minmax(0,1fr);gap:1.5rem;width:min(46rem,100%);max-height:calc(100vh - 2rem);overflow:auto;background:#fff;border-radius:18px;padding:1.5rem;box-shadow:0 30px 70px -20px rgba(0,0,0,.5);animation:qv-pop .25s cubic-bezier(.2,.7,.2,1)}
@keyframes qv-pop{from{transform:translateY(16px) scale(.98)}to{transform:none}}
.qv-close{position:absolute;inset-inline-end:.75rem;top:.75rem;width:2.25rem;height:2.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink);background:var(--paper)}
.qv-close svg{width:1.1rem;height:1.1rem;stroke:currentColor;stroke-width:2;fill:none}
.qv-close:hover{background:var(--emerald-tint)}
.qv-body{display:grid;gap:.5rem;align-content:start;padding-inline-end:1.5rem}
.qv-body .card-cat{justify-self:start}
.qv-title{font-size:1.4rem;font-weight:800;line-height:1.3;margin:0}
.qv-author{margin:0;font-weight:600}
.qv-pub{margin:0;color:var(--muted);font-size:.9rem}
.qv-formats{list-style:none;margin:.5rem 0;padding:0;display:grid;gap:.5rem}
.qv-format{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;padding:.6rem .75rem;border:1px solid var(--rule);border-radius:12px}
.qv-format-name{font-weight:700;min-width:6.5rem}
.qv-format .price{margin:0}
.qv-format .tool-form{margin-inline-start:auto}
.qv-cart svg,.qv-wish svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;margin-inline-end:.4rem}
.qv-wish.tool-on svg{fill:#E0245E;stroke:#E0245E}
.qv-note{margin-inline-start:auto;font-size:.8rem;color:var(--muted);font-weight:600}
.qv-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-block-start:.5rem}
@media (max-width:36rem){.qv-panel{grid-template-columns:1fr;padding:1.1rem}.qv-cover{max-width:9rem}.qv-body{padding-inline-end:0}}
.wish-note{margin-block-start:1.5rem}
@media (prefers-reduced-motion:reduce){.card:hover .card-cover .cover{transform:none}.qv:target,.qv-panel{animation:none}}
.su-mode{display:inline-flex;align-items:center;gap:.4rem;background:var(--saffron-tint);color:#8A5300;border:1px solid #F6DFA4;border-radius:999px;padding:.15rem .7rem}
.su-pubs{display:grid;gap:1rem;margin-block-start:1rem}
.su-pub{border:1px solid var(--rule);border-radius:16px;background:#fff;box-shadow:var(--shadow);padding:1.1rem 1.25rem}
.su-pub header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.su-pub h2{margin:0 0 .25rem;font-size:1.2rem}.su-pub header p{margin:0;font-size:.9rem}
.su-people{list-style:none;margin:.9rem 0 0;padding:0;display:grid;gap:.4rem}
.su-people li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem 1rem;padding:.6rem .8rem;border-radius:12px;background:#F3F8F6}
.su-people .su-person{display:grid}.su-seen{font-size:.85rem}.su-nobody{margin:.9rem 0 0;padding:.7rem .8rem;border:1px dashed var(--rule);border-radius:12px}
.auth-form{display:grid;gap:.85rem}.auth-form .button{justify-self:start}
.su-share{display:grid;gap:.35rem}.su-share p{margin:0}.su-link{width:100%;font:inherit;font-size:.9rem;padding:.55rem .7rem;border:1px solid var(--rule);border-radius:10px;background:#fff}.su-share-go{display:flex;flex-wrap:wrap;gap:.5rem}
.su-waiting li{background:#FFF8E8}.su-waiting form{margin:0}
.su-add{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem;margin-block-start:.9rem}.su-add .field{flex:1 1 14rem;margin:0;min-width:0}.su-add select{width:100%}
.su-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin-block:1.25rem}
.su-stats>div{background:#fff;border:1px solid var(--rule);border-radius:var(--radius);padding:.9rem 1.1rem;box-shadow:var(--shadow);display:grid;gap:.1rem}
.su-stats strong{font-size:1.6rem;font-weight:800;color:var(--emerald-deep)}
.su-stats span{color:var(--muted);font-size:.85rem;font-weight:600}
.tab-count{display:inline-block;min-width:1.4rem;padding:0 .4rem;margin-inline-start:.25rem;border-radius:999px;background:var(--emerald-tint);color:var(--emerald-deep);font-size:.75rem;text-align:center}
.su-person{display:grid;gap:.15rem;justify-items:start;min-width:0}
.su-email{overflow-wrap:anywhere}
.table.su-table{min-width:0}
.su-access{display:flex;flex-wrap:wrap;gap:.3rem}
.su-access .badge{white-space:normal;text-align:start}
.su-person .muted{font-size:.8125rem}
.su-when{font-size:.875rem}
.su-when>span{display:block;white-space:nowrap}
.su-when .muted{font-size:.75rem;display:block}
.su-table td{vertical-align:middle}
.su-actions{text-align:end;width:1%;white-space:nowrap}
.su-actions .inline-form{display:inline-flex;margin-inline-end:.4rem}
.su-auth .quick-form{width:19rem}
.su-auth .field{gap:.25rem}
@media (max-width:60rem){.su-table thead{display:none}.su-table,.su-table tbody{display:block}.su-table tr{display:grid;gap:.4rem;padding:.9rem 1rem;border-block-end:1px solid var(--rule)}.su-table td{display:block;padding:0;border:0;text-align:start}.su-actions{white-space:normal}.su-auth .quick-form{inset-inline-end:auto;inset-inline-start:0}}
/* Publisher-logo watermark (an overlay; stored pictures are untouched) */
.wm{position:relative;display:block;line-height:0}
.wm::after{content:"";position:absolute;width:var(--wm-s,24%);aspect-ratio:1;background:var(--wm) center/contain no-repeat;opacity:var(--wm-o,.35);pointer-events:none;z-index:1}
.wm-br::after{right:5%;bottom:4%}.wm-bl::after{left:5%;bottom:4%}.wm-tr::after{right:5%;top:4%}.wm-tl::after{left:5%;top:4%}.wm-c::after{left:50%;top:50%;transform:translate(-50%,-50%)}
.wm-baked::after{display:none}
.wm-large{max-width:13rem}@media (min-width:48rem){.wm-large{max-width:20rem}}
.product .wm-large{max-width:26rem}
.wm-thumb{display:inline-block}
.thumbs>a{display:inline-block;line-height:0}
.lb{position:fixed;inset:0;z-index:300;display:none;align-items:center;justify-content:center;padding:1rem}
.lb:target{display:flex;animation:qv-in .2s ease}
.lb-bg{position:absolute;inset:0;background:rgba(8,28,24,.75)}
.lb-fig{position:relative;z-index:1;margin:0;display:grid;gap:.5rem;justify-items:center;max-width:min(92vw,46rem)}
.lb-fig .wm{display:inline-block}
.lb-fig img{max-height:84vh;width:auto;max-width:100%;border-radius:8px;box-shadow:0 30px 70px -20px rgba(0,0,0,.6)}
.lb-fig figcaption{color:#fff;font-size:.875rem}
.lb-close{position:absolute;top:1rem;inset-inline-end:1rem;z-index:2}
.wm-admin{display:grid;gap:1.5rem;align-items:start}
@media (min-width:60rem){.wm-admin{grid-template-columns:minmax(0,1fr) 15rem}}
.wm-preview{position:sticky;top:1rem;display:grid;gap:.5rem}
.wm-demo{display:block;width:100%;aspect-ratio:2/3;border-radius:8px;background:linear-gradient(160deg,#14A898,#00564C)}
.field-label{font-weight:600;color:#3E4F48;font-size:var(--step--1)}
.wm-switch{font-size:1.05rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* ---- Audit pass (Nov 2026): navigation, sharing, related titles, sorting ---- */
.lb-fig img{max-width:min(92vw,46rem);height:auto}
.header-actions .account-link{display:inline-flex;align-items:center;gap:.4rem}
.header-actions svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.header-actions .account-link[aria-current="page"]{color:var(--emerald)}
.header-actions .account-link .nav-ico{position:relative;display:inline-flex;flex:none;overflow:visible;max-width:none}
.cart-badge{position:absolute;top:-.5rem;inset-inline-end:-.65rem;width:1.15rem;height:1.15rem;max-width:none;pointer-events:none}
input[type=date]{font:inherit;color:var(--ink);background:#fff;border:1px solid var(--rule-strong,var(--rule));border-radius:var(--radius-sm,6px);padding:.6rem .75rem;width:100%;min-height:2.75rem}
.ebook-note{margin:.2rem 0 .5rem}
.ebook-warning{margin:.25rem 0 1rem}
.ebook-list{list-style:none;padding:0;margin:1rem 0;display:grid;gap:1rem;max-width:44rem}
.ebook-card{display:flex;gap:1rem;align-items:flex-start;padding:1rem;border:1px solid var(--rule);border-radius:14px;background:#fff}
.ebook-cover{flex:none;width:5rem}
.ebook-cover img,.ebook-cover .cover{width:100%;height:auto}
.ebook-info p{margin:.25rem 0 0}
.rq-bar .rq-act{display:flex;flex-wrap:wrap;gap:.4rem .6rem;align-items:center;flex:1 1 100%}.rq-bar .rq-act input[type=text]{flex:1 1 14rem;min-width:0;padding:.4rem .6rem;font:inherit;border:1px solid var(--rule);border-radius:8px}.rq-bar .check-row{margin:0}
.bulk-bar{display:flex;flex-wrap:wrap;gap:.5rem .6rem;align-items:center;margin:1rem 0 .75rem;padding:.6rem .8rem;border:1px solid var(--rule);border-radius:12px;background:#fff}
.bulk-bar-label{font-weight:700}
.bulk-bar .help{margin:0;flex-basis:100%}
.bulk-picks{display:flex;flex-wrap:wrap;gap:.25rem 1rem;flex-basis:100%;font-size:var(--step--1,.9rem);font-weight:600}
.bulk-picks a[aria-current]{color:var(--muted);text-decoration:none}
.bulk-bar{scroll-margin-top:6rem}
.books-table .bt-pick{width:2.25rem;padding-inline-end:0}
.bt-pick input{width:1.15rem;height:1.15rem}
.bulk-all{margin-block:1rem}
.bulk-all legend{font-weight:700;padding-inline:.35rem}
.bulk-table td{vertical-align:middle}
.bulk-title{min-width:12rem;font-weight:600;vertical-align:top!important}
.bulk-input{width:6.5rem;min-height:2.4rem;padding:.35rem .5rem}
.bulk-table .error-text{margin:.2rem 0 0;font-size:.8rem;max-width:9rem}
.bulk-save{position:sticky;bottom:calc(4.5rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);padding:.6rem;border-radius:12px;border:1px solid var(--rule);margin-top:1rem;width:fit-content}
@media (min-width:48rem){.bulk-save{bottom:1rem}}
.faq{border-block-end:1px solid var(--rule);padding:.9rem 0;max-width:48rem}
.faq summary{cursor:pointer;font-weight:600;font-size:1.05rem}
.faq p{margin:.6rem 0 0;color:var(--ink-soft,#4b5a55);line-height:1.7}
.help-contact{margin-top:2.5rem}
.help-ways{list-style:none;padding:0;margin:1rem 0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));max-width:48rem}
.help-ways .help{margin:.4rem 0 0}
.ticket-meta{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin:0 0 1rem}
.ticket-thread{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;gap:.75rem;max-width:44rem}
.ticket-msg{padding:.8rem 1rem;border:1px solid var(--rule);border-radius:12px;background:#fff}
.ticket-staff{background:#F1F8F5;border-color:#B9D8CC;margin-inline-start:1.5rem}
.ticket-who{margin:0 0 .3rem;font-size:var(--step--1,.9rem)}
.ticket-body{margin:0;overflow-wrap:anywhere}
.ticket-photo img{max-width:min(100%,16rem);border-radius:8px;border:1px solid var(--rule);margin-top:.5rem}
.ticket-form{max-width:44rem}
.ticket-form textarea,.ticket-form input[type=file]{width:100%}
.ticket-close{margin-top:1rem}
.order-help{margin-top:1.25rem;font-weight:600}
.stars{color:#E3A21A;letter-spacing:.06em;white-space:nowrap;font-size:1rem;line-height:1}
.stars-off{color:#D9DFDC}
.stars-lg{font-size:1.35rem}
.reviews{margin-block:2.5rem;max-width:48rem}
.review-summary{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:1.1rem;margin:.25rem 0 1rem}
.review-list,.review-queue{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:1rem}
.review{padding-block:.9rem;border-block-start:1px solid var(--rule)}
.review-head{margin:0 0 .3rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.review-body{margin:0;white-space:normal;overflow-wrap:anywhere}
.review-write{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-top:1rem}
.review-write .help{margin:0}
.review-link{margin:.25rem 0 0;font-size:var(--step--1,.9rem);font-weight:600}
.review-for{font-size:1.15rem;margin:0 0 .75rem}
.star-pick{border:0;padding:0;margin:0 0 1rem;display:grid;gap:.35rem}
.star-pick legend{font-weight:600;margin-bottom:.4rem;padding:0}
.star-pick label{display:flex;align-items:center;gap:.6rem;padding:.35rem .5rem;border-radius:8px;cursor:pointer;width:fit-content}
.star-pick label:has(input:checked){background:var(--saffron-tint,#FFF4DA)}
.star-pick input{width:1.1rem;height:1.1rem;flex:none}
.star-pick .stars{font-size:1.3rem}
.review-form textarea{width:100%}
.review-remove{margin-top:1.25rem}
.review-card{display:grid;gap:.5rem}
.review-card p{margin:0}
.review-actions{display:flex;gap:.75rem;align-items:flex-start;flex-wrap:wrap}
.review-act{margin:0}
.review-decline{display:grid;gap:.6rem;margin-top:.6rem;max-width:30rem}
.stock-alert{margin:.35rem 0 0}
.stock-alert a{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:var(--step--1,.9rem);color:var(--emerald-deep,#0D5E50)}
.stock-alert svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.stock-alert svg{width:1.05rem;height:1.05rem;flex:none}
.stock-ask{margin-block:1rem 1.5rem}
.stock-ask h2{margin-top:0}
.order-discount dd,.order-discount dt{color:var(--emerald-deep,#0D5E50)!important}
.coupon-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85em;font-weight:700;letter-spacing:.04em;background:var(--saffron-tint,#FFF4DA);border:1px dashed #E3A21A;border-radius:6px;padding:.05rem .4rem;white-space:nowrap}
.coupon-box{margin:.25rem 0 1rem;padding:.75rem .9rem;border:1px dashed var(--rule,#D3DBD7);border-radius:10px;background:#fff}
.coupon-box summary{cursor:pointer;font-weight:600;color:var(--emerald-deep,#0D5E50)}
.coupon-form{display:flex;gap:.5rem;margin-top:.6rem}
.coupon-form input{flex:1;min-width:0;text-transform:uppercase}
.coupon-form input::placeholder{text-transform:none}
.coupon-on{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap;border-style:solid;border-color:#B9D8CC;background:#F1F8F5}
.coupon-wait{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.coupon-on form,.coupon-wait form,.coupon-toggle{margin:0;display:inline}
.coupon-applied{margin:0;flex:1;min-width:12rem}
.nav-home{display:none!important}
@media (max-width:47.99rem){
  body{padding-bottom:calc(4.25rem + env(safe-area-inset-bottom))}
  .site-header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none!important;filter:none!important}
  .header-actions{position:fixed;inset-inline:0;bottom:0;z-index:150;margin:0;display:grid!important;grid-template-columns:repeat(6,1fr);gap:0!important;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-top:1px solid var(--rule);box-shadow:0 -6px 24px -12px rgba(16,32,27,.25);padding:.3rem .25rem calc(.3rem + env(safe-area-inset-bottom))}
  .header-actions .account-link,.nav-home{display:flex!important;flex-direction:column;gap:.15rem;padding:.35rem .1rem!important;font-size:.6875rem!important;line-height:1.15;text-align:center;color:var(--ink-soft,#4b5a55);box-shadow:none!important;min-height:3rem;justify-content:center;border-radius:10px}
  .header-actions .account-link span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .header-actions svg{width:1.35rem;height:1.35rem}
  .header-actions .account-link[aria-current="page"]{color:var(--emerald);background:var(--emerald-tint,#e6f4f1)}
  .header-row{flex-wrap:nowrap}
  .header-search{order:0;flex:1 1 auto;min-width:0}
  .brand-logo{width:7.5rem;height:auto}
  .qv,.lb{z-index:400}
}
/* ---- Publisher logos of any shape (round, square, wide): shown whole on a white rounded tile, never cropped ---- */
/* The frame follows the logo's own shape: a wide logo gets a wide tile, a tall logo a tall one, a round or square one a square. */
input[readonly]{background:var(--paper);color:inherit;opacity:.8;cursor:default}
img.pub-mark{width:auto;max-width:100%;border-radius:14px;object-fit:contain;background:#fff;padding:.4rem;box-sizing:border-box}
img.pub-mark-sm{height:2.25rem;max-width:5.5rem;padding:.15rem;border-radius:8px}
img.pub-mark-md{height:4.5rem;max-width:11rem}
img.pub-mark-lg{height:7.5rem;max-width:18rem;padding:.55rem;border-radius:18px}
.pub-hero img.pub-mark-lg,.pub-hero.has-banner img.pub-mark-lg{width:auto;height:4.75rem;max-width:11rem;padding:.35rem}
@media (max-width:40rem){.pub-hero img.pub-mark-lg,.pub-hero.has-banner img.pub-mark-lg{width:auto;height:3.5rem;max-width:8rem}}
/* ---- "Choose file" buttons: white words on green when pointed at, wherever the box sits ---- */
input[type=file]::file-selector-button:hover,.upload-form input[type=file]::file-selector-button:hover,.drop-zone input[type=file]::file-selector-button:hover{background:var(--emerald);border-color:var(--emerald);color:#fff}
/* ---- Phone polish (14 Nov 2026): tighter spacing, inputs that do not zoom, a bottom bar whose labels fit, tables and bills that read without sideways scrolling ---- */
@media (max-width:47.99rem){
  .header-actions{grid-template-columns:repeat(6,minmax(0,1fr))}
  .header-actions .account-link,.nav-home{min-width:0;font-size:.64rem!important;letter-spacing:0}
  .header-actions .account-link span{display:block}
  .section{padding-block:1.25rem .75rem}
  .wrap{padding-inline:.9rem}
  .page-title{font-size:clamp(1.45rem,6.2vw,1.9rem);line-height:1.2;margin-block-end:.4rem}
  .lead{font-size:1rem;line-height:1.5}
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}
  .button{min-height:2.75rem}.button-small{min-height:2.4rem}
  .form-actions{display:flex;flex-wrap:wrap;gap:.6rem}.form-actions .button{flex:1 1 9rem}
  .dash-head{display:grid;gap:.6rem}.dash-head .dash-actions{display:flex;flex-wrap:wrap;gap:.4rem}
  .filters{padding:.75rem;gap:.6rem}.filters .field{flex:1 1 8rem;min-width:0}.filters input,.filters select{width:100%}
  .stat-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.stat dd{font-size:1.25rem}
  .table th,.table td{padding:.55rem .65rem}
  .chips{flex-wrap:nowrap;margin-inline:-.9rem;padding-inline:.9rem;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}
  .app-nav ul{margin-inline:-.9rem;padding-inline:.9rem;scroll-snap-type:x proximity}.app-nav li{scroll-snap-align:start}
  .app-nav{position:relative}.app-nav::after{content:"";position:absolute;inset-block:0;inset-inline-end:-.9rem;width:2rem;pointer-events:none;background:linear-gradient(to var(--fade-to,right),transparent,var(--paper,#F5F8F7))}
  [dir=rtl] .app-nav::after{--fade-to:left}
  .typing-bar.typing-float{inset-inline-end:.5rem;opacity:.92}
  .typing-float .typing-float-label,.typing-float summary span:not(:first-child){display:none}
  .site-footer{margin-block-start:2rem}
  /* the counter on a phone: bill lines as cards, tiles three across, the pay button always in reach */
  .pos{gap:1rem}
  .pos .table-wrap{border:0;background:none;overflow:visible}
  .pos-lines,.pos-lines tbody{display:block}.pos-lines thead{display:none}
  .pos-lines tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem .75rem;align-items:center;padding:.7rem .8rem;margin-block-end:.5rem;border:1px solid var(--rule);border-radius:14px;background:var(--surface)}
  .pos-lines td{display:block;padding:0!important;border:0!important;text-align:start!important;white-space:normal}
  .pos-lines td:nth-child(1){grid-column:1/-1}.pos-lines td:nth-child(2){color:var(--muted)}.pos-lines td:nth-child(3){justify-self:end}.pos-lines td:nth-child(4){font-size:1.05rem}.pos-lines td:nth-child(5){justify-self:end}
  .pos-return .pos-lines td:nth-child(3){justify-self:start}.pos-return .pos-lines td:nth-child(4){justify-self:end}
  .pos-qty a{width:2.4rem;height:2.4rem}
  .pos-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
  .pos-pay{padding:1rem}.pos-pay .pos-methods{grid-template-columns:repeat(auto-fit,minmax(4.6rem,1fr))}
  .report-menu a{padding:.5rem .7rem}
  .bill{padding:1rem;border-radius:12px}
}
@media (max-width:23rem){.pos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-actions .account-link,.nav-home{font-size:.58rem!important}}
@media print{.header-actions{display:none!important}body{padding-bottom:0}}
.share{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--rule)}
.share-label{font-size:.875rem;font-weight:600;margin-inline-end:.25rem}
.share-link{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:999px;border:1px solid var(--rule);color:var(--ink);background:var(--surface);transition:background .15s,color .15s,border-color .15s}
.share-link svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.share-link:hover{color:#fff;border-color:transparent}
.share-whatsapp:hover{background:#25d366}.share-telegram:hover{background:#229ed9}.share-facebook:hover{background:#1877f2}.share-x:hover{background:#111}.share-email:hover{background:var(--emerald)}
.related{margin-top:3rem}
.related-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.related-head h2{margin:0}
.related-more{font-weight:600;font-size:.9375rem}
@media (max-width:39.99rem){
  .grid-row{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:46%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.75rem;-webkit-overflow-scrolling:touch}
  .grid-row>.card{scroll-snap-align:start}
}
.table-wrap,.book .table{max-width:100%}
.book-main .table{display:block;overflow-x:auto}
@media screen{.slip .table{display:block;overflow-x:auto}}
.filter-check{align-self:end;padding-bottom:.6rem;white-space:nowrap}
.crumbs{font-size:.875rem;color:var(--muted,#6b7a75)}
.crumbs a{color:inherit}
@media (max-width:30rem){.row-pop>.pop-menu,.row-pop>.quick-form{max-width:calc(100vw - 2rem);white-space:normal}}

.stat-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.75rem;margin:0 0 1rem}
.stat{background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:.9rem 1rem}
.stat dt{font-size:.8125rem;color:var(--muted,#6b7a75);font-weight:600}
.stat dd{margin:.2rem 0 0;font-size:1.35rem;font-weight:800;color:var(--ink)}
.stat p{margin:.15rem 0 0;font-size:.8125rem;color:var(--muted,#6b7a75)}
.reader{max-width:60rem;margin-inline:auto}
.reader-title{font-size:var(--step-1,1.25rem);margin:.2rem 0 .6rem}
.reader-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.6rem 0}
.reader-count{font-weight:700;font-size:.95rem;text-align:center}
.reader-nav .is-off{opacity:.4;pointer-events:none}
.reader-tools{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;justify-content:space-between;margin:.4rem 0 .8rem}
.reader-jump{display:flex;gap:.4rem;align-items:center;font-size:.9rem}
.reader-jump input{width:5.5rem;padding:.35rem .5rem;border:1px solid var(--rule);border-radius:8px;font:inherit}
.reader-page{overflow:auto;border:1px solid var(--rule);border-radius:10px;background:#e9eeec;-webkit-overflow-scrolling:touch}
.reader-sheet{position:relative;display:block;width:100%;max-width:52rem;margin-inline:auto;overflow:hidden;background:#fff;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.reader-zoom .reader-sheet{width:180%;max-width:none}
.reader-sheet img{display:block;width:100%;height:auto;pointer-events:none}
.reader-mark{position:absolute;inset:-20% -30%;display:grid;grid-template-columns:repeat(3,1fr);align-content:space-around;justify-items:center;transform:rotate(-28deg);color:#000;opacity:.09;font-weight:700;font-size:clamp(.8rem,2.2vw,1.25rem);white-space:nowrap}
.reader-hint{text-align:center;margin:.5rem 0}
@media print{.reader-page{display:none}}
.reader-bar{display:grid;gap:.5rem;margin:.4rem 0 .7rem;padding:.6rem .7rem;border:1px solid var(--rule);border-radius:12px;background:#fff}
.reader-bar[hidden]{display:none}
.reader-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}
.reader-bar .reader-jump input{width:4.8rem;text-align:center}
@media (max-width:34rem){.reader-row-nav{display:grid;grid-template-columns:1fr 1fr}.reader-row-nav .reader-jump{grid-column:1/-1;justify-content:center;order:-1}}
.reader-slide{width:100%;accent-color:var(--emerald)}
.reader-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem}
.reader-ico{min-width:2.4rem;padding-inline:.4rem;font-size:1.2rem;line-height:1}
.reader-zoom-now{min-width:3.2rem;text-align:center;font-weight:700;font-size:.9rem}
.reader-bar [aria-pressed=true]{background:var(--emerald);color:#fff;border-color:var(--emerald)}
.reader-bar button:disabled{opacity:.4}
.reader-settings summary{cursor:pointer;font-weight:700}
.reader-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.6rem 1rem;margin:.6rem 0}
.reader-opt{display:grid;gap:.2rem;font-size:.9rem;font-weight:600}
.reader-opt select{padding:.4rem .5rem;border:1px solid var(--rule);border-radius:8px;font:inherit;background:#fff}
.reader-opt input[type=range]{accent-color:var(--emerald)}
.reader-check{display:flex;align-items:center;gap:.5rem}
.reader-h{font-size:1rem;margin:.8rem 0 .3rem}
.reader-marks{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}
.reader-js .reader-basic{display:none}
.reader-js .reader-page{display:grid;position:relative;cursor:pointer;outline-offset:2px}
.reader-js .reader-page.reader-turning{overflow:hidden}
.reader-spread{grid-area:1/1;justify-self:center;display:flex;align-items:flex-start;gap:2px;will-change:transform,opacity;backface-visibility:hidden}
.reader-spread.reader-rtl{flex-direction:row-reverse}
.reader-spread .reader-sheet{flex:1 1 0;width:auto;max-width:none;margin:0;box-shadow:0 1px 6px rgba(0,0,0,.18)}
.reader-sheet img{filter:brightness(var(--reader-dim,1))}
.reader-mode-sepia .reader-page{background:#d8ccb4}.reader-mode-sepia .reader-sheet img{filter:sepia(.5) brightness(calc(var(--reader-dim,1)*.97))}
.reader-mode-dark .reader-page{background:#0f1412;border-color:#0f1412}.reader-mode-dark .reader-sheet{background:#111}
.reader-mode-dark .reader-sheet img{filter:invert(1) hue-rotate(180deg) brightness(var(--reader-dim,1))}.reader-mode-dark .reader-mark{color:#fff;opacity:.12}
.reader-mode-contrast .reader-sheet img{filter:grayscale(1) contrast(1.7) brightness(var(--reader-dim,1))}
.reader-big .reader-bar .button-small{min-height:3rem;padding:.6rem 1.1rem;font-size:1.05rem}
.reader-big .reader-ico{min-width:3rem;font-size:1.5rem}
.reader:fullscreen{max-width:none;margin:0;padding:.6rem;overflow:auto;background:var(--paper,#f5f8f7)}
.reader:fullscreen .reader-head{display:none}
.typing-bar.typing-float{position:fixed;inset-inline:auto 1rem;bottom:1rem;top:auto;width:auto;z-index:140;display:block;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.typing-bar.typing-float[hidden]{display:none}
.to-top{position:fixed;inset-inline-end:1rem;bottom:4.5rem;z-index:139;display:grid;place-items:center;width:2.9rem;height:2.9rem;border-radius:50%;background:#fff;color:var(--emerald,#009688);border:1.5px solid var(--mint,#BFE5DD);box-shadow:0 8px 20px rgba(0,70,58,.2);text-decoration:none;transition:transform .2s ease,background .2s ease,color .2s ease}
.to-top:hover,.to-top:focus-visible{background:var(--emerald,#009688);border-color:var(--emerald,#009688);color:#fff;transform:translateY(-3px)}
.to-top svg{transition:transform .2s ease}.to-top:hover svg{transform:translateY(-2px)}
@media (max-width:47.99rem){.to-top{bottom:calc(8.2rem + env(safe-area-inset-bottom));inset-inline-end:.6rem;width:2.6rem;height:2.6rem}}
@supports (animation-timeline:scroll()){.to-top{animation:to-top-in linear both;animation-timeline:scroll(root);animation-range:0 30rem}}
@keyframes to-top-in{0%,70%{opacity:0;visibility:hidden;translate:0 14px}100%{opacity:1;visibility:visible;translate:0 0}}
@media (prefers-reduced-motion:no-preference){html:has(.to-top:is(:hover,:focus,:active)){scroll-behavior:smooth}}
@media print{.to-top{display:none}}
.typing-pop>summary{list-style:none;display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .7rem;border:1px solid var(--rule);border-radius:999px;background:#fff;color:var(--ink);font-weight:700;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.14)}
.typing-pop>summary::-webkit-details-marker{display:none}
.typing-on .typing-pop>summary{background:var(--emerald);border-color:var(--emerald);color:#fff}
.typing-now{min-width:1rem;text-align:center}
.typing-panel{position:absolute;bottom:calc(100% + .5rem);inset-inline-end:0;width:min(24rem,calc(100vw - 2rem));max-height:min(70vh,32rem);overflow:auto;display:grid;gap:.5rem;padding:.8rem;border:1px solid var(--rule);border-radius:14px;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.2)}
.typing-float .typing-keys{max-height:none}
@media (max-width:47.99rem){.typing-bar.typing-float{bottom:calc(4.6rem + env(safe-area-inset-bottom));inset-inline-end:.6rem}}
.price-drag{margin-top:.5rem;display:grid;gap:.3rem}
.price-drag[hidden]{display:none}
.price-track{position:relative;height:1.6rem}
.price-track::before{content:"";position:absolute;inset-inline:0;top:50%;height:.3rem;margin-top:-.15rem;border-radius:999px;background:var(--rule)}
.price-fill{position:absolute;top:50%;height:.3rem;margin-top:-.15rem;border-radius:999px;background:var(--emerald)}
.price-track input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none;min-height:0}
.price-track input[type=range]::-webkit-slider-runnable-track{background:none;height:1.6rem}
.price-track input[type=range]::-moz-range-track{background:none;height:1.6rem}
.price-track input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:1.3rem;height:1.3rem;margin-top:.15rem;border-radius:50%;border:2px solid var(--emerald);background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);cursor:grab}
.price-track input[type=range]::-moz-range-thumb{pointer-events:auto;width:1.1rem;height:1.1rem;border-radius:50%;border:2px solid var(--emerald);background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);cursor:grab}
.price-track input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--emerald);outline-offset:2px}
.price-out{font-size:.875rem;font-weight:700;color:var(--ink);text-align:center}
.steps{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:0 0 1.25rem;counter-reset:none}
.step{flex:1 1 9rem;min-width:0}
.step>a,.step>span{display:flex;align-items:center;gap:.5rem;height:100%;padding:.55rem .75rem;border:1px solid var(--rule);border-radius:12px;background:#fff;text-decoration:none;color:var(--muted,#6b7a75);font-weight:600;font-size:.9rem}
.step-n{flex:none;display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;border:1px solid currentColor;font-size:.85rem}
.step-now>span{border-color:var(--emerald);color:var(--ink);box-shadow:inset 0 -3px 0 var(--emerald)}
.step-now .step-n{background:var(--emerald);border-color:var(--emerald);color:#fff}
.step-done>a,.step-done>span{color:var(--emerald)}
.step-done>a:hover{border-color:var(--emerald)}
.choice-row{display:flex;flex-wrap:wrap;gap:.6rem}
.choice{display:flex;gap:.6rem;align-items:center;padding:.7rem 1rem;border:1px solid var(--rule);border-radius:12px;background:#fff;cursor:pointer;min-width:11rem}
.choice:has(input:checked){border-color:var(--emerald);background:#f1faf7;box-shadow:inset 0 0 0 1px var(--emerald)}
.choice input{width:1.15rem;height:1.15rem;accent-color:var(--emerald)}
.choice-groups{display:grid;gap:1rem}.choice-groups h3{margin:0 0 .4rem;font-size:1rem}
.step-chosen{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:baseline;margin:0 0 1rem}
.typing-bar{position:sticky;top:.5rem;z-index:5;margin:0 0 1rem;padding:.55rem .8rem;border:1px solid var(--rule);border-radius:12px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.08);display:grid;gap:.35rem}
.typing-bar[hidden]{display:none}
.typing-main{display:flex;flex-wrap:wrap;gap:.4rem .9rem;align-items:center}
.typing-langs{display:flex;flex-wrap:wrap;gap:.3rem}
.typing-langs label{cursor:pointer}
.typing-langs input{position:absolute;opacity:0;width:1px;height:1px}
.typing-langs span{display:inline-block;padding:.25rem .7rem;border:1px solid var(--rule);border-radius:999px;font-weight:600;font-size:.9rem}
.typing-langs input:checked+span{background:var(--emerald);border-color:var(--emerald);color:#fff}
.typing-langs input:focus-visible+span{outline:2px solid var(--emerald);outline-offset:2px}
.typing-phon{display:inline-flex;gap:.35rem;align-items:center;font-size:.9rem;font-weight:600}
.typing-phon:has(input:disabled){opacity:.45}
.typing-kb summary,.typing-help summary{cursor:pointer;font-weight:600;font-size:.9rem}
.typing-help{position:absolute;inset-inline-end:.8rem;top:.55rem}.typing-help summary{list-style:none;width:1.6rem;height:1.6rem;border:1px solid var(--rule);border-radius:50%;text-align:center;line-height:1.5rem}
.typing-help summary::-webkit-details-marker{display:none}
.typing-help[open]{position:static}.typing-help[open] summary{margin-inline-start:auto}
.typing-plain .typing-kb{display:none}
.typing-keys{margin-top:.4rem;max-height:40vh;overflow:auto;display:grid;gap:.25rem}
.typing-row{display:flex;flex-wrap:wrap;gap:.25rem}
.typing-key{min-width:2.3rem;min-height:2.3rem;padding:.15rem .4rem;border:1px solid var(--rule);border-radius:8px;background:#fff;font:inherit;font-size:1.1rem;cursor:pointer}
.typing-key:hover,.typing-key:focus-visible{border-color:var(--emerald);background:#f1faf7}
.typing-wide{min-width:5.5rem;font-size:.9rem}
.lang-form .check-list{display:grid;gap:.35rem;margin:.4rem 0 1rem}
.stat-links{list-style:none;padding:0}
.stat-links a.stat{display:block;height:100%;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}
.stat-links a.stat:hover,.stat-links a.stat:focus-visible{border-color:var(--emerald);box-shadow:0 2px 10px rgba(0,0,0,.07)}
.stat-k{display:block;font-size:.8125rem;color:var(--muted,#6b7a75);font-weight:600}
.stat-v{display:block;margin:.2rem 0 0;font-size:1.35rem;font-weight:800;color:var(--ink)}
.stat-n{display:block;margin:.15rem 0 0;font-size:.8125rem;color:var(--muted,#6b7a75)}
.stat-accent .stat-k,.stat-accent .stat-v,.stat-accent .stat-n{color:#fff}
.dash-glance{margin:1rem 0 1.25rem}
.top-sellers{margin:.25rem 0 0}.top-sellers summary{font-weight:700;cursor:pointer}
.top-list{margin:.5rem 0 0;padding-inline-start:1.4rem}.top-list li{margin:.25rem 0}
.stat-accent{background:var(--emerald);border-color:var(--emerald)}.stat-accent dt,.stat-accent dd,.stat-accent p{color:#fff}
.stat-warn{border-color:#e0a930;background:#fff8e6}
.table-money td,.table-money th{white-space:nowrap}
.payout-form{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));align-items:end;margin-top:.5rem}
.account-tiles{list-style:none;padding:0;margin:1.5rem 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem}
.account-tiles a{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--rule);border-radius:14px;background:var(--surface);text-decoration:none;color:var(--ink);font-weight:600;min-height:5.5rem}
.account-tiles a:hover{border-color:var(--emerald);color:var(--emerald)}
.account-tiles svg{width:1.5rem;height:1.5rem;fill:none;stroke:var(--emerald);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.address-list{list-style:none;padding:0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}
.address-card{border:1px solid var(--rule);border-radius:14px;padding:1rem;background:var(--surface);display:grid;gap:.75rem}
.address-card address{font-style:normal;line-height:1.5}
.address-default{border-color:var(--emerald)}
.address-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.link-danger{color:#b42318}
.narrow-form{max-width:32rem}

.golive summary{display:flex;align-items:center;gap:.75rem;cursor:pointer;list-style:none}
.golive summary h2{margin:0}
.checklist{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.5rem}
.checklist li{display:flex;gap:.6rem;align-items:baseline}
.check-mark{display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:999px;font-weight:800;font-size:.8rem;flex:none}
.check-ok .check-mark{background:var(--emerald);color:#fff}
.check-todo .check-mark{background:#e0a930;color:#1b1b1b}

/* ---- Books list (Nov 2026): category chips, compact filters, active filters, tidy cards ---- */
.listing-head{margin-bottom:1rem}
@media (max-width:47.99rem){.section.listing{padding-block-start:1.25rem}}
.listing-head .page-title{margin-bottom:.25rem}
.listing-lead{color:var(--muted,#6b7a75);margin:0}
.listing-head{position:relative;overflow:hidden;padding:1.1rem 1.3rem 1.15rem;border:1px solid var(--mint,#BFE5DD);border-radius:22px;background:radial-gradient(circle at 96% -10%,rgba(242,179,61,.28),transparent 34%),radial-gradient(circle at 82% 130%,rgba(0,150,136,.16),transparent 38%),linear-gradient(120deg,#EAF8F4,#FFF9EA)}
.listing-head .page-title{position:relative;display:inline-block;margin:0 0 .85rem;padding-block-end:.5rem}
.listing-head .page-title::after{content:"";position:absolute;inset-inline-start:0;bottom:0;width:3.4rem;height:.34rem;border-radius:999px;background:linear-gradient(90deg,#F2B33D,#009688)}
.listing-chips{display:flex;flex-wrap:wrap;gap:.45rem .5rem}
.lc{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .8rem;border-radius:999px;background:#fff;border:1px solid var(--mint,#BFE5DD);color:var(--ink);font-size:.875rem;font-weight:600;line-height:1.4;box-shadow:0 2px 6px rgba(0,70,58,.07)}
.lc svg{flex:none;color:var(--emerald,#009688)}
.lc b{font-weight:800;color:var(--emerald-deep,#00695C)}
.lc-pubs svg,.lc-pubs b{color:#B7791F}
.lc-direct{background:var(--emerald,#009688);border-color:var(--emerald,#009688);color:#fff}.lc-direct svg{color:#fff}
.listing .shop-main>.count{display:inline-flex;align-items:center;gap:.45rem;margin:0 0 .9rem;padding:.25rem .85rem;border-radius:999px;background:#fff;border:1px solid var(--rule);font-size:.8125rem;font-weight:700;color:var(--muted)}
.listing .shop-main>.count::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:#F2B33D}
@media (max-width:40rem){.listing-head{padding:.9rem 1rem 1rem;border-radius:18px}.lc{font-size:.8125rem;padding:.25rem .65rem}}
.chips{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 0 .75rem;margin:0 0 .5rem;scrollbar-width:thin;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
.chip{flex:none;display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border:1px solid var(--rule);border-radius:999px;background:var(--surface);color:var(--ink);text-decoration:none;font-weight:600;font-size:.875rem;white-space:nowrap;scroll-snap-align:start;transition:border-color .15s,background .15s,color .15s}
.chip:hover{border-color:var(--emerald);color:var(--emerald)}
.chip[aria-current="page"]{background:var(--emerald);border-color:var(--emerald);color:#fff}
.chip-n{font-size:.75rem;font-weight:700;padding:.05rem .45rem;border-radius:999px;background:var(--emerald-tint,#e6f4f1);color:var(--emerald-deep,#0b5d4f)}
.chip[aria-current="page"] .chip-n{background:rgba(255,255,255,.22);color:#fff}
.filters-compact{gap:.6rem .75rem;padding:.85rem 1rem}
.filters-compact .field label{font-size:.8125rem}
@media (max-width:47.99rem){
  .filters-compact{display:grid;grid-template-columns:1fr 1fr;padding:.75rem}
  .filters-compact .field-search{grid-column:1/-1}
  .filters-compact .filter-check{padding:0;align-self:center;white-space:normal;font-size:.875rem}
  .filters-compact .field select{width:100%;min-width:0}
  .filters-compact .field{min-width:0}
  .filters-compact .button{padding-inline:.75rem}
  .filters-compact label{margin-bottom:.2rem}
}
.active-filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:-.5rem 0 1rem}
.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .5rem .3rem .75rem;border-radius:999px;background:var(--emerald-tint,#e6f4f1);color:var(--emerald-deep,#0b5d4f);font-size:.8125rem;font-weight:600;text-decoration:none}
.pill svg{width:.9rem;height:.9rem;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.pill:hover{background:var(--mint,#cdeee6)}
.pill-clear{font-size:.8125rem;font-weight:600;color:var(--muted,#6b7a75)}
.card-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.card-author,.card-pub{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;overflow:hidden}
.card-badge{display:block;align-self:stretch;margin:.2rem 0 0;font-size:.6875rem;font-weight:700;line-height:1.3;padding:.2rem .4rem;border-radius:8px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-title:lang(ta),.card-title:lang(ml){font-size:.875rem;letter-spacing:-.01em;line-height:1.65}
.card-author,.card-pub{line-height:1.65}
.card-badge-oos{background:#fff7e6;color:#8a4b00;border:1px solid #f0c66b}
.card-foot .price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .4rem}
@media (max-width:39.99rem){
  .grid{gap:1rem .75rem}
  .card{padding:.5rem .5rem .75rem}
  .card-title{font-size:.9375rem}
  .card-title:lang(ta),.card-title:lang(ml){font-size:.8125rem}
  .card-badge{font-size:.625rem;padding:.15rem .3rem}
  .card-pub{display:none}
  .card-foot .card-cat{display:none}
  .price-off{font-size:.6875rem}
}
@media (min-width:64rem){
  .header-row{flex-wrap:nowrap}
  .header-search{flex:1 1 16rem;max-width:none;min-width:12rem}
  .header-actions{flex-wrap:nowrap;gap:1.1rem;flex:none}
}

/* ---- Header and books-list polish ---- */
.brand{flex:none}
.brand-logo{max-width:none;flex:none}
@media (min-width:48rem){
  .brand-logo{height:4.25rem;width:auto}
  .header-row{gap:1rem 1.5rem}
}
@media (min-width:64rem){
  .header-search{flex:1 1 22rem}
  .header-actions{gap:1.25rem}
}
@media (min-width:48rem){
  .header-row{flex-wrap:nowrap}
  .header-search{flex:1 1 auto;min-width:10rem;max-width:none}
  .header-actions{flex:none;flex-wrap:nowrap;gap:.25rem;margin-inline-start:0}
  .header-actions .account-link{flex-direction:column;gap:.2rem;font-size:.75rem;font-weight:600;padding:.35rem .55rem;border-radius:10px;min-width:3.5rem;text-align:center;box-shadow:none}
  .header-actions .account-link:hover{background:var(--emerald-tint,#e6f4f1);box-shadow:none}
  .header-actions .account-link[aria-current="page"]{background:var(--emerald-tint,#e6f4f1)}
  .header-actions svg{width:1.35rem;height:1.35rem}
}
.chips{scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 3rem),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 3rem),transparent);padding-inline-end:2.5rem}
[dir="rtl"] .chips{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 3rem),transparent);mask-image:linear-gradient(270deg,#000 calc(100% - 3rem),transparent)}
.chips::-webkit-scrollbar{display:none}
@media (min-width:48rem){
  .filters-compact{display:grid;gap:.75rem 1rem;align-items:end;
    grid-template-columns:repeat(4,minmax(0,1fr)) auto;
    grid-template-areas:"search search price price go" "cat pub sort stock stock"}
  .filters-compact:not(:has(#fp)){grid-template-areas:"search search price price go" "cat sort stock stock stock"}
  .filters-compact .field-search{grid-area:search}
  .filters-compact .field-cat{grid-area:cat}
  .filters-compact .field-pub{grid-area:pub}
  .filters-compact .field:has(#fs){grid-area:sort}
  .filters-compact .price-range{grid-area:price}
  .filters-compact .filter-check{grid-area:stock}
  .filters-compact .button{grid-area:go}
  .filters-compact .field{margin:0;min-width:0}
  .filters-compact .field select,.filters-compact .field input{width:100%;min-width:0;height:2.9rem;box-sizing:border-box}
  .filters-compact .filter-check{margin:0;align-self:end;min-height:2.9rem;display:flex;align-items:center;gap:.6rem;padding:0;white-space:normal;line-height:1.3}
  .filters-compact .button{align-self:end;height:2.9rem;white-space:nowrap;padding-inline:1.5rem}
}
.price-range{border:0;padding:0;margin:0;min-width:0}
.price-range legend{font-size:.8125rem;font-weight:600;padding:0;margin-bottom:.35rem}
.price-inputs{display:flex;align-items:center;gap:.5rem}
.price-inputs input{flex:1 1 0;min-width:0;height:2.9rem;box-sizing:border-box}
.price-inputs span{color:var(--muted,#6b7a75)}
.price-inputs input{padding-inline:.85rem}
@media (min-width:48rem) and (max-width:71.99rem){
  .filters-compact{grid-template-areas:"search search price price go" "cat pub sort stock stock"}
  .filters-compact:not(:has(#fp)){grid-template-areas:"search search price price go" "cat sort stock stock stock"}
}
@media (max-width:47.99rem){
  .filters-compact .price-range{grid-column:1/-1}
  .filters-compact .button{grid-column:1/-1}
}
.listing .empty{max-width:none;margin:1rem 0;padding:2.5rem 1.5rem;text-align:center;background:var(--surface);border:1px dashed var(--rule);border-radius:16px}
.listing .empty .empty-star{margin-inline:auto}
.listing .empty p{max-width:32rem;margin-inline:auto}
.listing .empty + .more{margin-top:-.25rem;text-align:center}

/* Category row: arrow buttons on hover (browser-native scroll buttons, no script); browsers without them wrap the row on computers. */
.chips{scroll-behavior:smooth;anchor-name:--chips}
@supports selector(::scroll-button(*)){
  .chips::scroll-button(*){position:absolute;position-anchor:--chips;top:calc(anchor(center) - 1.4rem);width:2.5rem;height:2.5rem;border-radius:999px;border:1px solid var(--rule);background:#fff;color:var(--emerald-deep,#0b5d4f);font:700 1.35rem/1 system-ui,sans-serif;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px -8px rgba(16,32,27,.45);opacity:0;transition:opacity .2s,background .15s,color .15s;z-index:3}
  .chips::scroll-button(left){content:'‹' / 'Previous';left:calc(anchor(left) - .5rem)}
  .chips::scroll-button(right){content:'›' / 'Next';right:calc(anchor(right) - .5rem)}
  .chips:hover::scroll-button(*),.chips:focus-within::scroll-button(*){opacity:1}
  .chips::scroll-button(*):hover{background:var(--emerald);color:#fff;border-color:var(--emerald)}
  .chips::scroll-button(*):disabled{opacity:0;pointer-events:none}
  @media (hover:none){.chips::scroll-button(*){display:none}}
}
@supports not selector(::scroll-button(*)){
  @media (hover:hover) and (min-width:48rem){.chips{flex-wrap:wrap;overflow:visible;-webkit-mask-image:none;mask-image:none;padding-inline-end:0}}
}

/* ---- Site-wide polish (Nov 2026) ---- */
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{-webkit-font-smoothing:antialiased}
h1,h2,h3{text-wrap:balance}
p,li,dd{text-wrap:pretty}
:focus-visible{outline:3px solid var(--gilt,#e0a930);outline-offset:2px;border-radius:6px}
::selection{background:var(--emerald-tint,#cdeee6)}
/* Hero: four words on one line on computers, a tidy 2 × 2 on phones */
.hero-words{font-size:clamp(1.9rem,4.4vw,3.4rem);gap:.25rem .9rem;flex-wrap:wrap}
.hero-words>span{white-space:nowrap}
@media (max-width:47.99rem){
  .hero-words{display:grid;grid-template-columns:repeat(2,auto);justify-content:center;gap:.1rem 1.25rem;font-size:clamp(1.7rem,8vw,2.4rem)}
  .hero-words .hero-star{display:none}
}
/* Cart and checkout: items on the left, a sticky summary on the right */
.buy-layout{display:grid;gap:1.5rem;align-items:start;margin-top:1rem}
@media (min-width:60rem){.buy-layout{grid-template-columns:minmax(0,1fr) 22rem;gap:2rem}}
.buy-main{min-width:0}
.buy-main>.dash-section:first-child{margin-top:0}
.buy-summary{background:var(--surface);border:1px solid var(--rule);border-radius:16px;padding:1.25rem;box-shadow:var(--shadow,0 10px 30px -18px rgba(16,32,27,.35));display:grid;gap:1rem}
@media (min-width:60rem){.buy-summary{position:sticky;top:1rem}}
.buy-summary h2{margin:0;font-size:1.15rem}
.buy-summary .order-sum{margin:0}
.buy-summary form{display:grid;gap:.5rem;margin:0}
.buy-more{margin:0;text-align:center;font-size:.9375rem}
/* Sign-in and sign-up: a centred card */
.auth-card{max-width:28rem;margin-inline:auto;background:var(--surface);border:1px solid var(--rule);border-radius:18px;padding:clamp(1.25rem,4vw,2.25rem);box-shadow:var(--shadow,0 10px 30px -18px rgba(16,32,27,.35))}
.auth-card .page-title{margin-top:0}
.auth-card input{width:100%}
/* File pickers match the buttons */
input[type=file]{font:inherit;font-size:.875rem;color:var(--muted,#6b7a75);max-width:100%}
input[type=file]::file-selector-button{font:inherit;font-weight:600;font-size:.875rem;margin-inline-end:.75rem;padding:.5rem 1rem;border-radius:999px;border:1px solid var(--emerald);background:#fff;color:var(--emerald);cursor:pointer;transition:background .15s,color .15s}
input[type=file]::file-selector-button:hover{background:var(--emerald);color:#fff}
/* Notices and alerts: full width of their column, softer */
.notice,.alert{border-radius:12px}
.dash .notice,.dash .alert{max-width:none}
/* Tables: comfortable rows and a hover tint */
.table tbody tr{transition:background .12s}
.table tbody tr:hover{background:rgba(0,150,136,.04)}
/* Dashboard pages use the full width, with a readable cap */
.dash{max-width:76rem}
/* Footer links and small print */
.site-footer a{text-underline-offset:3px}
.site-footer a:hover{color:var(--gilt-pale,#f4d58d)}

.parcel{border-radius:16px;max-width:none}
.parcel>.parcel-head,.parcel>h2:first-child{margin-top:0!important}
.cart-cover .cover-made .cover-title,.cart-cover .cover-made .cover-author{display:none}
.cart-cover .cover-made .cover-star{width:55%;height:auto}

.buy{max-width:28rem;border-radius:16px}
.order-sum{max-width:28rem}
.buy-summary .order-sum{max-width:none}
.book-description{max-width:46rem;line-height:1.8}
.details{max-width:46rem}

/* Hover zoom on the main picture */
.zoom{position:relative;display:block;overflow:hidden;border-radius:12px;cursor:zoom-in;line-height:0}
.zoom-target{display:block;transition:transform .2s ease-out;transform-origin:50% 50%;will-change:transform}
.zoom-target .wm,.zoom-target img{display:block}
.zoom-grid{position:absolute;inset:0;z-index:3;display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr)}
.zoom-hint{position:absolute;bottom:.6rem;inset-inline-end:.6rem;z-index:4;width:2.25rem;height:2.25rem;border-radius:999px;background:rgba(255,255,255,.92);display:grid;place-items:center;box-shadow:0 4px 14px -6px rgba(0,0,0,.4);transition:opacity .2s;pointer-events:none}
.zoom-hint svg{width:1.1rem;height:1.1rem;fill:none;stroke:var(--emerald-deep,#0b5d4f);stroke-width:1.8}
@media (hover:hover) and (pointer:fine){
  .zoom:hover .zoom-target{transform:scale(2.4)}
  .zoom:hover .zoom-hint{opacity:0}
  .zoom:has(.zoom-grid>span:nth-child(1):hover) .zoom-target{transform-origin:5.6% 5.6%}
  .zoom:has(.zoom-grid>span:nth-child(2):hover) .zoom-target{transform-origin:16.7% 5.6%}
  .zoom:has(.zoom-grid>span:nth-child(3):hover) .zoom-target{transform-origin:27.8% 5.6%}
  .zoom:has(.zoom-grid>span:nth-child(4):hover) .zoom-target{transform-origin:38.9% 5.6%}
  .zoom:has(.zoom-grid>span:nth-child(5):hover) .zoom-target{transform-origin:50.0% 5.6%}
  .zoom:has(.zoom-grid>span:nth-child(6):hover) .zoom-target{transform-origin:61.1% 5.6%}
  .zoom:has(.zoom-grid>span:nth-child(7):hover) .zoom-target{transform-origin:72.2% 5.6%}
  .zoom:has(.zoom-grid>span:nth-child(8):hover) .zoom-target{transform-origin:83.3% 5.6%}
  .zoom:has(.zoom-grid>span:nth-child(9):hover) .zoom-target{transform-origin:94.4% 5.6%}
  .zoom:has(.zoom-grid>span:nth-child(10):hover) .zoom-target{transform-origin:5.6% 16.7%}
  .zoom:has(.zoom-grid>span:nth-child(11):hover) .zoom-target{transform-origin:16.7% 16.7%}
  .zoom:has(.zoom-grid>span:nth-child(12):hover) .zoom-target{transform-origin:27.8% 16.7%}
  .zoom:has(.zoom-grid>span:nth-child(13):hover) .zoom-target{transform-origin:38.9% 16.7%}
  .zoom:has(.zoom-grid>span:nth-child(14):hover) .zoom-target{transform-origin:50.0% 16.7%}
  .zoom:has(.zoom-grid>span:nth-child(15):hover) .zoom-target{transform-origin:61.1% 16.7%}
  .zoom:has(.zoom-grid>span:nth-child(16):hover) .zoom-target{transform-origin:72.2% 16.7%}
  .zoom:has(.zoom-grid>span:nth-child(17):hover) .zoom-target{transform-origin:83.3% 16.7%}
  .zoom:has(.zoom-grid>span:nth-child(18):hover) .zoom-target{transform-origin:94.4% 16.7%}
  .zoom:has(.zoom-grid>span:nth-child(19):hover) .zoom-target{transform-origin:5.6% 27.8%}
  .zoom:has(.zoom-grid>span:nth-child(20):hover) .zoom-target{transform-origin:16.7% 27.8%}
  .zoom:has(.zoom-grid>span:nth-child(21):hover) .zoom-target{transform-origin:27.8% 27.8%}
  .zoom:has(.zoom-grid>span:nth-child(22):hover) .zoom-target{transform-origin:38.9% 27.8%}
  .zoom:has(.zoom-grid>span:nth-child(23):hover) .zoom-target{transform-origin:50.0% 27.8%}
  .zoom:has(.zoom-grid>span:nth-child(24):hover) .zoom-target{transform-origin:61.1% 27.8%}
  .zoom:has(.zoom-grid>span:nth-child(25):hover) .zoom-target{transform-origin:72.2% 27.8%}
  .zoom:has(.zoom-grid>span:nth-child(26):hover) .zoom-target{transform-origin:83.3% 27.8%}
  .zoom:has(.zoom-grid>span:nth-child(27):hover) .zoom-target{transform-origin:94.4% 27.8%}
  .zoom:has(.zoom-grid>span:nth-child(28):hover) .zoom-target{transform-origin:5.6% 38.9%}
  .zoom:has(.zoom-grid>span:nth-child(29):hover) .zoom-target{transform-origin:16.7% 38.9%}
  .zoom:has(.zoom-grid>span:nth-child(30):hover) .zoom-target{transform-origin:27.8% 38.9%}
  .zoom:has(.zoom-grid>span:nth-child(31):hover) .zoom-target{transform-origin:38.9% 38.9%}
  .zoom:has(.zoom-grid>span:nth-child(32):hover) .zoom-target{transform-origin:50.0% 38.9%}
  .zoom:has(.zoom-grid>span:nth-child(33):hover) .zoom-target{transform-origin:61.1% 38.9%}
  .zoom:has(.zoom-grid>span:nth-child(34):hover) .zoom-target{transform-origin:72.2% 38.9%}
  .zoom:has(.zoom-grid>span:nth-child(35):hover) .zoom-target{transform-origin:83.3% 38.9%}
  .zoom:has(.zoom-grid>span:nth-child(36):hover) .zoom-target{transform-origin:94.4% 38.9%}
  .zoom:has(.zoom-grid>span:nth-child(37):hover) .zoom-target{transform-origin:5.6% 50.0%}
  .zoom:has(.zoom-grid>span:nth-child(38):hover) .zoom-target{transform-origin:16.7% 50.0%}
  .zoom:has(.zoom-grid>span:nth-child(39):hover) .zoom-target{transform-origin:27.8% 50.0%}
  .zoom:has(.zoom-grid>span:nth-child(40):hover) .zoom-target{transform-origin:38.9% 50.0%}
  .zoom:has(.zoom-grid>span:nth-child(41):hover) .zoom-target{transform-origin:50.0% 50.0%}
  .zoom:has(.zoom-grid>span:nth-child(42):hover) .zoom-target{transform-origin:61.1% 50.0%}
  .zoom:has(.zoom-grid>span:nth-child(43):hover) .zoom-target{transform-origin:72.2% 50.0%}
  .zoom:has(.zoom-grid>span:nth-child(44):hover) .zoom-target{transform-origin:83.3% 50.0%}
  .zoom:has(.zoom-grid>span:nth-child(45):hover) .zoom-target{transform-origin:94.4% 50.0%}
  .zoom:has(.zoom-grid>span:nth-child(46):hover) .zoom-target{transform-origin:5.6% 61.1%}
  .zoom:has(.zoom-grid>span:nth-child(47):hover) .zoom-target{transform-origin:16.7% 61.1%}
  .zoom:has(.zoom-grid>span:nth-child(48):hover) .zoom-target{transform-origin:27.8% 61.1%}
  .zoom:has(.zoom-grid>span:nth-child(49):hover) .zoom-target{transform-origin:38.9% 61.1%}
  .zoom:has(.zoom-grid>span:nth-child(50):hover) .zoom-target{transform-origin:50.0% 61.1%}
  .zoom:has(.zoom-grid>span:nth-child(51):hover) .zoom-target{transform-origin:61.1% 61.1%}
  .zoom:has(.zoom-grid>span:nth-child(52):hover) .zoom-target{transform-origin:72.2% 61.1%}
  .zoom:has(.zoom-grid>span:nth-child(53):hover) .zoom-target{transform-origin:83.3% 61.1%}
  .zoom:has(.zoom-grid>span:nth-child(54):hover) .zoom-target{transform-origin:94.4% 61.1%}
  .zoom:has(.zoom-grid>span:nth-child(55):hover) .zoom-target{transform-origin:5.6% 72.2%}
  .zoom:has(.zoom-grid>span:nth-child(56):hover) .zoom-target{transform-origin:16.7% 72.2%}
  .zoom:has(.zoom-grid>span:nth-child(57):hover) .zoom-target{transform-origin:27.8% 72.2%}
  .zoom:has(.zoom-grid>span:nth-child(58):hover) .zoom-target{transform-origin:38.9% 72.2%}
  .zoom:has(.zoom-grid>span:nth-child(59):hover) .zoom-target{transform-origin:50.0% 72.2%}
  .zoom:has(.zoom-grid>span:nth-child(60):hover) .zoom-target{transform-origin:61.1% 72.2%}
  .zoom:has(.zoom-grid>span:nth-child(61):hover) .zoom-target{transform-origin:72.2% 72.2%}
  .zoom:has(.zoom-grid>span:nth-child(62):hover) .zoom-target{transform-origin:83.3% 72.2%}
  .zoom:has(.zoom-grid>span:nth-child(63):hover) .zoom-target{transform-origin:94.4% 72.2%}
  .zoom:has(.zoom-grid>span:nth-child(64):hover) .zoom-target{transform-origin:5.6% 83.3%}
  .zoom:has(.zoom-grid>span:nth-child(65):hover) .zoom-target{transform-origin:16.7% 83.3%}
  .zoom:has(.zoom-grid>span:nth-child(66):hover) .zoom-target{transform-origin:27.8% 83.3%}
  .zoom:has(.zoom-grid>span:nth-child(67):hover) .zoom-target{transform-origin:38.9% 83.3%}
  .zoom:has(.zoom-grid>span:nth-child(68):hover) .zoom-target{transform-origin:50.0% 83.3%}
  .zoom:has(.zoom-grid>span:nth-child(69):hover) .zoom-target{transform-origin:61.1% 83.3%}
  .zoom:has(.zoom-grid>span:nth-child(70):hover) .zoom-target{transform-origin:72.2% 83.3%}
  .zoom:has(.zoom-grid>span:nth-child(71):hover) .zoom-target{transform-origin:83.3% 83.3%}
  .zoom:has(.zoom-grid>span:nth-child(72):hover) .zoom-target{transform-origin:94.4% 83.3%}
  .zoom:has(.zoom-grid>span:nth-child(73):hover) .zoom-target{transform-origin:5.6% 94.4%}
  .zoom:has(.zoom-grid>span:nth-child(74):hover) .zoom-target{transform-origin:16.7% 94.4%}
  .zoom:has(.zoom-grid>span:nth-child(75):hover) .zoom-target{transform-origin:27.8% 94.4%}
  .zoom:has(.zoom-grid>span:nth-child(76):hover) .zoom-target{transform-origin:38.9% 94.4%}
  .zoom:has(.zoom-grid>span:nth-child(77):hover) .zoom-target{transform-origin:50.0% 94.4%}
  .zoom:has(.zoom-grid>span:nth-child(78):hover) .zoom-target{transform-origin:61.1% 94.4%}
  .zoom:has(.zoom-grid>span:nth-child(79):hover) .zoom-target{transform-origin:72.2% 94.4%}
  .zoom:has(.zoom-grid>span:nth-child(80):hover) .zoom-target{transform-origin:83.3% 94.4%}
  .zoom:has(.zoom-grid>span:nth-child(81):hover) .zoom-target{transform-origin:94.4% 94.4%}
}
@media (hover:none){.zoom-grid{display:none}}
@media (prefers-reduced-motion:reduce){.zoom-target{transition:none}}

/* Price boxes: no spinner arrows */
.price-inputs input[type=number]{-moz-appearance:textfield;appearance:textfield}
.price-inputs input[type=number]::-webkit-outer-spin-button,.price-inputs input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.listing-lead,.section>.lead{max-width:none}

/* Titles in Anek (Latin, Tamil, Malayalam): one family, used in its narrow, normal and wide cuts. Arabic keeps Naskh. */
:root{--title:'Anek Latin','Anek Tamil','Anek Malayalam','Noto Naskh Arabic',var(--sans)}
h1,h2,h3,.page-title,.book-title,.card-title,.hero-words,.hero-words span:lang(en),.lang-tile-native,.pub-hero-name,.footer-brand,.details-heading,.cover-title{font-family:var(--title);letter-spacing:0}
h1,.page-title{font-stretch:104%}
h2,h3{font-stretch:100%}
.hero-words,.hero-words:lang(ta),.hero-words:lang(ml){font-family:var(--title);font-stretch:112%;font-weight:800}
.pub-hero-name{font-stretch:108%;font-weight:800}
.card-title{font-stretch:88%;font-weight:600;font-size:1.0625rem;line-height:1.3}
.card-title:lang(ta),.card-title:lang(ml){font-stretch:84%;font-weight:600;font-size:.9375rem;letter-spacing:0;line-height:1.55}
@media (max-width:30rem){.card-title{font-size:1rem}.card-title:lang(ta),.card-title:lang(ml){font-size:.875rem}}
.book-title{font-stretch:96%;font-weight:700;line-height:1.2}
.book-title:lang(ta),.book-title:lang(ml){font-stretch:90%;font-weight:700;line-height:1.4}

/* Book page: softer, rounder */
.book{gap:1.75rem}
.book-cover .zoom,.book-cover>.cover{border-radius:18px;box-shadow:0 26px 50px -26px rgba(10,60,48,.55),0 2px 6px rgba(10,60,48,.08)}
.book-title{font-size:clamp(1.75rem,3.6vw,2.6rem);margin:0}
.book-subtitle{font-family:var(--title);font-stretch:94%;font-size:1.125rem;margin:.35rem 0 0}
.book-author{display:inline-flex;align-items:center;gap:.45rem;margin:.8rem 0 0;padding:.35rem .9rem .35rem .75rem;border-radius:999px;background:var(--emerald-tint,#E3F4EF);color:var(--emerald-deep,#0A5A46);font-weight:600;font-size:.9375rem;line-height:1.5}
.book-author::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:#F2B33D;flex:none}
.buy{border-radius:22px;padding:1.1rem;border:1px solid var(--rule);background:linear-gradient(180deg,#fff,var(--surface,#fff));box-shadow:0 22px 44px -28px rgba(10,60,48,.45)}
.buy .format-list{gap:.6rem;margin-block-end:.85rem}
.buy .format-row{padding:.8rem .9rem;border:1px solid var(--rule);border-radius:16px;background:var(--paper,#F6FAF8);transition:border-color .2s,box-shadow .2s,transform .2s}
.buy .format-row:hover{border-color:var(--emerald,#0E8F6F);box-shadow:0 10px 22px -16px rgba(10,90,70,.6);transform:translateY(-1px)}
.buy .format-name{display:inline-flex;align-items:center;padding:.15rem .7rem;border-radius:999px;background:#fff;border:1px solid var(--rule);font-size:.8125rem;font-weight:700}
.buy .stock{display:inline-flex;align-items:center;gap:.4rem;margin:.45rem 0 .1rem;font-size:.8125rem;font-weight:700}
.buy .stock::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:currentColor}
.buy .button{border-radius:999px}
.buy .ships{display:flex;gap:.45rem;align-items:center;padding:.5rem .8rem;border-radius:12px;background:var(--paper,#F6FAF8);margin-top:.25rem}
.buy .sold-by{padding:.6rem .8rem;margin-block-start:.75rem;border:1px solid var(--rule);border-radius:14px;background:#fff;transition:border-color .2s,transform .2s}
.buy .sold-by:hover{border-color:var(--emerald,#0E8F6F);transform:translateY(-1px)}
.book-description{padding:1rem 1.15rem;border-radius:18px;background:var(--surface,#fff);border:1px solid var(--rule)}
.book-description p:first-child{margin-top:0}.book-description p:last-child{margin-bottom:0}
.details-heading{display:inline-flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700}
.details-heading::before{content:"";width:.6rem;height:1.2rem;border-radius:999px;background:linear-gradient(180deg,#12A27E,#F2B33D)}
.details{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));max-width:none}
.details div{display:grid;grid-template-columns:1fr;gap:.1rem;padding:.6rem .85rem;border:1px solid var(--rule);border-radius:14px;background:var(--surface,#fff)}
.details dt{font-size:.75rem;font-weight:700;color:var(--muted);letter-spacing:.02em}
.details dd{margin:0;font-weight:600;overflow-wrap:anywhere}

/* Back cover, inside pages and the sample tile, in one row under the cover */
.thumbs{max-width:none;gap:.65rem;align-items:stretch;margin-block-start:1rem}
.thumbs>a:not(.sample-tile){border-radius:10px;transition:transform .2s,box-shadow .2s}
.thumbs>a:not(.sample-tile):hover{transform:translateY(-3px) rotate(-1.5deg);box-shadow:0 12px 20px -12px rgba(0,0,0,.5)}
.thumbs .media-thumb{border-radius:10px;width:4.75rem}
.thumbs>.sample-tile{position:relative;display:grid;align-content:center;justify-items:center;gap:.2rem;width:7.25rem;min-height:7.125rem;padding:.9rem .4rem .5rem;border-radius:16px;text-align:center;text-decoration:none;line-height:1.25;color:#fff;background:linear-gradient(150deg,#14A983,#0A5A46);box-shadow:0 14px 26px -14px rgba(10,90,70,.85);transition:transform .22s cubic-bezier(.2,.8,.3,1.4),box-shadow .22s}
.sample-tile::after{content:"";position:absolute;inset:-4px;border-radius:20px;border:2px solid #F2B33D;opacity:0;animation:tile-ring 2.4s ease-out infinite;pointer-events:none}
@keyframes tile-ring{0%{opacity:.9;transform:scale(.96)}70%,100%{opacity:0;transform:scale(1.1)}}
.sample-tile:hover,.sample-tile:focus-visible{transform:translateY(-4px) scale(1.04);box-shadow:0 20px 32px -14px rgba(10,90,70,.95);color:#fff}
.sample-tile-icon{line-height:0;transition:transform .3s}
.sample-tile:hover .sample-tile-icon{transform:rotate(-8deg) scale(1.12)}
.sample-tile-name{font-family:var(--title);font-stretch:90%;font-weight:700;font-size:.875rem}
.sample-tile-pdf{font-size:.625rem;font-weight:800;letter-spacing:.1em;padding:.05rem .5rem;border-radius:999px;background:rgba(255,255,255,.2)}
.sample-tile-free{position:absolute;top:-.55rem;inset-inline-end:-.4rem;padding:.1rem .55rem;border-radius:999px;background:#F2B33D;color:#3A2A00;font-size:.6875rem;font-weight:800;box-shadow:0 4px 10px -4px rgba(0,0,0,.4);transform:rotate(6deg)}
[dir=rtl] .sample-tile-free{transform:rotate(-6deg)}

/* The sample reader pop-up (public/viewer.js) */
html:has(.pv[open]){overflow:hidden}
.pv{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:none;color:var(--ink);overflow:hidden;transform-origin:var(--pv-ox,50%) var(--pv-oy,50%)}
.pv[open]{display:grid;place-items:center;animation:pv-in .42s cubic-bezier(.16,.9,.24,1.06)}
.pv::backdrop{background:rgba(6,30,25,.6);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2)}
.pv[open]::backdrop{animation:pv-bg .35s ease}
.pv.pv-out{animation:pv-out .22s ease-in forwards}
.pv.pv-out::backdrop{opacity:0;transition:opacity .22s}
@keyframes pv-in{from{opacity:0;transform:scale(.2)}55%{opacity:1}to{opacity:1;transform:none}}
@keyframes pv-out{to{opacity:0;transform:scale(.55)}}
@keyframes pv-bg{from{opacity:0}}
.pv-card{width:min(100vw - 1.5rem,64rem);height:min(100vh - 1.5rem,62rem);height:min(100dvh - 1.5rem,62rem);display:grid;grid-template-rows:auto minmax(0,1fr);border-radius:26px;overflow:hidden;background:#EEF3F1;box-shadow:0 50px 100px -30px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.12)}
.pv-bar{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.65rem .8rem .75rem;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--rule),0 10px 24px -20px rgba(0,0,0,.4)}
.pv-name{flex:1 1 9rem;min-width:0;margin:0;display:grid;line-height:1.3;max-width:none}
.pv-kicker{font-size:.6875rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--emerald,#0E8F6F)}
.pv-book{font-family:var(--title);font-stretch:92%;font-weight:700;font-size:1.0625rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem}
.pv-group{display:inline-flex;align-items:center;gap:.1rem;padding:.2rem;border-radius:999px;background:#fff;border:1px solid var(--rule);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pv-b{appearance:none;-webkit-appearance:none;border:0;margin:0;padding:0;background:none;color:var(--ink);width:2.25rem;height:2.25rem;border-radius:50%;display:inline-grid;place-items:center;cursor:pointer;text-decoration:none;transition:background .15s,color .15s,transform .15s}
.pv-b:hover{background:var(--emerald-tint,#E3F4EF);color:var(--emerald-deep,#0A5A46)}
.pv-b:active{transform:scale(.9)}
.pv-b:disabled{opacity:.3;cursor:default;background:none}
.pv-b[hidden]{display:none}
.pv-x{background:var(--ink,#16332C);color:#fff}
.pv-x:hover{background:#C0392B;color:#fff;transform:rotate(90deg)}
.pv-pager{display:inline-flex;align-items:center;gap:.3rem;padding-inline:.2rem;font-weight:700;font-size:.875rem;font-variant-numeric:tabular-nums}
.pv-page{width:2.6rem;height:1.9rem;padding:0 .2rem;border:1px solid var(--rule);border-radius:10px;background:var(--paper,#F6FAF8);font:inherit;text-align:center;color:inherit;-moz-appearance:textfield;appearance:textfield}
.pv-page::-webkit-outer-spin-button,.pv-page::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pv-of{color:var(--muted);white-space:nowrap}
.pv-zoom{min-width:3rem;text-align:center;font-weight:700;font-size:.8125rem;font-variant-numeric:tabular-nums}
.pv-progress{position:absolute;inset-inline:0;bottom:0;height:3px;background:transparent}
.pv-progress i{display:block;height:100%;background:linear-gradient(90deg,#12A27E,#F2B33D);border-radius:0 3px 3px 0;transform:scaleX(0);transform-origin:left;transition:transform .12s linear}
[dir=rtl] .pv-progress i{transform-origin:right}
.pv-stage{position:relative;overflow:auto;overscroll-behavior:contain;padding:14px 12px 28px;outline:0;background:radial-gradient(circle at 1px 1px,rgba(10,90,70,.09) 1px,transparent 0) 0 0/18px 18px,#EEF3F1;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
.pv-pages{display:grid;gap:14px;justify-content:center;justify-items:center;width:max-content;min-width:100%}
.pv-sheet{position:relative;width:var(--pv-w,20rem);overflow:hidden;border-radius:8px;background:#fff linear-gradient(100deg,transparent 30%,rgba(18,162,126,.1) 50%,transparent 70%) 0 0/300% 100%;box-shadow:0 14px 30px -18px rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.05);transition:width .2s cubic-bezier(.2,.8,.3,1);animation:pv-sheet .5s cubic-bezier(.2,.8,.3,1) both,pv-shimmer 1.4s linear infinite;animation-delay:calc(var(--i,0)*70ms),0s}
.pv-sheet.pv-drawn{animation:pv-sheet .5s cubic-bezier(.2,.8,.3,1) both;background:#fff}
.pv-sheet canvas{display:block;width:100%;height:auto;animation:pv-bg .3s ease}
.pv-sheet::after{content:attr(data-n);position:absolute;bottom:.4rem;inset-inline-end:.5rem;padding:.05rem .5rem;border-radius:999px;background:rgba(22,51,44,.7);color:#fff;font-size:.6875rem;font-weight:700;opacity:0;transition:opacity .2s}
.pv-sheet:hover::after{opacity:1}
@keyframes pv-sheet{from{opacity:0;transform:translateY(26px) scale(.97)}}
@keyframes pv-shimmer{to{background-position:-300% 0}}
.pv-status{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:.75rem;padding:1.5rem;text-align:center}
.pv-status[hidden]{display:none}
.pv-status p{margin:0;max-width:none;font-weight:600}
.pv-spin{width:2.75rem;height:2.75rem;border-radius:50%;border:4px solid rgba(18,162,126,.2);border-top-color:#12A27E;animation:pv-turn .8s linear infinite}
@keyframes pv-turn{to{transform:rotate(360deg)}}
.pv-fail{display:none}
.pv-failed .pv-fail{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.pv-failed .pv-spin{display:none}
.pv-is-full .pv-card,.pv-card:fullscreen{width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;border-radius:0}
.pv-card::backdrop{background:#EEF3F1}
@media (max-width:40rem){
  .pv-card{width:100vw;height:100vh;height:100dvh;border-radius:0}
  .pv-bar{padding:.5rem .5rem .6rem;gap:.35rem}
  .pv-name{flex-basis:100%}
  .pv-kicker{display:none}
  .pv-tools{width:100%;justify-content:space-between;gap:.25rem}
  .pv-zoom{display:none}
  .pv-tools{flex-wrap:nowrap}
  .pv-b{width:2rem;height:2rem}
  .pv [data-pv="full"]{display:none}
  .pv-page{width:2.2rem}
  .pv-group{padding:.15rem}
  .pv-stage{padding:10px 8px 24px}
}
@media (prefers-reduced-motion:reduce){
  .pv[open],.pv[open]::backdrop,.pv.pv-out,.pv-sheet,.pv-sheet.pv-drawn,.pv-sheet canvas,.sample-tile::after{animation:none}
  .pv-sheet,.sample-tile,.pv-b{transition:none}
}
/* The introduction: the written one, or the back wrapper until the publisher writes it */
.intro-heading{margin-block:1.5rem .75rem}
.book-intro-pic{margin:0;max-width:26rem;padding:.6rem;border-radius:18px;background:var(--surface,#fff);border:1px solid var(--rule);box-shadow:0 18px 36px -26px rgba(10,60,48,.5)}
.book-intro-pic a{display:block;line-height:0;border-radius:12px;overflow:hidden;cursor:zoom-in}
.book-intro-pic .wm{display:block}
.book-intro-pic img{display:block;width:100%;height:auto;border-radius:12px;transition:transform .3s}
.book-intro-pic a:hover img{transform:scale(1.02)}
.book-intro-pic figcaption{margin-top:.5rem;text-align:center;font-size:.8125rem;font-weight:600;color:var(--muted)}
.pv-toast{position:sticky;bottom:1rem;z-index:3;display:flex;align-items:center;gap:.5rem;width:max-content;max-width:calc(100% - 1rem);margin:0 auto;padding:.6rem 1rem;border-radius:999px;background:#16332C;color:#fff;font-size:.875rem;font-weight:600;line-height:1.4;box-shadow:0 14px 30px -12px rgba(0,0,0,.6);animation:pv-toast .3s cubic-bezier(.2,.9,.3,1.3)}
.pv-toast::before{content:"";flex:none;width:.6rem;height:.6rem;border-radius:50%;background:#F2B33D}
.pv-toast[hidden]{display:none}
@keyframes pv-toast{from{opacity:0;transform:translateY(12px) scale(.94)}}
.pv-sheet canvas{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
/* Tags: on book and product pages, and the tag world on the home page */
.tags{margin-block-start:1.1rem;padding:.8rem .85rem .9rem;border-radius:18px;background:linear-gradient(160deg,#fff,var(--paper,#F6FAF8));border:1px dashed rgba(14,143,111,.35)}
.tags-title{display:inline-flex;align-items:center;gap:.4rem;margin-block-end:.55rem;font-family:var(--title);font-weight:700;font-size:.875rem;color:var(--emerald-deep,#0A5A46)}
.tags-title::before{content:"#";display:inline-grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;background:#F2B33D;color:#3A2A00;font-size:.8125rem;font-weight:800}
.tag-list,.tag-globe{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.tag{display:inline-flex;align-items:center;gap:.15rem;padding:.28rem .75rem;border-radius:999px;font-family:var(--title);font-stretch:92%;font-weight:600;font-size:.875rem;line-height:1.5;text-decoration:none;border:1px solid transparent;transition:transform .2s cubic-bezier(.2,.8,.3,1.5),box-shadow .2s,background .2s}
.tag>span[aria-hidden]{opacity:.55;font-weight:800}
a.tag:hover,a.tag:focus-visible{transform:translateY(-2px) rotate(-1.5deg);box-shadow:0 8px 16px -10px rgba(0,0,0,.45)}
.tag-c0{background:#E3F4EF;color:#0A5A46;border-color:#BFE6DA}
.tag-c1{background:#FFF1D2;color:#6B4A00;border-color:#F6D88E}
.tag-c2{background:#E8EEFF;color:#27408B;border-color:#C6D3FA}
.tag-c3{background:#FFE7EC;color:#8A2340;border-color:#F8C3CF}
.tag-c4{background:#EFE9FB;color:#4B2E83;border-color:#D6C8F3}
.tag-world{position:relative;overflow:hidden;padding:1.6rem 1.25rem 1.8rem;border-radius:28px;text-align:center;background:radial-gradient(60rem 22rem at 50% 120%,rgba(18,162,126,.16),transparent 60%),linear-gradient(180deg,#fff,var(--paper,#F6FAF8));border:1px solid var(--rule);box-shadow:0 26px 50px -36px rgba(10,60,48,.5)}
.tag-world::before,.tag-world::after{content:"";position:absolute;left:50%;top:58%;width:min(46rem,120%);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);border:1px dashed rgba(14,143,111,.22);pointer-events:none}
.tag-world::after{width:min(30rem,85%);border-style:solid;border-color:rgba(242,179,61,.3);animation:tw-spin 60s linear infinite;border-top-color:transparent;border-bottom-color:transparent}
@keyframes tw-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.tag-world-head{position:relative;z-index:1;margin-block-end:1.1rem}
.tag-world-head h2{margin:0;font-size:clamp(1.5rem,3.2vw,2.1rem);font-stretch:108%}
.tag-world-head p{margin:.3rem auto 0;color:var(--muted);max-width:34rem}
.tag-globe{position:relative;z-index:1;justify-content:center;align-items:center;gap:.6rem .55rem;max-width:58rem;margin-inline:auto}
.tag-globe li{animation:tw-bob 5s ease-in-out infinite;animation-delay:calc(var(--d,0)*-1s)}
.tag-globe li:nth-child(3n){--d:1.7}.tag-globe li:nth-child(3n+1){--d:3.1}.tag-globe li:nth-child(4n){--d:4.2}
@keyframes tw-bob{50%{transform:translateY(-4px)}}
.tw{background-clip:padding-box;box-shadow:0 6px 14px -10px rgba(0,0,0,.35)}
.tw b{margin-inline-start:.35rem;padding:0 .4rem;border-radius:999px;background:rgba(255,255,255,.75);font-family:var(--sans);font-size:.6875rem;font-weight:800;line-height:1.5}
.tw-s1{font-size:.8125rem}.tw-s2{font-size:.9375rem}.tw-s3{font-size:1.0625rem;padding:.32rem .9rem}.tw-s4{font-size:1.25rem;padding:.36rem 1rem;font-weight:700}.tw-s5{font-size:1.5rem;padding:.4rem 1.15rem;font-weight:800}
@media (max-width:30rem){.tw-s4{font-size:1.0625rem}.tw-s5{font-size:1.25rem}.tag-world{padding:1.25rem .75rem 1.4rem;border-radius:22px}}
@media (prefers-reduced-motion:reduce){.tag-globe li,.tag-world::after{animation:none}}

/* Gallery arrows in the enlarged pictures */
.lb-arrow{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:3rem;height:3rem;margin-top:-1.5rem;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink,#16332C);box-shadow:0 10px 24px -10px rgba(0,0,0,.6);transition:transform .18s,background .18s}
.lb-prev{inset-inline-start:max(.75rem,calc(50% - 27rem))}
.lb-next{inset-inline-end:max(.75rem,calc(50% - 27rem))}
.lb-arrow:hover{background:#fff;transform:scale(1.12)}
[dir=rtl] .lb-arrow svg{transform:scaleX(-1)}
.lb-count{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);z-index:2;padding:.15rem .8rem;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:.8125rem;font-weight:700;font-variant-numeric:tabular-nums}
@media (max-width:40rem){.lb-arrow{width:2.5rem;height:2.5rem;margin-top:-1.25rem}}
