/* ebooks — lecteur plein écran */
*{box-sizing:border-box}
html,body{margin:0;height:100%;overflow:hidden}
body.ebk{
    --ebk-bg:#474d55;--ebk-bar:#3b4047;--ebk-text:#fff;--ebk-accent:#e8892b;--ebk-brown:#826E63;
    background:radial-gradient(ellipse at center,#5a616a 0%,#474d55 70%);
    color:var(--ebk-text);font-family:"Helvetica Neue",Arial,sans-serif;
    display:flex;flex-direction:column;-webkit-user-select:none;user-select:none;touch-action:none;
}
.ebk svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* barre */
.ebk-bar{flex:none;height:56px;display:flex;align-items:center;gap:12px;padding:0 14px;background:var(--ebk-bar);box-shadow:0 2px 10px rgba(0,0,0,.25);z-index:20}
.ebk-title{flex:1 1 0;min-width:0;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ebk-tools{display:flex;align-items:center;gap:4px}
.ebk-actions{flex:1 1 0;display:flex;justify-content:flex-end;gap:8px}
.ebk-sep{width:1px;height:24px;background:rgba(255,255,255,.2);margin:0 8px}
.ebk-count{min-width:92px;text-align:center;font-size:14px;font-variant-numeric:tabular-nums;opacity:.9}
.ebk-btn,.ebk-zoomval{
    appearance:none;-webkit-appearance:none;border:0;background:transparent;color:#fff;cursor:pointer;
    width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:background .15s;
}
.ebk-zoomval{width:auto;border-radius:20px;padding:0 10px;font-size:13px;font-variant-numeric:tabular-nums;min-width:58px}
.ebk-btn:hover,.ebk-zoomval:hover{background:rgba(255,255,255,.16)}
.ebk-btn[disabled]{opacity:.35;cursor:default;background:transparent}
.ebk-cta{
    appearance:none;-webkit-appearance:none;border:0;cursor:pointer;text-decoration:none;color:#fff;
    display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:20px;font-size:14px;font-weight:600;
    transition:filter .15s,transform .15s;
}
.ebk-cta:hover{filter:brightness(1.1);transform:translateY(-1px);color:#fff}
.ebk-cta-dl{background:var(--ebk-accent)}
.ebk-cta-quit{background:var(--ebk-brown)}

/* scène */
.ebk-stage{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}
/* logo en filigrane au fond du lecteur */
.ebk-stage::before{content:'';position:absolute;inset:0;pointer-events:none;
    background:url(../img/logo-filigrane.png) no-repeat 24% 50%/min(40%,820px) auto;opacity:.25}
.ebk-zoom{position:absolute;inset:0;padding:18px 70px;transform-origin:50% 50%;will-change:transform}
.ebk-book{width:100%;height:100%}
.ebk-pan{position:absolute;inset:0;z-index:10;cursor:grab}
.ebk-pan.is-drag{cursor:grabbing}
.ebk-page{background:#fff;overflow:hidden}
.ebk-page img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.ebk-page.is-loading::after{
    content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;
    border:3px solid #ddd;border-top-color:var(--ebk-accent);border-radius:50%;animation:ebk-spin .9s linear infinite;
}
.ebk-page.is-loading img{visibility:hidden}

/* flèches latérales */
.ebk-side{
    position:absolute;top:50%;z-index:15;width:46px;height:70px;margin-top:-35px;border:0;cursor:pointer;color:#fff;
    background:rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;transition:background .15s,opacity .2s;
}
.ebk-side:hover{background:rgba(232,137,43,.85)}
.ebk-side[disabled]{opacity:0;pointer-events:none}
.ebk-side-prev{left:0;border-radius:0 35px 35px 0}
.ebk-side-next{right:0;border-radius:35px 0 0 35px}

/* pied : curseur de page */
.ebk-foot{flex:none;height:38px;display:flex;align-items:center;justify-content:center;padding:0 24px;background:var(--ebk-bar)}
#ebk-range{width:min(720px,100%);accent-color:var(--ebk-accent);cursor:pointer}

/* chargement / erreur */
.ebk-loader,.ebk-error{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:rgba(71,77,85,.96)}
.ebk-loader.is-done{opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s .4s}
.ebk-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.25);border-top-color:var(--ebk-accent);border-radius:50%;animation:ebk-spin .9s linear infinite}
.ebk-loader-text{font-size:15px;opacity:.9}
.ebk-progress{width:240px;height:6px;background:rgba(255,255,255,.2);border-radius:3px;overflow:hidden}
.ebk-progress i{display:block;height:100%;width:0;background:var(--ebk-accent);transition:width .2s}
.ebk-error[hidden],.ebk-pan[hidden]{display:none}
@keyframes ebk-spin{to{transform:rotate(360deg)}}

/* mobile */
@media (max-width:760px){
    .ebk-bar{height:52px;padding:0 8px;gap:6px}
    .ebk-title{display:none}
    .ebk-tools{flex:1 1 auto;justify-content:flex-start}
    .ebk-actions{flex:none}
    .ebk-cta{padding:0 12px;height:38px}
    .ebk-cta span{display:none}
    .ebk-cta-dl span,.ebk-cta-quit span{display:none}
    .ebk-count{min-width:70px;font-size:13px}
    .ebk-sep,.ebk-hide-sm{display:none}
    .ebk-zoom{padding:10px 10px}
    .ebk-side{width:34px;height:56px;margin-top:-28px}
}
