@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Text:wght@400;700&display=swap');

:root{--ink:#16342a;--ink-2:#245044;--green:#0c6b50;--green-2:#0a5944;--mist:#f3f6f1;--white:#fff;--gold:#efb33e;--gold-soft:#ffe6a7;--muted:#6d7d75;--line:#d9e3da;--danger:#b83535;--shadow:0 24px 70px rgba(20,53,43,.14);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--mist);color:var(--ink);font-family:"DM Sans","Segoe UI",sans-serif;font-size:16px;line-height:1.5}button,input,select{font:inherit;color:inherit}button{cursor:pointer}img{display:block;max-width:100%}.skip-link{position:fixed;left:12px;top:-60px;z-index:200;background:#fff;padding:10px 16px;border-radius:10px}.skip-link:focus{top:12px}.shell{width:min(1240px,calc(100% - 40px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(217,227,218,.92);background:rgba(243,246,241,.92);backdrop-filter:blur(16px)}.header-inner{width:min(1320px,calc(100% - 32px));height:78px;margin:auto;display:flex;align-items:center;gap:24px}.brand{border:0;background:none;display:flex;align-items:center;gap:11px;font:700 21px/1 "Libre Caslon Text",serif;letter-spacing:-.04em;padding:0}.brand-mark{width:42px;height:42px;border-radius:15px;background:var(--green);position:relative;box-shadow:0 9px 22px rgba(12,107,80,.23)}.brand-mark span{position:absolute;top:12px;width:13px;height:19px;background:#fff}.brand-mark span:first-child{left:8px;border-radius:7px 2px 4px 3px;transform:skewY(8deg)}.brand-mark span:last-child{right:8px;border-radius:2px 7px 3px 4px;transform:skewY(-8deg)}.desktop-nav{display:flex;gap:5px}.desktop-nav button{border:0;background:transparent;padding:10px 12px;border-radius:12px;font-weight:600;font-size:14px}.desktop-nav button:hover,.desktop-nav button.is-active{background:#fff}.header-search{margin-left:auto;width:min(310px,24vw);display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;padding:9px 13px;border-radius:999px}.header-search input,.catalog-search input{border:0;outline:0;background:transparent;width:100%;font-size:14px}.icon-button{border:1px solid var(--line);background:#fff;border-radius:999px;min-width:42px;height:42px;display:grid;place-items:center;position:relative}.cart-button b{position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;border-radius:999px;background:var(--gold);display:grid;place-items:center;font-size:11px}.account-button{border:0;background:none;display:flex;align-items:center;gap:9px;text-align:left;padding:2px}.avatar,.account-avatar{display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font-weight:700}.avatar{width:40px;height:40px;font-size:13px}.account-copy{display:grid;line-height:1.25}.account-copy strong{font-size:13px}.account-copy small{font-size:11px;color:var(--muted)}
.view{display:none}.view.is-active{display:block}.hero{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(30px,5vw,78px);padding-block:64px 70px}.hero-copy{align-self:center}.eyebrow{margin:0 0 15px;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.eyebrow.light{color:#a9d7c5}.hero h1,.page-title h1,.admin-heading h1,.account-hero h1{font-family:"Libre Caslon Text",serif;letter-spacing:-.055em;line-height:1.02}.hero h1{font-size:clamp(48px,6vw,79px);margin:0;max-width:700px}.lede{font-size:18px;line-height:1.75;color:#5f7269;max-width:610px;margin:25px 0 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.button{border:0;border-radius:999px;padding:13px 22px;font-weight:700;font-size:14px;transition:transform .18s,box-shadow .18s,background .18s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--green);color:#fff;box-shadow:0 12px 26px rgba(12,107,80,.18)}.button-primary:hover{background:var(--green-2)}.button-light{background:#fff;border:1px solid var(--line)}.button-white{background:#fff;color:var(--ink);width:100%;margin-top:20px}.button-gold{background:var(--gold);color:var(--ink)}.button-danger{background:#fee7e7;color:var(--danger)}.button-small{padding:8px 13px;font-size:13px}.hero-stats{display:flex;gap:34px;margin:42px 0 0;padding-top:24px;border-top:1px solid var(--line)}.hero-stats div{display:grid}.hero-stats dt{font-size:24px;font-weight:800}.hero-stats dd{margin:1px 0 0;color:var(--muted);font-size:12px}.featured-card{min-height:500px;border-radius:34px;background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:38px;display:grid;grid-template-columns:.88fr 1.12fr;gap:28px;align-items:end;box-shadow:0 35px 75px rgba(22,52,42,.22)}.featured-glow{position:absolute;width:320px;height:320px;right:-100px;top:-90px;background:rgba(239,179,62,.24);filter:blur(55px);border-radius:50%}.book-standing{position:relative;transform:rotate(-2deg);filter:drop-shadow(0 30px 28px rgba(0,0,0,.42))}.book-standing img{border-radius:8px;aspect-ratio:339/462;object-fit:cover}.featured-copy{position:relative;padding-bottom:5px}.pill{display:inline-flex;padding:6px 11px;border-radius:999px;font-size:11px;font-weight:800}.pill-gold{background:var(--gold);color:var(--ink)}.featured-copy>p{font-size:12px;color:rgba(255,255,255,.58);margin:22px 0 8px}.featured-copy h2{font:700 clamp(25px,3vw,37px)/1.05 "Libre Caslon Text",serif;letter-spacing:-.045em;margin:0}.author{display:block;color:rgba(255,255,255,.68);font-size:13px;margin-top:10px}.price{display:block;font-size:24px;margin-top:26px}.trust-strip{background:#fff;border-block:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-block:22px}.trust-grid>div{display:flex;align-items:center;gap:13px;justify-content:center}.trust-grid>div>span{width:38px;height:38px;border-radius:13px;background:#e8f2ed;color:var(--green);display:grid;place-items:center;font-weight:800}.trust-grid p{margin:0;display:grid}.trust-grid strong{font-size:13px}.trust-grid small{color:var(--muted);font-size:11px}.section{padding-block:80px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section-heading h2,.reader-promise h2{font:700 clamp(34px,4vw,50px)/1.08 "Libre Caslon Text",serif;letter-spacing:-.045em;margin:0}.text-button{border:0;border-bottom:1px solid var(--ink);background:none;font-weight:700;padding:7px 0}.book-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.book-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:transform .2s,box-shadow .2s}.book-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(25,57,46,.1)}.book-cover-wrap{aspect-ratio:4/4.9;background:#e9eee8;padding:18px;display:grid;place-items:center;position:relative}.book-cover-wrap img{height:100%;max-width:100%;object-fit:cover;border-radius:5px;box-shadow:0 17px 25px rgba(0,0,0,.2)}.book-cover-placeholder{height:100%;width:75%;border-radius:5px;background:linear-gradient(145deg,#214d40,#0c6b50);color:#fff;display:grid;align-content:center;text-align:center;padding:18px;box-shadow:0 17px 25px rgba(0,0,0,.18)}.book-cover-placeholder b{font:700 20px/1.1 "Libre Caslon Text",serif}.book-cover-placeholder small{margin-top:16px;opacity:.7}.book-badge{position:absolute;right:12px;top:12px;background:rgba(255,255,255,.92);padding:5px 9px;border-radius:99px;font-size:10px;font-weight:800}.book-info{padding:17px}.book-info small{color:var(--green);font-weight:700}.book-info h3{font:700 19px/1.22 "Libre Caslon Text",serif;letter-spacing:-.03em;margin:6px 0}.book-info p{margin:0;color:var(--muted);font-size:12px}.book-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:17px}.book-card-footer strong{font-size:16px}.book-card-footer button{border:0;background:var(--ink);color:#fff;border-radius:999px;padding:8px 13px;font-weight:700;font-size:12px}.reader-promise{margin-bottom:85px;padding:55px 65px;border-radius:34px;background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:70px;overflow:hidden}.promise-copy{align-self:center}.promise-copy>p:not(.eyebrow){color:rgba(255,255,255,.64);line-height:1.8;max-width:500px}.reader-demo{background:#edf1eb;padding:18px;border-radius:22px;color:var(--ink);transform:rotate(2deg);box-shadow:0 35px 65px rgba(0,0,0,.27)}.demo-toolbar{height:40px;border-bottom:1px solid #d1dbd2;display:flex;align-items:center;gap:6px}.demo-toolbar i{width:8px;height:8px;background:#c6d0c7;border-radius:50%}.demo-toolbar span{margin-left:auto;font-size:11px;color:var(--muted)}.demo-page{background:#fff;min-height:340px;margin-top:14px;padding:45px;text-align:center;box-shadow:0 8px 18px rgba(0,0,0,.08)}.demo-page>span{font-family:serif;font-size:22px}.demo-page h3{font:700 28px/1.2 "Libre Caslon Text",serif;margin:22px 0 13px}.demo-page p{font-family:"Libre Caslon Text",serif;color:#56675f}.demo-page div{height:5px;background:#eef1ee;border-radius:4px;margin:13px auto;width:90%}.demo-page div:last-child{width:57%}
.page-section{padding-block:62px 100px;min-height:calc(100vh - 78px)}.page-title{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.page-title.compact{align-items:center}.page-title h1,.admin-heading h1,.account-hero h1{font-size:clamp(42px,5vw,66px);margin:0;max-width:780px}.page-title>p{color:var(--muted);max-width:380px;line-height:1.7}.catalog-tools{display:flex;align-items:center;gap:14px;margin-bottom:28px}.catalog-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:11px 15px;width:min(330px,100%)}.filter-chips{display:flex;gap:7px}.filter-chips button,.admin-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:700}.filter-chips button.is-active,.admin-tabs button.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}.catalog-tools select{margin-left:auto;border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 34px 10px 12px}.catalog-grid{grid-template-columns:repeat(4,1fr)}.empty-state{text-align:center;padding:70px 20px}.empty-state>span{display:grid;place-items:center;width:70px;height:70px;border-radius:25px;background:#e4ece6;margin:auto;font-size:28px}.empty-state h2{font:700 30px/1.2 "Libre Caslon Text",serif;margin:18px 0 5px}.empty-state p{color:var(--muted);margin:0 auto 22px;max-width:450px}.empty-state.big{background:#fff;border:1px dashed #c9d7cc;border-radius:30px}.library-count{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);padding:13px 18px;border-radius:18px}.library-count strong{font-size:28px}.library-count span{font-size:12px;color:var(--muted);max-width:50px}.library-list{display:grid;gap:16px}.library-item{display:grid;grid-template-columns:82px 1fr auto;gap:20px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px 18px}.library-item img{width:82px;height:108px;object-fit:cover;border-radius:6px}.library-item h3{font:700 23px/1.2 "Libre Caslon Text",serif;margin:0 0 5px}.library-item p{margin:0;color:var(--muted);font-size:13px}.progress{height:7px;background:#e7ece8;border-radius:99px;margin-top:14px;overflow:hidden;max-width:390px}.progress i{display:block;height:100%;background:var(--gold);border-radius:99px}.library-item .button{min-width:138px}.admin-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.admin-heading h1{font-size:52px}.admin-heading>div>p:last-child{color:var(--muted);margin-bottom:0}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:19px}.metric-card span{color:var(--muted);font-size:12px}.metric-card strong{display:block;font-size:27px;margin-top:5px}.metric-card small{color:var(--green);font-size:11px}.admin-panel{background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden}.admin-tabs{display:flex;gap:7px;padding:15px 18px;border-bottom:1px solid var(--line);overflow:auto}.admin-content{padding:22px;min-height:350px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:11px;border-bottom:1px solid var(--line)}.data-table td{padding:13px 11px;border-bottom:1px solid #edf1ed}.data-table tr:last-child td{border:0}.table-book{display:flex;align-items:center;gap:11px}.table-book img,.tiny-cover{width:38px;height:49px;object-fit:cover;border-radius:4px}.status{display:inline-flex;padding:5px 8px;border-radius:99px;font-size:10px;font-weight:800;background:#e6f4ec;color:#146442}.status.pending{background:#fff1d4;color:#835c0d}.status.blocked{background:#fee6e6;color:#9a2727}.row-actions{display:flex;gap:5px}.row-actions button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:6px 8px}.provider-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.provider-card{border:1px solid var(--line);border-radius:17px;padding:17px}.provider-card h3{margin:0;font-size:15px}.provider-card p{color:var(--muted);font-size:12px}.provider-state{display:flex;justify-content:space-between;align-items:center}.switch{width:42px;height:24px;border:0;border-radius:99px;background:#bcc8c0;padding:3px}.switch i{display:block;width:18px;height:18px;background:#fff;border-radius:50%;transition:.2s}.switch.on{background:var(--green)}.switch.on i{transform:translateX(18px)}.account-hero{display:flex;align-items:center;gap:22px;margin-bottom:35px}.account-avatar{width:92px;height:92px;font-size:28px;background:var(--gold);color:var(--ink)}.account-hero h1{font-size:48px}.account-hero p:not(.eyebrow){color:var(--muted);margin:5px 0 0}.account-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px}.account-card{background:#fff;border:1px solid var(--line);border-radius:25px;padding:25px}.account-card h2{font:700 25px/1.2 "Libre Caslon Text",serif;margin:0 0 20px}.account-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.account-stats div{background:#f3f6f3;border-radius:17px;padding:15px}.account-stats strong{display:block;font-size:24px}.account-stats span{font-size:11px;color:var(--muted)}.setting-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 0;border-top:1px solid var(--line)}.setting-row span{display:grid}.setting-row strong{font-size:14px}.setting-row small{color:var(--muted);font-size:11px}.setting-row input{width:18px;height:18px;accent-color:var(--green)}
.reader-view.is-active{display:grid;grid-template-rows:auto 1fr auto;height:100dvh;position:fixed;inset:0;z-index:70;background:#16221e}.reader-bar{height:70px;background:#0e1915;color:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.1)}.reader-back{justify-self:start;border:0;background:none;color:#fff;padding:10px}.reader-book-title{text-align:center;display:grid;line-height:1.2}.reader-book-title small{color:rgba(255,255,255,.5);font-size:11px;margin-top:4px}.reader-controls{justify-self:end;display:flex;align-items:center;gap:5px}.reader-controls button,.reader-footer button{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;border-radius:10px;width:38px;height:38px}.reader-controls span{font-size:12px;width:45px;text-align:center}.reader-stage{overflow:auto;display:grid;place-items:start center;padding:28px;background:#26322e}.reader-stage img{width:min(650px,92vw);box-shadow:0 12px 44px rgba(0,0,0,.4);transform-origin:top center;user-select:none;-webkit-user-drag:none}.reader-stage iframe{width:min(900px,94vw);height:calc(100dvh - 155px);border:0;background:#fff}.reader-footer{min-height:70px;background:#0e1915;color:#fff;display:flex;align-items:center;justify-content:center;gap:14px;padding:12px 20px}.reader-footer label{font-size:12px}.reader-footer input[type=number]{width:52px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;padding:7px;text-align:center}.reader-footer input[type=range]{width:min(300px,28vw);accent-color:var(--gold)}
.mobile-nav{display:none}.modal-layer{position:fixed;inset:0;z-index:100}.modal-layer[hidden]{display:none}.modal-backdrop{position:absolute;inset:0;background:rgba(7,21,16,.68);backdrop-filter:blur(6px)}.modal{position:relative;z-index:1;width:min(650px,calc(100% - 28px));max-height:calc(100dvh - 40px);overflow:auto;margin:20px auto;background:#fff;border-radius:28px;box-shadow:var(--shadow);padding:26px}.modal.modal-wide{width:min(920px,calc(100% - 28px))}.modal-close{position:absolute;right:18px;top:18px;border:0;background:#eef3ef;width:35px;height:35px;border-radius:50%;font-size:18px}.modal h2{font:700 31px/1.15 "Libre Caslon Text",serif;letter-spacing:-.035em;margin:5px 45px 8px 0}.modal-intro{color:var(--muted);font-size:13px;margin:0 0 22px}.detail-grid{display:grid;grid-template-columns:220px 1fr;gap:28px}.detail-cover{background:#e9eee9;padding:18px;border-radius:20px}.detail-cover img{border-radius:6px;box-shadow:0 18px 28px rgba(0,0,0,.2)}.detail-meta h2{font-size:35px}.detail-meta .author{color:var(--muted)}.detail-facts{display:flex;gap:15px;flex-wrap:wrap;margin:20px 0}.detail-facts span{background:#eef3ef;border-radius:12px;padding:9px 12px;font-size:12px}.detail-description{color:#52665d;line-height:1.75}.detail-buy{display:flex;align-items:center;gap:15px;margin-top:22px}.detail-buy strong{font-size:23px}.checkout-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}.payment-methods{display:grid;gap:9px}.payment-method{display:flex;align-items:center;gap:13px;border:1px solid var(--line);padding:13px;border-radius:15px}.payment-method:has(input:checked){border-color:var(--green);box-shadow:0 0 0 2px rgba(12,107,80,.12)}.payment-method input{accent-color:var(--green)}.pay-logo{width:54px;height:34px;border-radius:8px;background:#f1f4f1;display:grid;place-items:center;font-size:10px;font-weight:800}.order-summary{background:#f1f5f1;border-radius:19px;padding:18px;align-self:start}.summary-book{display:flex;gap:12px;align-items:center}.summary-book img{width:50px;height:68px;object-fit:cover;border-radius:4px}.summary-lines{margin:18px 0;padding-block:12px;border-block:1px solid #d8e2d9}.summary-lines div{display:flex;justify-content:space-between;font-size:12px;margin:7px 0}.summary-total{display:flex;justify-content:space-between;font-size:17px}.checkout-note{font-size:10px;color:var(--muted);line-height:1.5;margin-top:12px}.success-view{text-align:center;padding:22px}.success-icon{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;margin:0 auto 19px;background:#dff3e8;color:var(--green);font-size:34px}.success-view h2{margin-right:0}.upload-form{display:grid;gap:15px}.field{display:grid;gap:7px}.field span{font-size:12px;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:11px 12px;outline:none}.field input:focus,.field select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(12,107,80,.1)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.drop-zone{border:2px dashed #bfd0c3;background:#f4f7f4;border-radius:20px;padding:28px;text-align:center}.drop-zone input{max-width:100%;margin-top:12px}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:5px}.toast{position:fixed;z-index:130;left:50%;bottom:25px;transform:translate(-50%,20px);background:#0f211a;color:#fff;padding:12px 17px;border-radius:13px;box-shadow:var(--shadow);font-size:13px;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1050px){.desktop-nav{display:none}.header-search{width:auto;flex:1}.book-grid,.catalog-grid{grid-template-columns:repeat(3,1fr)}.featured-card{padding:28px}.admin-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){body{padding-bottom:70px}.site-header{top:0}.header-inner{height:67px}.header-search{display:none}.account-copy{display:none}.hero{grid-template-columns:1fr;padding-block:40px}.featured-card{min-height:440px}.trust-grid{grid-template-columns:1fr;padding-block:17px}.trust-grid>div{justify-content:flex-start}.book-grid,.catalog-grid{grid-template-columns:repeat(2,1fr)}.reader-promise{grid-template-columns:1fr;padding:42px 28px}.reader-demo{display:none}.page-title{display:block}.page-title>p{margin-top:14px}.catalog-tools{flex-wrap:wrap}.filter-chips{order:3;width:100%;overflow:auto}.catalog-tools select{margin-left:auto}.admin-heading{align-items:start;gap:16px}.account-layout{grid-template-columns:1fr}.provider-grid{grid-template-columns:1fr 1fr}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);bottom:0;left:0;right:0;z-index:45;background:rgba(255,255,255,.96);border-top:1px solid var(--line);padding:7px 6px calc(7px + env(safe-area-inset-bottom));backdrop-filter:blur(14px)}.mobile-nav button{border:0;background:none;display:grid;place-items:center;gap:2px;color:var(--muted);font-size:10px}.mobile-nav button span{font-size:20px}.mobile-nav button.is-active{color:var(--green);font-weight:800}.reader-view{padding-bottom:0}.checkout-layout{grid-template-columns:1fr}.detail-grid{grid-template-columns:160px 1fr}.reader-bar{grid-template-columns:auto 1fr auto}.reader-back span{display:none}.reader-book-title{font-size:12px}.reader-controls span{display:none}}
@media(max-width:540px){.shell{width:min(100% - 26px,1240px)}.header-inner{width:calc(100% - 22px);gap:10px}.brand{font-size:18px}.brand-mark{width:37px;height:37px}.featured-card{grid-template-columns:.85fr 1.15fr;padding:21px;gap:16px;min-height:380px}.featured-copy h2{font-size:22px}.featured-copy>p{margin-top:14px}.price{font-size:19px;margin-top:17px}.hero-stats{gap:17px}.hero-stats dd{max-width:75px}.section{padding-block:55px}.book-grid,.catalog-grid{grid-template-columns:1fr 1fr;gap:11px}.book-cover-wrap{padding:10px}.book-info{padding:13px}.book-info h3{font-size:16px}.book-card-footer{display:grid;gap:8px}.book-card-footer button{width:100%}.page-section{padding-block:38px 90px}.page-title h1,.account-hero h1{font-size:39px}.catalog-tools select{width:100%;margin:0}.admin-heading{display:block}.admin-heading .button{margin-top:18px;width:100%}.admin-metrics{grid-template-columns:1fr 1fr}.admin-tabs{padding:12px}.admin-content{padding:13px}.library-item{grid-template-columns:65px 1fr;padding:11px;gap:12px}.library-item img{width:65px;height:88px}.library-item .button{grid-column:1/-1;width:100%}.account-hero{align-items:flex-start}.account-avatar{width:64px;height:64px}.account-stats{grid-template-columns:1fr}.provider-grid{grid-template-columns:1fr}.modal{padding:21px}.detail-grid{grid-template-columns:1fr}.detail-cover{width:190px;margin:auto}.detail-buy{flex-wrap:wrap}.detail-buy .button{width:100%}.form-grid{grid-template-columns:1fr}.reader-footer{gap:7px}.reader-footer input[type=range]{display:none}}
.book-cover-wrap{width:100%;border:0}

.button:disabled{cursor:not-allowed;opacity:.5;transform:none;box-shadow:none}.bank-transfer-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px;border:1px solid #b9d2c4;background:linear-gradient(135deg,#edf7f1,#fff);border-radius:18px}.bank-logo{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:800;font-size:18px;letter-spacing:.04em}.bank-details{display:grid;line-height:1.35}.bank-details small{color:var(--muted);font-size:11px}.bank-details strong{font-size:13px}.bank-details span{font-size:12px;color:var(--muted)}.bank-details .account-number{margin:2px 0;font-size:21px;font-weight:800;letter-spacing:.04em;color:var(--ink)}.copy-account{padding:8px 13px}.checkout-warning{margin:11px 0 0;padding:11px 13px;border-radius:12px;background:#fff1d4;color:#75530d;font-size:12px}.payment-steps{margin:18px 0;padding-left:22px;color:#53665d;font-size:12px}.payment-steps li{padding:4px 0}.manual-payment-form{display:grid;gap:13px}.manual-payment-form .drop-zone{padding:18px}.manual-payment-form>.button{width:100%}.proof-drop small{color:var(--muted)}.bank-settings-card{max-width:760px;padding:7px}.bank-settings-card h2{font:700 30px/1.15 "Libre Caslon Text",serif;margin:4px 0 8px}.proof-preview{display:block;width:100%;max-height:68vh;object-fit:contain;border:1px solid var(--line);border-radius:16px;background:#f2f5f2}.proof-preview.proof-pdf{height:65vh;border:1px solid var(--line)}.pending-icon{background:#fff1d4;color:#835c0d;font-size:27px}
@media(max-width:540px){.bank-transfer-card{grid-template-columns:auto 1fr}.bank-transfer-card .copy-account{grid-column:1/-1;width:100%}.bank-details .account-number{font-size:17px}.payment-steps{padding-left:20px}.proof-preview.proof-pdf{height:55vh}}

[hidden]{display:none!important}.access-summary{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}.access-item{grid-template-columns:82px minmax(260px,1fr) auto}.access-item .library-cover{width:82px;height:108px;object-fit:cover;border-radius:6px}.access-dates{display:block;color:var(--muted);font-size:11px;margin-top:9px}.login-required{background:#fff;border:1px solid var(--line);border-radius:27px;padding:42px;max-width:760px}.login-required h1,.login-required h2{font:700 clamp(30px,4vw,48px)/1.1 "Libre Caslon Text",serif;margin:0 0 12px}.login-required p{color:var(--muted);max-width:580px;margin:0 0 22px}.auth-switch{justify-self:center}.field small{color:var(--muted);font-size:11px}.inline-button{display:inline-block;text-decoration:none}.account-logout{margin-left:auto}.loading-state{padding:60px 20px;text-align:center;color:var(--muted)}.data-table td>small,.data-table td span>small{display:block;color:var(--muted);margin-top:3px}.table-action{border:1px solid var(--line);background:#fff;border-radius:9px;padding:6px 9px}.cart-item{display:grid;grid-template-columns:50px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.cart-item img{width:50px;height:68px;object-fit:cover;border-radius:4px}.cart-item div{display:grid}.cart-item small{color:var(--muted)}.mobile-nav{grid-template-columns:repeat(auto-fit,minmax(60px,1fr))}.reader-footer[hidden]{display:none!important}
@media(max-width:800px){.access-item{grid-template-columns:65px 1fr}.access-item .library-cover{width:65px;height:88px}.access-item>.button{grid-column:1/-1;width:100%}.account-logout{margin-left:0}.login-required{padding:28px}}
@media(max-width:540px){.cart-item{grid-template-columns:44px 1fr}.cart-item .button{grid-column:1/-1;width:100%}.access-dates{line-height:1.5}}

/* Pembaca PDF dengan lembar kertas fleksibel (StPageFlip, locally hosted). */
.reader-stage{position:relative;min-height:0;overflow:auto;display:flex;align-items:safe center;justify-content:safe center;padding:0;background:radial-gradient(ellipse at 50% 35%,#43534c 0,#2a3731 55%,#1c2822 100%);overscroll-behavior:contain}
.flipbook-loading{display:grid;place-items:center;align-content:center;gap:12px;color:#e6eee9;min-height:260px}
.flipbook-loading span{width:38px;height:38px;border-radius:50%;border:3px solid #ffffff26;border-top-color:var(--gold);animation:readerSpin .8s linear infinite}
.flipbook-loading p{margin:0;font-size:13px}
@keyframes readerSpin{to{transform:rotate(360deg)}}
.flipbook-shell{width:100%;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 16px 18px;gap:15px}
.flipbook-viewport{position:relative;flex-shrink:0}
.paper-book{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;isolation:isolate;cursor:grab;transition:transform .48s cubic-bezier(.25,.8,.3,1)}
.paper-book.reduce-motion{transition:none}
.paper-book:active{cursor:grabbing}
.paper-book .stf__wrapper{position:relative;width:100%;height:100%}
.paper-book .stf__block{overflow:visible}
.paper-page{background:#fff;overflow:hidden;box-shadow:0 3px 8px #00000022}
.paper-page img{width:100%;height:100%;max-width:none;object-fit:contain;pointer-events:none;-webkit-user-drag:none;background:#fff;box-shadow:none}
.paper-page:not([data-loaded]){background:linear-gradient(110deg,#f3f1eb,#fff)}
.paper-page::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.75}
.paper-page.--left::after{background:linear-gradient(to left,#00000029,transparent 7%,transparent 97%,#00000005)}
.paper-page.--right::after{background:linear-gradient(to right,#00000029,transparent 7%,transparent 97%,#00000005)}
.paper-page:not(.--simple)::after{opacity:.35}
.is-single .paper-page::after{opacity:.2}
.flipbook-hint{margin:0;text-align:center;color:#c1cec6;font-size:12px;letter-spacing:.015em}
.flipbook-status{margin:0;font-size:12px;color:#f7d68e;text-align:center;max-width:500px}
.reader-footer button:disabled{opacity:.3;cursor:default}
.reader-bar #zoomLabel{min-width:40px;text-align:center}
.reader-bar button[aria-pressed="true"]{color:var(--gold)}
@media(max-width:820px){.flipbook-shell{padding:18px 10px 12px;gap:12px}.flipbook-hint{font-size:11px;max-width:290px}.reader-stage{min-height:0}}
@media(prefers-reduced-motion:reduce){.flipbook-loading span{animation:none}}
@media(max-width:600px){.reader-bar{height:auto;min-height:90px;grid-template-columns:auto 1fr;padding:8px 12px;gap:5px}.reader-book-title{min-width:0;text-align:left}.reader-book-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-controls{grid-column:1/-1;justify-self:center}.reader-controls span{display:block}.reader-controls button{width:34px;height:34px}}

/* Banner informasi */
.promo-carousel{position:relative;width:100%;aspect-ratio:4/1;min-height:150px;max-height:400px;overflow:hidden;background:#e9eee8;border-bottom:1px solid var(--line)}
.promo-track,.promo-slide{position:absolute;inset:0}.promo-slide{display:block;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s}.promo-slide.is-active{opacity:1;visibility:visible}.promo-slide img{width:100%;height:100%;object-fit:cover}
.promo-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid #ffffff66;border-radius:50%;background:#10271fc7;color:#fff;font-size:30px;line-height:1;display:grid;place-items:center;box-shadow:0 8px 25px #0003}.promo-prev{left:22px}.promo-next{right:22px}.promo-arrow:hover{background:var(--green)}
.promo-dots{position:absolute;z-index:3;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:7px;padding:6px 8px;border-radius:99px;background:#10271f88}.promo-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#ffffff80}.promo-dots button.is-active{width:25px;border-radius:99px;background:#fff}

/* Katalog publik */
.published-month{margin-top:5px!important;font-size:11px!important;color:#829088!important}.auto-pdf-cover{position:relative}.auto-pdf-cover em{margin-top:10px;font-style:normal;font-size:9px;opacity:.65}.summary-cover{display:block;width:122px;height:166px;object-fit:cover;margin:0 auto 15px;border-radius:8px;box-shadow:0 14px 26px #17382b33}.payment-summary>.book-cover-placeholder{width:122px;height:166px;margin:0 auto 15px}.table-book .book-cover-placeholder{width:38px;height:49px;padding:4px;box-shadow:none}.table-book .book-cover-placeholder b{font-size:8px}.table-book .book-cover-placeholder small,.table-book .book-cover-placeholder em{display:none}

/* Halaman pembayaran */
.payment-page{max-width:1120px}.payment-back{margin-bottom:25px}.payment-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.payment-heading h1{font:700 clamp(42px,5vw,64px)/1.02 "Libre Caslon Text",serif;letter-spacing:-.05em;margin:0}.payment-heading p:not(.eyebrow){max-width:650px;color:var(--muted);margin:14px 0 0}.payment-secure{flex:0 0 auto;border:1px solid #b8d5c5;background:#eaf5ef;color:var(--green);padding:9px 13px;border-radius:99px;font-size:11px;font-weight:800}.payment-layout{grid-template-columns:minmax(0,1.25fr) minmax(260px,.65fr);align-items:start}.payment-main{background:#fff;border:1px solid var(--line);border-radius:25px;padding:25px}.form-section{display:grid;gap:13px;padding:20px 0;border-top:1px solid var(--line)}.form-section h2{font:700 21px/1.2 "Libre Caslon Text",serif;margin:0}.payment-consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--muted)}.payment-consent input{margin-top:3px;accent-color:var(--green)}.payment-submit{width:100%;padding-block:15px}.payment-summary{position:sticky;top:100px;border:1px solid var(--line)}.payment-summary .summary-book{justify-content:center;text-align:center}.payment-summary .summary-book small{display:block;color:var(--muted);margin-top:5px}.payment-summary>.button{width:100%;margin-top:18px}.payment-success{max-width:760px;margin:50px auto;background:#fff;border:1px solid var(--line);border-radius:30px;padding:clamp(30px,6vw,70px);text-align:center;box-shadow:var(--shadow)}.payment-success h1{font:700 clamp(38px,5vw,60px)/1.08 "Libre Caslon Text",serif;letter-spacing:-.05em;margin:0}.payment-success>p:not(.eyebrow){color:var(--muted);line-height:1.8}.payment-success>div:last-child{display:flex;justify-content:center;gap:10px;margin-top:25px}.upload-files{display:grid;grid-template-columns:1fr 1fr;gap:13px}

/* Kantor */
.site-footer{background:linear-gradient(145deg,#e8f1ea,#fff7df);border-top:1px solid #d7e3d8;padding:65px 0 0}.office-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:45px;align-items:center}.office-map{aspect-ratio:16/9;overflow:hidden;border-radius:28px;border:7px solid #fff;box-shadow:0 24px 60px #17382b24}.office-map iframe{width:100%;height:100%;border:0}.office-copy h2{font:700 42px/1.1 "Libre Caslon Text",serif;letter-spacing:-.04em;margin:0 0 24px}.office-brand{display:flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none;padding-bottom:20px;border-bottom:1px solid #cbdaca}.office-brand>span:last-child{display:grid}.office-brand small{color:var(--green);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.office-copy address{font-style:normal;color:#53675e;line-height:1.8;margin:20px 0}.office-contact{display:grid;padding:16px;border-radius:16px;background:#fff;border:1px solid #d7e3d8}.office-contact span,.office-contact small{font-size:11px;color:var(--muted)}.office-contact strong{font-size:20px}.office-phone{display:inline-block;margin-top:17px;color:var(--ink);font-weight:800}.footer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:55px;padding-block:20px;border-top:1px solid #cbdaca;font-size:12px;color:var(--muted)}.footer-bottom p{margin:0}.footer-bottom button{border:0;background:none;color:var(--green);font-weight:800}

@media(max-width:800px){.promo-carousel{min-height:100px}.promo-arrow{width:34px;height:34px;font-size:24px}.promo-prev{left:9px}.promo-next{right:9px}.promo-dots{bottom:7px}.payment-heading{display:block}.payment-secure{display:inline-flex;margin-top:16px}.payment-layout,.office-grid{grid-template-columns:1fr}.payment-summary{position:static}.office-grid{gap:28px}.site-footer{padding-top:40px}.footer-bottom{margin-top:35px;padding-bottom:90px}.upload-files{grid-template-columns:1fr}}
@media(max-width:540px){.promo-carousel{aspect-ratio:4/1;min-height:88px}.promo-arrow{display:none}.promo-dots{padding:4px 6px}.payment-main{padding:17px}.payment-heading h1{font-size:40px}.payment-success>div:last-child{display:grid}.office-map{border-width:4px;border-radius:20px}.office-copy h2{font-size:35px}.footer-bottom{display:grid;gap:8px;text-align:center;justify-items:center}}
.office-brand{display:grid;justify-items:start;gap:8px}.office-brand img{display:block;width:230px;max-width:100%;height:auto;padding:14px 18px;border-radius:14px;background:var(--green);box-shadow:0 10px 24px #0c6b5030}.office-brand>span:last-child{display:none}

.featured-month{display:block;margin-top:26px;font-size:20px;color:var(--gold-soft)}
.book-card-footer .book-published-month{font-size:13px;line-height:1.3;color:var(--green)}
.featured-card[hidden]{display:none}
.book-standing .book-cover-placeholder{width:100%;aspect-ratio:339/462}
@media(max-width:540px){.brand{font-size:16px;gap:7px;white-space:nowrap}.brand-mark{flex:0 0 37px}.featured-month{margin-top:17px;font-size:16px}.book-card-footer .book-published-month{font-size:12px}}
