.album-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(9,26,15,.82);backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s,visibility .22s}
.album-modal-overlay.open{opacity:1;visibility:visible;pointer-events:auto}
.album-modal{position:relative;width:min(780px,100%);max-height:90vh;overflow:hidden;background:#fff;border:1px solid #dbe4da;border-radius:18px;box-shadow:0 22px 70px rgba(6,22,12,.32);transform:translateY(14px) scale(.98);transition:transform .28s}
.album-modal-overlay.open .album-modal{transform:translateY(0) scale(1)}
.album-modal-content{max-height:90vh;overflow:auto}
.album-modal-close{position:absolute;top:18px;right:18px;z-index:2;width:42px;height:42px;display:flex;align-items:center;justify-content:center;color:#173f2a;background:#fff;border:1px solid #d7e2d6;border-radius:50%;box-shadow:0 2px 10px rgba(18,47,29,.1);cursor:pointer}
.album-modal-close:hover{background:#edf7ee;border-color:#2d7a3a}
.album-modal-close:focus-visible{outline:3px solid #2d7a3a;outline-offset:2px}
.album-modal-close svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round}
.album-modal-layout{display:grid;grid-template-columns:minmax(220px,34%) minmax(0,1fr);min-height:350px}
.album-modal-cover{display:flex;align-items:center;justify-content:center;padding:24px;background:#edf3ee}
.album-modal-cover img{width:100%;max-height:440px;display:block;object-fit:contain;box-shadow:0 12px 28px rgba(13,38,20,.18)}
.album-modal-placeholder{min-height:300px;display:flex;align-items:center;justify-content:center;color:rgba(45,122,58,.3)}
.album-modal-placeholder svg{width:50px;height:50px;fill:none;stroke:currentColor;stroke-width:1.4}
.album-modal-body{min-width:0;padding:32px 78px 32px 38px}
.album-modal-label{color:#2d7a3a;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.album-modal-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.album-modal-badge{display:inline-block;padding:4px 9px;border-radius:30px;background:#eaf2eb;color:#235a30;font-size:.68rem;font-weight:800;line-height:1.3}
.album-modal-badge--laureat{background:#f0c040;color:#1a1a1a}
.album-modal-badge--shortlist{background:#dff1e2;color:#246b30}
.album-modal-badge--longlist{background:#e9ecef;color:#475569}
.album-modal-badge--scolaire{background:#f1c552;color:#35220b}
.album-modal-title{margin:12px 0 0;color:#173f2a;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;line-height:1.08}
.album-modal-series{margin-top:7px;color:#6b7280;font-size:.92rem;font-style:italic}
.album-modal-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 14px;margin-top:18px;color:#536258;font-size:.82rem}
.album-modal-authors{color:#2d7a3a;font-weight:700}
.album-modal-description{margin-top:22px;padding-top:20px;border-top:1px solid #e2e9e1}
.album-modal-section-title{margin:0 0 10px;color:#173f2a;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.album-modal-desc{color:#374151;font-size:.9rem;line-height:1.75;white-space:pre-line}
@media(max-width:620px){.album-modal-layout{grid-template-columns:1fr}.album-modal-cover{min-height:0;padding:16px}.album-modal-cover img{width:auto;max-width:150px;max-height:190px}.album-modal-placeholder{min-height:150px}.album-modal-body{padding:24px}.album-modal-close{top:12px;right:12px}}
