:root{
  --scd-navy:#0a0a6e;
  --scd-navy-dark:#04044a;
  --scd-orange:#f39a1a;
  --scd-orange-dark:#d47a06;
}
.scd-wrap,.scd-modal{font-family:'Montserrat',sans-serif}
.scd-title{color:var(--scd-navy);font-weight:800;text-transform:uppercase;margin:0 0 24px}

.scd-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.scd-toolbar input,.scd-toolbar select{padding:13px 18px;border:2px solid var(--scd-navy);border-radius:8px;font:500 15px 'Montserrat',sans-serif;color:var(--scd-navy);background:#fff}
.scd-toolbar input{flex:1;min-width:220px}
.scd-toolbar input:focus,.scd-toolbar select:focus{outline:none;border-color:var(--scd-orange);box-shadow:0 0 0 3px rgba(243,154,26,.25)}

.scd-shelves{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.scd-pill{background:#fff;color:var(--scd-navy);border:2px solid var(--scd-navy);border-radius:30px;padding:8px 20px;font:700 13px 'Montserrat',sans-serif;cursor:pointer;text-transform:uppercase;letter-spacing:.03em;transition:.2s}
.scd-pill:hover{border-color:var(--scd-orange)}
.scd-pill.active{background:var(--scd-navy);color:#fff;border-color:var(--scd-navy);box-shadow:inset 0 -3px 0 var(--scd-orange)}
.scd-count{color:var(--scd-navy);font-weight:600;font-size:14px;margin:0 0 16px}

.scd-grid{display:grid;grid-template-columns:repeat(var(--scd-cols,4),1fr);gap:26px}
@media(max-width:1100px){.scd-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.scd-grid{grid-template-columns:repeat(2,1fr);gap:16px}}
@media(max-width:520px){.scd-grid{grid-template-columns:1fr}}

/* Livre */
.scd-book{display:flex;flex-direction:column;gap:12px;transition:transform .2s}
.scd-book:hover{transform:translateY(-5px)}
.scd-cover{position:relative;flex:1;min-height:270px;background:linear-gradient(160deg,var(--scd-navy-dark),var(--scd-navy));color:#fff;border-radius:4px 12px 12px 4px;padding:26px 22px 22px 40px;display:flex;flex-direction:column;gap:10px;box-shadow:6px 10px 24px rgba(10,10,110,.3),inset -3px 0 6px rgba(0,0,0,.25)}
.scd-spine{position:absolute;left:0;top:0;bottom:0;width:20px;background:var(--scd-orange);border-radius:4px 0 0 4px;box-shadow:inset -3px 0 5px rgba(0,0,0,.2)}
.scd-ico{flex:none}
.scd-tag{align-self:flex-start;background:var(--scd-orange);color:var(--scd-navy-dark);font-weight:700;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:20px}
.scd-cover h3{margin:0;color:#fff;font-weight:800;font-size:17px;line-height:1.3;text-transform:uppercase;word-break:break-word}
.scd-cover p{margin:0;font-size:13px;line-height:1.55;opacity:.88}
.scd-date{margin-top:auto;opacity:.65;font-size:11.5px}

.scd-btn{background:var(--scd-orange);color:var(--scd-navy);border:0;border-radius:6px;padding:13px 16px;font:700 14px 'Montserrat',sans-serif;cursor:pointer;box-shadow:0 8px 20px rgba(243,154,26,.3);transition:background .2s}
.scd-btn:hover{background:var(--scd-orange-dark)}
.scd-empty{color:var(--scd-navy);font-weight:600;padding:20px 0}

/* Visionneuse */
.scd-modal{position:fixed;inset:0;z-index:999999;background:var(--scd-navy-dark);display:none;flex-direction:column;-webkit-user-select:none;user-select:none}
.scd-modal.open{display:flex}
.scd-modal,.scd-modal *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
.scd-modal ::selection{background:transparent}
.scd-modal-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;background:#fff;border-bottom:4px solid var(--scd-orange)}
.scd-modal-bar span{color:var(--scd-navy);font-weight:800;text-transform:uppercase;font-size:15px}
.scd-modal-bar button{background:var(--scd-navy);color:#fff;border:0;width:40px;height:40px;border-radius:50%;font-size:26px;line-height:1;cursor:pointer}
.scd-modal-bar button:hover{background:var(--scd-orange);color:var(--scd-navy)}
.scd-modal-body{flex:1;overflow:auto;padding:24px 12px;text-align:center}
.scd-page{position:relative;display:block;margin:0 auto 20px;box-shadow:0 8px 30px rgba(0,0,0,.45);background:#fff;max-width:100%}
.scd-page canvas{display:block;max-width:100%;height:auto!important;pointer-events:none}
.scd-wm{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;overflow:hidden}
.scd-wm span{transform:rotate(-30deg);font:800 clamp(18px,4vw,42px) 'Montserrat',sans-serif;color:rgba(10,10,110,.09);white-space:nowrap}
.scd-loading{color:#fff;font-weight:600;padding:40px}

@media print{body *{visibility:hidden!important}body::after{content:"Impression non autorisée";visibility:visible;font:700 24px sans-serif}}
