/* Trianzor Books: additions to /assets/style.css. Same palette and type. */
.storebar{background:var(--paper);border-bottom:1px solid var(--line);font-size:.95rem}
.storebar .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;min-height:46px;padding-top:6px;padding-bottom:6px}
.storebar a,.linkbtn{color:var(--blue-deep);font-weight:600;text-decoration:none}
.storebar a:hover,.linkbtn:hover{text-decoration:underline;text-underline-offset:4px}
.storebar a[aria-current="page"]{color:var(--orange)}
.storebar .who{margin-left:auto;color:var(--muted);max-width:40ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.storebar form.inline{display:inline;margin:0}
.linkbtn{background:none;border:0;padding:0;font:inherit;cursor:pointer}
.mt26{margin-top:26px}.mt16{margin-top:16px}
.kicker{font-weight:700;color:var(--orange);margin-bottom:10px}
.empty{color:var(--muted);font-size:1.05rem}

/* catalog */
.bookgrid{display:grid;gap:26px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.bookcard{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.bookcard-cover{display:block;background:var(--cream-2);padding:22px 22px 0}
.cover{display:block;width:100%;height:auto;aspect-ratio:5/7;object-fit:cover;border-radius:6px;box-shadow:0 10px 24px rgba(23,64,95,.22);background:#fff}
.bookcard-cover .cover{border-radius:6px 6px 0 0}
.bookcard-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.bookcard h2{font-size:1.25rem;letter-spacing:-.02em}
.bookcard h2 a{color:var(--blue-deep);text-decoration:none}
.bookcard h2 a::after{content:"";position:absolute;inset:0}
.bookcard{position:relative}
.bookcard h2 a:hover{text-decoration:underline}
.byline{color:var(--muted);font-weight:600;font-size:.95rem}
.bsub{color:var(--muted);font-size:.95rem}
.bmeta{margin-top:auto;padding-top:10px;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:.92rem;color:var(--muted)}
.bmeta .price{font-weight:800;font-size:1.1rem;color:var(--ink)}
.owned,.tag{display:inline-block;border-radius:999px;padding:.15em .7em;font-weight:700;font-size:.85rem;background:var(--cream-2);color:var(--blue-deep)}
.owned,.tag.ok{background:#D6E9DD;color:var(--ok)}
.tag.warn{background:#F6DDD3;color:var(--err)}

/* book page */
.bookhead{display:grid;gap:28px;margin-top:6px}
.bookhead-cover .cover.big{max-width:280px}
.bookhead h1{max-width:22ch}
.buybox .pricetag{margin-top:12px;font-size:1.25rem}
.buybox .fg input[readonly]{background:var(--cream)}
@media (min-width:760px){.bookhead{grid-template-columns:240px 1fr}.bookhead-buy{grid-column:2}}
@media (min-width:1080px){.bookhead{grid-template-columns:260px 1fr 360px;align-items:start}.bookhead-buy{grid-column:auto;position:sticky;top:130px}}

/* access page and library */
.ownedbook{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:start;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px}
.ownedbook h2{font-size:1.35rem}
.ownedbook h2 a{color:var(--blue-deep);text-decoration:none}
.ownedlist{display:grid;gap:18px}
.notice{border-radius:12px;padding:12px 16px;font-weight:600;margin-bottom:18px}
.notice.ok{background:#D6E9DD;color:var(--ok)}
.notice.err{background:#F6DDD3;color:var(--err)}
.acct{max-width:480px}
@media (max-width:480px){.ownedbook{grid-template-columns:80px 1fr;padding:16px;gap:14px}.ownedbook .actions .btn{padding:.7em 1.1em}}

/* admin */
.progress progress{width:100%;height:12px;accent-color:var(--blue)}
.tbl .fine{font-size:.82rem}

/* reader */
body.store .reader{background:#d9d4c9;min-height:70vh}
.rbar{position:sticky;top:68px;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}
.rbar-in{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding-top:10px;padding-bottom:10px}
.rback{font-size:1.4rem;text-decoration:none;color:var(--blue-deep);font-weight:700;line-height:1}
.rtitle{font-size:1.05rem;letter-spacing:-.01em;flex:1 1 200px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--blue-deep)}
.rsearch{display:flex;gap:6px;flex:1 1 280px;max-width:440px}
.rsearch input{flex:1;min-width:0;font:400 1rem var(--font-body);border:1.5px solid rgba(23,64,95,.4);border-radius:999px;padding:8px 14px;background:#fff}
.rsearch .btn{padding:.5em 1.1em}
.rnav{display:flex;align-items:center;gap:6px;font-size:.95rem;color:var(--muted)}
.rnav button{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--blue-deep);font-size:1.15rem;font-weight:700;cursor:pointer;line-height:1}
.rnav button:hover{border-color:var(--blue)}
.rnav input{width:3.4em;text-align:center;font:600 .95rem var(--font-body);border:1.5px solid var(--line);border-radius:8px;padding:6px 4px;background:#fff}
.rnav .rdl{padding:.45em 1em;margin-left:6px}
.rresults{position:sticky;top:calc(68px + var(--rbar-h,58px));z-index:29;background:var(--paper);border-bottom:1px solid var(--line);max-height:42vh;overflow:auto;box-shadow:0 8px 18px rgba(23,64,95,.12)}
.rres-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;position:sticky;top:0;background:var(--paper)}
.rres-head p{font-weight:700;color:var(--blue-deep)}
.rres-nav{display:flex;gap:8px}
.rres-nav button{border:1.5px solid var(--blue);background:transparent;color:var(--blue);border-radius:999px;padding:5px 12px;font:600 .9rem var(--font-body);cursor:pointer}
.rres-nav button:hover{background:var(--blue);color:#fff}
#rlist{list-style:none;margin:0;padding:0 0 12px}
#rlist li{padding:0;border-top:1px solid var(--line)}
#rlist li::before{display:none}
#rlist button{display:block;width:100%;text-align:left;background:none;border:0;padding:9px 6px;font:400 .95rem/1.45 var(--font-body);color:var(--ink);cursor:pointer;border-radius:8px}
#rlist button:hover,#rlist button[aria-current="true"]{background:var(--cream-2)}
#rlist .pg{font-weight:700;color:var(--blue);margin-right:8px;white-space:nowrap}
#rlist mark{background:#FFD3B5;color:inherit;padding:0 1px;border-radius:2px}
.rpages{display:flex;flex-direction:column;align-items:center;gap:18px;padding:24px 12px 60px}
.rpage{position:relative;background:#fff;box-shadow:0 6px 20px rgba(23,64,95,.2);width:min(100%,var(--rw,860px));-webkit-user-select:none;user-select:none}
.rpage img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-drag:none}
.rpage .wm{position:absolute;inset:0;pointer-events:none;background-repeat:repeat;opacity:1}
.rpage .hl{position:absolute;background:rgba(255,95,0,.32);border-radius:2px;pointer-events:none;mix-blend-mode:multiply}
.rpage .hl.cur{background:rgba(255,95,0,.6);outline:2px solid var(--orange)}
.rpage .pno{position:absolute;right:8px;bottom:-22px;font-size:.8rem;color:var(--muted)}
@media (max-width:640px){.rbar{top:68px}.rnav .rdl{display:none}.rtitle{flex-basis:100%}}
@media print{.reader{display:none!important}body.store main::before{content:"Printing is not available for this book. Download your PDF instead.";display:block;padding:40px}}

/* store-page image gallery */
.gallery{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:8px;max-width:280px}
.gallery li{padding:0}
.gallery li::before{display:none}
.gthumb{display:block;width:56px;height:56px;padding:0;border:2px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;cursor:pointer}
.gthumb img{display:block;width:100%;height:100%;object-fit:cover}
.gthumb[aria-current="true"]{border-color:var(--orange)}
.gthumb:hover{border-color:var(--blue)}
.bookhead-cover .cover.big{object-fit:contain;background:#fff}
.admin-gallery{max-width:none}
.admin-gallery li{display:flex;flex-direction:column;gap:6px;align-items:center}
.admin-gallery img{width:96px;height:96px;object-fit:cover;border-radius:8px;border:1px solid var(--line);background:#fff}
.gdel{border:1.5px solid var(--err);color:var(--err);background:transparent;border-radius:999px;padding:3px 10px;font:600 .82rem var(--font-body);cursor:pointer}
.gdel:hover{background:var(--err);color:#fff}

/* reader contents panel */
.rtocbtn{padding:.45em 1em}
.rtoc{position:fixed;z-index:35;left:0;top:calc(68px + var(--rbar-h,58px));bottom:0;width:min(360px,92vw);background:var(--paper);border-right:1px solid var(--line);box-shadow:8px 0 24px rgba(23,64,95,.16);overflow:auto;padding:0 12px 24px}
.rtoc-head{position:sticky;top:0;background:var(--paper);display:flex;justify-content:space-between;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line)}
.rtoc-head h2{font-size:1.1rem;color:var(--blue-deep)}
.rtoc-head button{border:1.5px solid var(--blue);background:transparent;color:var(--blue);border-radius:999px;padding:4px 12px;font:600 .9rem var(--font-body);cursor:pointer}
.rtoc ul{list-style:none;margin:0;padding:0}
.rtoc ul ul{padding-left:16px}
.rtoc li{padding:0}
.rtoc li::before{display:none}
.toc-row{display:flex;align-items:flex-start;gap:2px}
.toc-tg,.toc-sp{flex:0 0 26px;height:30px}
.toc-tg{border:0;background:none;cursor:pointer;color:var(--blue-deep);border-radius:6px;font-size:.8rem}
.toc-tg::before{content:"\25B8";display:inline-block;transition:transform .15s}
.toc-tg[aria-expanded="true"]::before{transform:rotate(90deg)}
.toc-tg:hover{background:var(--cream-2)}
.toc-go{flex:1;display:flex;gap:10px;justify-content:space-between;align-items:baseline;text-align:left;border:0;background:none;padding:5px 8px;border-radius:8px;cursor:pointer;font:400 .95rem/1.35 var(--font-body);color:var(--ink)}
.toc-l0>li>.toc-row .toc-go{font-weight:600}
.toc-go:hover{background:var(--cream-2)}
.toc-go[aria-current="true"]{background:#FFE3D1;color:var(--blue-deep);font-weight:700}
.toc-p{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}

/* book page tabs */
.booktabs .tablist{display:flex;gap:4px;border-bottom:2px solid var(--line)}
.booktabs [role="tab"]{background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;padding:10px 16px;font:700 1rem var(--font-body);color:var(--muted);cursor:pointer}
.booktabs [role="tab"][aria-selected="true"]{color:var(--blue-deep);border-bottom-color:var(--orange)}
.booktabs [role="tab"]:hover{color:var(--blue)}
.booktabs .tabpanel{padding-top:18px}
.booktabs.tabs-on .tabhead{display:none}
.booktabs .tabhead{font-size:1.2rem;margin:18px 0 8px}
.prose h3{font-size:1.25rem;margin:18px 0 6px;color:var(--blue-deep)}
.prose h4{font-size:1.05rem;margin:14px 0 4px;color:var(--blue-deep)}
.prose blockquote{margin:12px 0;padding:6px 14px;border-left:4px solid var(--orange);color:var(--muted)}
.prose ol{padding-left:1.4em}
.prose p+p,.prose p+ul,.prose ul+p{margin-top:10px}
.toc-plain{list-style:none;padding:0;margin:0}
.toc-plain .toc-plain{padding-left:18px}
.prose .toc-plain>li{padding-left:0}
.prose .toc-plain>li::before{display:none}
.toc-plain li>.tp-t{display:inline}
.toc-plain>li{border-bottom:1px dashed var(--line);padding:6px 0}
.toc-plain .toc-plain>li{border-bottom:0;padding:3px 0}
.toc-top>li>.tp-t{font-weight:700;color:var(--blue-deep)}
.tp-p{float:right;color:var(--muted);font-size:.9rem;font-variant-numeric:tabular-nums;margin-left:12px}

/* admin rich-text editor */
.rte-label{font-weight:600;font-size:.95rem;color:var(--blue-deep)}
.rte{border:1.5px solid rgba(23,64,95,.4);border-radius:10px;background:#fff;overflow:hidden}
.rte:focus-within{outline:3px solid var(--orange);outline-offset:1px;border-color:var(--blue)}
.rte-bar{display:flex;flex-wrap:wrap;gap:4px;padding:6px;background:var(--paper);border-bottom:1px solid var(--line)}
.rte-bar button{border:1px solid var(--line);background:#fff;color:var(--blue-deep);border-radius:6px;padding:4px 9px;font:600 .85rem var(--font-body);cursor:pointer;min-width:30px}
.rte-bar button:hover{border-color:var(--blue)}
.rte-sep{width:1px;background:var(--line);margin:2px 4px}
.rte-area{min-height:160px;max-height:520px;overflow:auto;padding:12px 14px;font-size:1rem}
.rte-area:focus{outline:none}
.rte-area:empty::before{content:"Type here…";color:var(--muted)}
.rte-area ul{list-style:disc;padding-left:1.4em}
.rte-area ul>li{padding-left:0}
.rte-area ul>li::before{display:none}

/* large cover on the book page: keep the image's own shape */
.bookhead-cover .cover.big{aspect-ratio:auto;height:auto;max-height:560px;object-fit:contain;background:transparent;box-shadow:0 10px 24px rgba(23,64,95,.22)}
