/* Chapitre II — a real reader's books, with a CSS-only walnut bookcase. */
.c2s,.c2s-dialog{--c2s-paper:#FBF7F2;--c2s-card:#FFFDF9;--c2s-ink:#2A1B33;--c2s-muted:#75676B;--c2s-line:#E7DACD;--c2s-wine:#6E1E30;--c2s-gold:#D3AE89;--c2s-wood:#493038;--c2s-wood-dark:#261A24;--c2s-wood-light:#79534D;color:var(--c2s-ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif}
.c2s{min-height:70vh;background:var(--c2s-paper);padding:28px 0 64px}
.c2s *,.c2s-dialog *{box-sizing:border-box}
.c2s [hidden],.c2s-dialog [hidden]{display:none!important}
.c2s-wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 24px}
.c2s a{color:var(--c2s-wine);text-underline-offset:4px}
.c2s :is(a,button,input,select,summary):focus-visible,.c2s-dialog :is(a,button,input,select):focus-visible{outline:3px solid var(--c2s-gold);outline-offset:4px}
.c2s-back{display:inline-flex;align-items:center;min-height:44px;color:var(--c2s-muted)!important;text-decoration:none;font-size:12px;font-weight:600}
.c2s-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:13px 0 27px}
.c2s-eyebrow{display:block;font-size:10px;line-height:1.5;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--c2s-wine)}
.c2s h1{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;font-size:clamp(31px,4.4vw,48px);font-weight:600;line-height:1.15;letter-spacing:-.8px;margin:9px 0 12px;overflow-wrap:anywhere}
.c2s-intro{max-width:660px;color:var(--c2s-muted);font-size:14px;line-height:1.8;margin:0}
.c2s-count{flex-shrink:0;font-size:12px;font-weight:600;line-height:1.5;color:var(--c2s-muted);padding-bottom:5px}
.c2s-count strong{color:var(--c2s-ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;font-size:28px;font-weight:600}
.c2s-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:0 0 22px}
.c2s-search{flex:1 1 310px;max-width:470px;min-width:0;position:relative}
.c2s-search label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}
.c2s-search input{width:100%;min-height:48px;padding:13px 16px;border:1px solid var(--c2s-line);border-radius:13px;background:var(--c2s-card);color:var(--c2s-ink);font:400 16px/1.4 -apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;box-shadow:0 2px 6px #2A1B3304}
.c2s-search input::placeholder{color:var(--c2s-muted);opacity:.9}
.c2s-search input:focus{border-color:var(--c2s-gold)}
.c2s-tabs{display:flex;flex-wrap:wrap;gap:8px}
.c2s-tabs :is(a,button){display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:1px solid var(--c2s-line);border-radius:24px;padding:10px 14px;background:var(--c2s-card);color:var(--c2s-muted);font:600 12px/1.5 -apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;text-decoration:none;cursor:pointer}
.c2s-tabs :is(a,button):hover{border-color:#B7927A;color:var(--c2s-wine)}
.c2s-tabs :is([aria-pressed="true"],[aria-current="page"],.is-active),.c2s-tabs :is([aria-pressed="true"],[aria-current="page"],.is-active):hover{background:var(--c2s-wine);border-color:var(--c2s-wine);color:#F4EEE7}
.c2s-tabs span{font-size:10px;opacity:.8}
.c2s-status{color:var(--c2s-muted);font-size:13px;line-height:1.6;margin:12px 0}
.c2s-status:empty{display:none}
.c2s-status .c2s-page{min-height:44px;margin-left:10px;padding:9px 14px;border:1px solid var(--c2s-line);border-radius:10px;background:var(--c2s-card);color:var(--c2s-wine);font:600 12px/1.5 -apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;cursor:pointer}
.c2s-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 18px;border:1px solid #3B2544;border-radius:13px;background:linear-gradient(135deg,#3B2544,#24182D);color:#F4EEE7!important;text-decoration:none;font:600 13px/1.5 -apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;cursor:pointer;box-shadow:0 5px 12px #2A1B3314}
.c2s-button:hover{background:#3B2544;border-color:#78566E}
.c2s-add-book{flex-shrink:0;white-space:nowrap;margin-bottom:3px}
.c2s-add-panel{border:1px solid var(--c2s-line);border-radius:15px;background:var(--c2s-card);margin:0 0 24px}
.c2s-add-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;min-height:49px;padding:14px 18px;font-size:12px;font-weight:600;line-height:1.5;color:var(--c2s-wine);cursor:pointer}
.c2s-add-panel>summary::-webkit-details-marker{display:none}
.c2s-add-panel>summary::after{content:"+";font-size:21px;line-height:1;font-weight:400}
.c2s-add-panel[open]>summary::after{content:"−"}
.c2s-add-panel .c2s-search{max-width:none;padding:5px 18px 18px}
.c2s-search-help{margin:10px 0;color:var(--c2s-muted);font-size:11px;line-height:1.7}
.c2s-search-results{display:grid;gap:7px;max-height:350px;overflow:auto;overscroll-behavior:contain;margin-top:12px}
.c2s-search-results:empty{display:none}
.c2s-search-option{display:flex;align-items:center;gap:13px;width:100%;padding:11px 13px;border:1px solid var(--c2s-line);border-radius:11px;background:var(--c2s-paper);color:var(--c2s-ink);font:inherit;text-align:left;cursor:pointer}
.c2s-search-option:hover{border-color:var(--c2s-gold)}
.c2s-search-option img{display:block;flex:0 0 37px;width:37px;height:54px;object-fit:contain;border-radius:2px}
.c2s-search-option>span{min-width:0}
.c2s-search-option strong{display:block;font-size:13px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}
.c2s-search-option small{display:block;font-size:11px;line-height:1.5;color:var(--c2s-muted);margin-top:3px}
.c2s-selected:empty{display:none}
.c2s-selected{padding-top:17px;margin-top:17px;border-top:1px solid var(--c2s-line)}
.c2s-selected h3{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;font-size:22px;line-height:1.3;font-weight:600;margin:0 0 15px;overflow-wrap:anywhere}
.c2s-total{font-size:12px;font-weight:500;color:var(--c2s-muted);white-space:nowrap;padding:7px 0}

/* A walnut cabinet: moulded crown, solid uprights, recessed back and raised base. */
#c2s-books{position:relative;min-width:0;margin:10px 0 34px;padding:35px 28px 30px;border:1px solid #52372F;border-radius:5px;background:repeating-linear-gradient(91deg,#E8BB860B 0 1px,transparent 1px 6px,#1E121A1F 7px 8px,transparent 9px 17px),linear-gradient(90deg,#9A7151 0,#694735 5px,#805A40 12px,#5A3B30 25px,#35232A 28px,#694735 50%,#35232A calc(100% - 28px),#785138 calc(100% - 24px),#5B3C30 calc(100% - 6px),#A07955 100%);box-shadow:0 24px 34px -12px #2918244D,0 4px 8px #29182426,inset 0 1px #D5B18466,inset 0 -3px #291B2266}
#c2s-books::before{content:"";position:absolute;z-index:8;pointer-events:none;left:-6px;right:-6px;top:-8px;height:28px;border:1px solid #5B3B2F;border-radius:4px 4px 2px 2px;background:repeating-linear-gradient(1deg,transparent 0 3px,#EBC6970D 4px 5px,transparent 6px 9px),linear-gradient(180deg,#B28A61 0,#896141 4px,#5A3A2D 6px,#8E6547 8px,#765139 18px,#4F332D 20px,#996F4E 23px,#64422F 100%);box-shadow:0 8px 12px #21131F40,inset 0 1px #E4C19180,inset 0 -1px #2A192080}
#c2s-books::after{content:"";position:absolute;z-index:8;pointer-events:none;left:-5px;right:-5px;bottom:-12px;height:38px;border-radius:2px;background:linear-gradient(180deg,#AF855C,#765038 4px,#966C48 7px,#795239 19px,#483025 25px,transparent 26px) top/100% 26px no-repeat,linear-gradient(90deg,#694633 0 32px,transparent 32px calc(100% - 32px),#694633 calc(100% - 32px)) bottom/ calc(100% - 28px) 12px no-repeat;filter:drop-shadow(0 7px 4px #281A202E)}
.c2s-shelf{position:relative;min-width:0;isolation:isolate;background:repeating-linear-gradient(90deg,transparent 0 92px,#160c1238 93px 95px,#e7c89e12 96px,transparent 97px 140px),repeating-linear-gradient(92deg,#e7c89e0a 0 1px,transparent 1px 10px,#1c1116 11px 12px,transparent 13px 24px),radial-gradient(120% 78% at 50% -12%,#d3a86e3d,transparent 58%),radial-gradient(ellipse at 50% 104%,#b0803f38,transparent 74%),linear-gradient(90deg,#241016,#6d4c37 16%,#805a42 50%,#66452f 84%,#241016);box-shadow:inset 0 3px 0 #e7c89e26,inset 14px 12px 30px #150b12b0,inset -14px 0 26px #150b1290}
.c2s-shelf:first-child{border-radius:1px 1px 0 0}
.c2s-shelf::before,.c2s-shelf::after{content:"";position:absolute;z-index:2;pointer-events:none;top:0;bottom:24px;width:10px;background:radial-gradient(circle at 50% 56%,#D6B88980 0 1px,#291C2280 1.5px 2px,transparent 2.5px),linear-gradient(90deg,#34232B,#76553C)}
.c2s-shelf::before{left:0}.c2s-shelf::after{right:0;transform:scaleX(-1)}
.c2s-row{display:flex;align-items:flex-end;gap:18px;min-width:0;min-height:262px;padding:55px 27px 4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-padding-inline:27px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.c2s-row::-webkit-scrollbar{display:none}
.c2s-row::after{content:"";display:block;flex:0 0 1px;align-self:stretch;pointer-events:none}
.c2s-plank{position:relative;z-index:6;height:24px;margin-top:-4px;background:repeating-linear-gradient(1deg,transparent 0 3px,#E0B88017 4px 5px,transparent 6px 9px),linear-gradient(180deg,#B68D61 0,#946A45 12%,#795035 28%,#84583C 68%,#53342C 87%,#35232A 100%);border-top:1px solid #D5AC7973;border-bottom:1px solid #28192099;box-shadow:0 15px 18px #1B101F61,inset 0 2px 1px #E0BC832B,inset 0 -3px 2px #2E1B2447}
.c2s-plank::before{content:"";position:absolute;bottom:100%;left:0;right:0;height:9px;background:repeating-linear-gradient(0deg,transparent 0 2px,#DBB77E0F 3px 4px),linear-gradient(180deg,#614531,#A37C55);box-shadow:0 -3px 8px #1C102533;pointer-events:none}
.c2s-shelf:last-child .c2s-plank{border-radius:0 0 4px 4px}

/* All 3D faces belong to the same real book. No decorative/fabricated books. */
.c2s-book{--book-tone:#6B374B;--book-height:184px;--book-width:106px;--book-tilt:-.6deg;position:relative;display:block;flex:0 0 var(--book-width);width:var(--book-width);height:var(--book-height);min-width:44px;min-height:44px;padding:0;border:0;border-radius:3px;background:none;color:#F6F0EB;text-align:left;font:inherit;cursor:pointer;perspective:900px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;z-index:1}
.c2s-book:nth-child(3n+2){--book-tilt:.5deg}
.c2s-book:nth-child(3n+3){--book-tilt:0deg}
.c2s-book::after{content:"";position:absolute;left:2%;right:-10%;bottom:-4px;height:14px;border-radius:50%;background:#170D208C;filter:blur(5px);transform:skewX(-22deg);opacity:.8;pointer-events:none;transition:opacity .3s ease,transform .3s ease}
.c2s-volume{position:absolute;inset:0;display:block;transform-style:preserve-3d;transform-origin:50% 100%;transform:rotateY(28deg) rotateZ(var(--book-tilt));transition:transform .34s cubic-bezier(.2,.75,.25,1);pointer-events:none}
.c2s-front{position:absolute;inset:0;display:block;overflow:hidden;border-radius:1px 4px 4px 1px;background:var(--book-tone);transform:translateZ(12px);backface-visibility:hidden;box-shadow:inset 0 0 0 1px #FFFFFF20,1px 1px 2px #150A1E44}
.c2s-front img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.c2s-front::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#160A2338 0,#FFFFFF19 2%,#160A2326 5%,transparent 8%,transparent 93%,#FFFFFF13 100%);box-shadow:inset 0 1px #FFFFFF26,inset 0 -1px #10091840}
.c2s-cover-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;height:100%;padding:16px 12px;background:radial-gradient(ellipse at 0 0,#F4DDBF1F,transparent 60%),linear-gradient(145deg,#FFFFFF07,#0E081A26),var(--book-tone,#6B374B);color:#F6F0EB;text-align:center}
.c2s-cover-fallback::before,.c2s-cover-fallback::after{content:"";display:block;flex:0 0 1px;width:28px;height:1px;background:#E7CFAF80}
.c2s-cover-fallback strong{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;font-size:15px;font-weight:600;line-height:1.28;overflow-wrap:anywhere}
.c2s-cover-fallback span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:8px;line-height:1.5;letter-spacing:.2px;opacity:.83}
.c2s-spine{position:absolute;top:0;bottom:0;left:-12px;width:24px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:11px 3px;background:linear-gradient(90deg,#00000038,transparent 30%,#FFFFFF15 54%,#00000026),var(--book-tone);border-radius:3px 0 0 3px;color:#F4E8DC;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;font-size:10px;line-height:1.2;letter-spacing:.3px;writing-mode:vertical-rl;text-orientation:mixed;transform:rotateY(-90deg);backface-visibility:hidden;box-shadow:inset 0 10px 0 -8px #D3AE8947,inset 0 -10px 0 -8px #D3AE8947}
.c2s-pages{position:absolute;top:3px;bottom:3px;right:-10px;width:20px;display:block;background:repeating-linear-gradient(90deg,#E8DED0 0 1px,#CFC2AF 1px 2px,#F4ECDF 2px 4px);transform:rotateY(90deg);backface-visibility:hidden;box-shadow:inset 0 0 4px #5C483555}
.c2s-volume::after{content:"";position:absolute;left:2px;right:2px;top:-10px;height:20px;background:repeating-linear-gradient(0deg,#DFD4C5 0 1px,#F1E7D7 1px 3px);transform:rotateX(90deg);backface-visibility:hidden;box-shadow:inset 0 0 3px #33202944}
.c2s-book:is(:focus-visible,.is-preview){z-index:5;outline:none}
.c2s-book:is(:focus-visible,.is-preview) .c2s-volume{transform:translateY(-17px) translateZ(24px) rotateY(0deg) rotateZ(0deg)}
.c2s-book:is(:focus-visible,.is-preview) .c2s-front{box-shadow:8px 12px 16px #100B1847,inset 0 0 0 1px #FFFFFF20}
.c2s-book:is(:focus-visible,.is-preview)::after{opacity:.4;transform:scale(.82) skewX(-22deg)}
@media(hover:hover) and (pointer:fine){.c2s-book:hover{z-index:5}.c2s-book:hover .c2s-volume{transform:translateY(-17px) translateZ(24px) rotateY(0deg) rotateZ(0deg)}.c2s-book:hover .c2s-front{box-shadow:8px 12px 16px #100B1847,inset 0 0 0 1px #FFFFFF20}.c2s-book:hover::after{opacity:.4;transform:scale(.82) skewX(-22deg)}}
.c2s-book.is-new .c2s-volume{animation:c2s-settle .65s cubic-bezier(.2,.75,.25,1)}
.c2s-book.is-new:is(:hover,:focus-visible,.is-preview) .c2s-volume{animation:none}
@keyframes c2s-settle{0%{opacity:0;transform:translateY(-30px) translateZ(30px) rotateY(12deg) rotateZ(-3deg)}65%{opacity:1;transform:translateY(2px) rotateY(28deg) rotateZ(var(--book-tilt))}100%{opacity:1;transform:rotateY(28deg) rotateZ(var(--book-tilt))}}
.c2s-shelf-hint{display:flex;align-items:center;justify-content:center;gap:8px;margin:17px 0 0;color:var(--c2s-muted);font-size:11px;line-height:1.6;text-align:center}
.c2s-empty{width:100%;max-width:570px;margin:auto;padding:45px 22px;text-align:center;color:var(--c2s-muted);font-size:14px;line-height:1.8}
.c2s-empty h2,.c2s-empty strong{display:block;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;font-size:24px;font-weight:500;line-height:1.3;margin:0 0 12px;color:var(--c2s-ink)}
#c2s-books .c2s-empty{color:#DBCDC5;padding-top:52px;padding-bottom:48px}
#c2s-books .c2s-empty :is(h2,strong){color:#F6EEE4}
#c2s-books .c2s-empty a{color:#E7CFAF}
.c2s-empty p{margin:10px 0}
.c2s-pager{display:flex;align-items:center;justify-content:center;gap:18px;margin:26px 0 0;font-size:12px;color:var(--c2s-muted)}
.c2s-pager :is(a,button){display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;border:1px solid var(--c2s-line);border-radius:12px;background:var(--c2s-card);color:var(--c2s-wine);font:600 12px/1.5 -apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;padding:10px 15px;text-decoration:none;cursor:pointer}
.c2s-pager button:disabled{opacity:.45;cursor:default}

.c2s-dialog{position:fixed;max-width:760px;width:calc(100% - 40px);max-height:calc(100svh - 48px);margin:auto;padding:34px;border:1px solid var(--c2s-line);border-radius:24px;background:var(--c2s-paper);overflow:auto;overscroll-behavior:contain;box-shadow:0 28px 90px #130B285C}
.c2s-dialog::backdrop{background:#17111FAD;backdrop-filter:blur(4px)}
.c2s-dialog-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:30px;align-items:start}
.c2s-detail-art{position:relative;aspect-ratio:2/3;overflow:hidden;border-radius:3px 8px 8px 3px;background:var(--book-tone,#493044);box-shadow:9px 12px 24px #24122829,2px 1px 0 #E7DACC}
.c2s-detail-art>img{display:block;width:100%;height:100%;object-fit:contain}
.c2s-detail-cover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.c2s-detail-cover>img{display:block;width:100%;height:100%;object-fit:contain}
.c2s-detail-art .c2s-cover-fallback{position:absolute;inset:0;padding:22px 15px}
.c2s-detail-art .c2s-cover-fallback strong{font-size:22px}
.c2s-detail-art .c2s-cover-fallback span{font-size:11px}
.c2s-detail-info{min-width:0;padding-top:4px}
.c2s-detail-info h2{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;font-size:28px;line-height:1.22;font-weight:600;margin:0 26px 10px 0;overflow-wrap:anywhere}
.c2s-detail-info p{font-size:13px;line-height:1.7;color:var(--c2s-muted);overflow-wrap:anywhere}
.c2s-detail-author{margin:0 0 8px}
.c2s-detail-meta{font-size:11px!important}
.c2s-detail-info a{color:var(--c2s-wine);text-underline-offset:4px}
.c2s-detail-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin:16px 0 0;font-size:12px;line-height:1.7}
.c2s-book-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;font-weight:600;line-height:1.6;margin-top:12px}
.c2s-detail-controls{grid-column:1/-1;margin-top:4px}
.c2s-close{position:absolute;top:10px;right:10px;z-index:2;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:var(--c2s-paper);color:var(--c2s-muted);font:400 26px/1 Arial,sans-serif;cursor:pointer}
.c2s-close:hover{background:var(--c2s-line);color:var(--c2s-ink)}
.c2s-close svg{width:18px;height:18px}

@media(max-width:760px){.c2s-wrap{padding:0 18px}.c2s-hero{align-items:flex-start;flex-direction:column;gap:12px}.c2s-toolbar{align-items:stretch;gap:15px}.c2s-search{max-width:none;flex-basis:100%}.c2s-tabs{gap:7px}.c2s-tabs :is(a,button){padding:10px 12px}#c2s-books{padding:31px 20px 28px;border-radius:5px}.c2s-row{gap:20px;padding-left:22px;padding-right:22px;scroll-padding-inline:22px}.c2s-book{--book-width:102px}.c2s-dialog-layout{grid-template-columns:125px minmax(0,1fr);gap:22px}.c2s-dialog{padding:28px}.c2s-detail-info h2{font-size:24px}.c2s-detail-art .c2s-cover-fallback strong{font-size:17px}}
@media(max-width:480px){.c2s{padding-top:15px;padding-bottom:42px}.c2s-wrap{padding:0 14px}.c2s-hero{margin-top:8px;margin-bottom:22px}.c2s h1{font-size:34px;letter-spacing:-.6px}.c2s-intro{font-size:13px;line-height:1.75}.c2s-eyebrow{font-size:9px}.c2s-tabs{width:100%;gap:6px}.c2s-tabs :is(a,button){font-size:11px;padding:9px 11px;min-height:42px}#c2s-books{padding:29px 17px 27px;border-radius:4px}#c2s-books::before{left:-3px;right:-3px;height:25px}#c2s-books::after{left:-3px;right:-3px}.c2s-row{gap:20px;padding:48px 15px 4px;min-height:250px;scroll-padding-inline:15px}.c2s-book{--book-width:96px}.c2s-cover-fallback{padding:15px 9px}.c2s-cover-fallback strong{font-size:14px}.c2s-plank{height:22px}.c2s-shelf::before,.c2s-shelf::after{bottom:22px;width:8px}.c2s-shelf-hint{font-size:10px;padding:0 6px}.c2s-dialog{width:calc(100% - 24px);max-height:calc(100svh - 28px);padding:25px 20px;border-radius:20px}.c2s-dialog-layout{grid-template-columns:96px minmax(0,1fr);gap:19px}.c2s-detail-info{padding-top:3px}.c2s-detail-info h2{font-size:22px;margin-right:12px}.c2s-detail-info p{font-size:12px}.c2s-detail-art .c2s-cover-fallback strong{font-size:14px}.c2s-detail-art .c2s-cover-fallback span{font-size:8px}.c2s-detail-links{gap:8px 12px}.c2s-close{top:5px;right:4px;width:36px;height:36px}.c2s-empty{padding:32px 17px;font-size:13px}.c2s-pager{gap:10px}}
@media(max-width:480px){.c2s-close{top:1px;right:1px;width:44px;height:44px}.c2s-detail-info h2{margin-right:27px}}
@media(max-width:600px){.c2s-dialog-layout{row-gap:11px}.c2s-detail-info{display:contents}.c2s-detail-art{grid-column:1;grid-row:1/4}.c2s-detail-info h2{grid-column:2;grid-row:1;margin-bottom:0}.c2s-detail-author{grid-column:2;grid-row:2;margin:0!important}.c2s-detail-meta{grid-column:2;grid-row:3;margin:0!important}.c2s-dialog #c2s-controls{grid-column:1/-1;margin-top:14px}.c2s-book-link{grid-column:1/-1;margin-top:0}.c2s-add-panel .c2s-search{padding:3px 14px 15px}.c2s-add-panel>summary{padding:13px 14px}.c2s-toolbar{gap:9px}}
@media(prefers-reduced-motion:reduce){.c2s-book::after,.c2s-volume{transition:none}.c2s-book.is-new .c2s-volume{animation:none}.c2s-book:is(:focus-visible,.is-preview) .c2s-volume{transform:rotateY(0deg)}.c2s-book:hover .c2s-volume{transform:rotateY(0deg)}}
@media screen{html[data-bk-theme="dark"] .c2s,html[data-bk-theme="dark"] .c2s-dialog{--c2s-paper:#17131D;--c2s-card:#251D2C;--c2s-ink:#F4EEE7;--c2s-muted:#C6B8C9;--c2s-line:#47384D;--c2s-wine:#E7CFAF;color-scheme:dark}html[data-bk-theme="dark"] .c2s-tabs :is([aria-pressed="true"],[aria-current="page"],.is-active){background:#E7CFAF;border-color:#E7CFAF;color:#2A1B33}html[data-bk-theme="dark"] #c2s-books{box-shadow:0 18px 45px #09070D59,0 3px 6px #09070D47,inset 0 1px #BC938334}html[data-bk-theme="dark"] .c2s-dialog::backdrop{background:#08060DBF}}
@media print{.c2s-toolbar,.c2s-pager,.c2s-shelf-hint,.c2s-dialog{display:none!important}.c2s{background:#fff;padding:0}#c2s-books{background:none;border:0;box-shadow:none;padding:0}.c2s-shelf{background:none;box-shadow:none;break-inside:avoid}.c2s-row{overflow:visible;flex-wrap:wrap;height:auto;padding:15px;min-height:0;gap:20px}.c2s-volume{transform:none!important;filter:none}.c2s-book{height:150px}#c2s-books::before,#c2s-books::after,.c2s-shelf::before,.c2s-shelf::after,.c2s-spine,.c2s-pages,.c2s-plank,.c2s-book::after,.c2s-volume::after{display:none}.c2s-front{transform:none;box-shadow:none}}

/* Independent heart buttons avoid nesting controls inside the book opener. */
.c2s-book-slot{position:relative;flex:0 0 106px;width:106px;z-index:1}
.c2s-book-slot:nth-child(3n+2) .c2s-book{--book-tilt:.5deg}.c2s-book-slot:nth-child(3n+3) .c2s-book{--book-tilt:0deg}
.c2s-book-slot:focus-within{z-index:6}.c2s-book-slot>.c2l-favorite{position:absolute;z-index:9;top:6px;right:6px}
@media(hover:hover) and (pointer:fine){.c2s-book-slot:hover{z-index:6}}
@media(max-width:760px){.c2s-book-slot{flex-basis:102px;width:102px}}
@media(max-width:480px){.c2s-book-slot{flex-basis:96px;width:96px}}

/* MODERN-SHELF-OVERRIDE */
/* Bibliothèque modernisée : mur clair chaleureux + tablettes chêne fines, sans moulures. */
.c2s #c2s-books{background:linear-gradient(180deg,#F8F2EA 0%,#F1E9DC 55%,#EADFCE 100%)!important;border:1px solid #E7DACD!important;border-radius:18px!important;padding:16px 22px 24px!important;box-shadow:inset 0 1px 0 #FFFFFFC4,0 24px 48px -26px #2A1B3340,0 5px 16px -9px #2A1B331f!important}
.c2s #c2s-books::before,.c2s #c2s-books::after{display:none!important}
.c2s .c2s-shelf{background:none!important;box-shadow:none!important}
.c2s .c2s-shelf::before,.c2s .c2s-shelf::after{display:none!important}
.c2s .c2s-plank{height:15px!important;margin-top:-3px!important;border:0!important;border-radius:2px 2px 4px 4px!important;background:repeating-linear-gradient(90deg,transparent 0 5px,#7A5B3A12 5px 6px,transparent 6px 13px),linear-gradient(180deg,#E7CFA9 0%,#D7BA8E 36%,#C7A97C 72%,#B4936A 100%)!important;box-shadow:0 15px 22px -11px #2A1B3338,0 3px 5px -1px #2A1B3322,inset 0 1px 0 #FBEEDA,inset 0 -1px 0 #8E6E4E4D!important}
.c2s .c2s-plank::before{height:6px!important;background:linear-gradient(180deg,#EAD5B2,#CDB085)!important;box-shadow:none!important}
.c2s .c2s-shelf:last-child .c2s-plank{border-radius:2px 2px 5px 5px!important}
/* Reflet diagonal doux sur les couvertures + transition d'ombre au survol */
.c2s .c2s-front{transition:box-shadow .34s cubic-bezier(.2,.75,.25,1)!important}
.c2s .c2s-front::after{background:linear-gradient(125deg,#FFFFFF2b 0%,#FFFFFF0a 15%,transparent 34%),linear-gradient(90deg,#160A2330 0,#FFFFFF14 2%,#160A2320 5%,transparent 8%,transparent 93%,#FFFFFF10 100%)!important}
/* Ombre des livres plus douce sur mur clair */
.c2s .c2s-book::after{opacity:.5!important;background:#2A1B3370!important}
.c2s .c2s-book:is(:focus-visible,.is-preview)::after{opacity:.26!important}
@media(hover:hover) and (pointer:fine){.c2s .c2s-book:hover::after{opacity:.26!important}}
/* Le livre qui se redresse au survol n'est plus rogné (desktop) */
@media(hover:hover) and (pointer:fine){.c2s .c2s-row{overflow:visible!important}}
/* Focus discret bordeaux : plus de gros liseret or, et rien autour de la couverture */
.c2s :is(a,button,input,select,summary):focus-visible,.c2s-dialog :is(a,button,input,select):focus-visible{outline:2px solid var(--c2s-wine)!important;outline-offset:2px!important}
.c2s .c2s-book:focus-visible,.c2s .c2s-book.is-preview{outline:none!important}
/* État vide : encre sombre sur fond clair */
.c2s #c2s-books .c2s-empty{color:var(--c2s-muted)!important}
.c2s #c2s-books .c2s-empty :is(h2,strong){color:var(--c2s-ink)!important}
.c2s #c2s-books .c2s-empty a{color:var(--c2s-wine)!important}
/* Thème sombre : bois profond mais net, pas de caverne */
html[data-bk-theme="dark"] .c2s #c2s-books{background:linear-gradient(180deg,#241C2E 0%,#1C1626 100%)!important;border-color:#3A2E43!important;box-shadow:inset 0 1px 0 #FFFFFF12,0 24px 48px -26px #05030899,0 5px 16px -9px #05030866!important}
html[data-bk-theme="dark"] .c2s .c2s-plank{background:repeating-linear-gradient(90deg,transparent 0 5px,#00000018 5px 6px,transparent 6px 13px),linear-gradient(180deg,#5C4838,#453120)!important;box-shadow:0 15px 22px -11px #05030880,inset 0 1px 0 #7A5D42,inset 0 -1px 0 #2A1B1288!important}
html[data-bk-theme="dark"] .c2s .c2s-plank::before{background:linear-gradient(180deg,#5A4636,#3E2C1D)!important}

.c2s-dialog .c2s-close:focus-visible{outline:none!important;background:var(--c2s-line)!important}

/* VITRINE-OVERRIDE */
/* Vitrine luxe : livres de face + reflet doux, surface claire boutique haut de gamme. */
.c2s #c2s-books{background:linear-gradient(180deg,#faf5ee 0%,#f1e8da 60%,#ebdfcd 100%)!important;border:1px solid #ece0cf!important;border-radius:20px!important;box-shadow:inset 0 1px 0 #ffffffcc,0 18px 44px -26px rgba(42,27,51,.42)!important;padding:26px 30px 26px!important}
.c2s #c2s-books::before,.c2s #c2s-books::after{display:none!important}
.c2s .c2s-shelf{background:none!important;box-shadow:none!important;margin-bottom:58px!important}
.c2s .c2s-shelf:last-child{margin-bottom:6px!important}
.c2s .c2s-shelf::before,.c2s .c2s-shelf::after{display:none!important}
.c2s .c2s-row{min-height:214px!important;padding:14px 24px 0!important;gap:30px!important;align-items:flex-end!important}
.c2s .c2s-plank{height:2px!important;margin-top:0!important;border:0!important;border-radius:2px!important;background:linear-gradient(90deg,transparent,rgba(211,174,137,.85),transparent)!important;box-shadow:0 1px 0 rgba(255,255,255,.85),0 7px 16px -7px rgba(42,27,51,.28)!important}
.c2s .c2s-plank::before{display:none!important}
.c2s .c2s-book{perspective:none!important;height:auto!important;aspect-ratio:2/3!important;--book-width:132px!important}
.c2s .c2s-book-slot{flex:0 0 132px!important;width:132px!important;align-self:flex-end}
.c2s .c2s-book::after{display:none!important}
.c2s .c2s-volume{transform:none!important;-webkit-box-reflect:below 2px linear-gradient(transparent 58%,rgba(0,0,0,.02) 74%,rgba(0,0,0,.2))!important}
.c2s .c2s-spine,.c2s .c2s-pages,.c2s .c2s-volume::after{display:none!important}
.c2s .c2s-front{transform:none!important;background:#f4eee3!important;border-radius:3px 5px 5px 3px!important;box-shadow:0 2px 5px rgba(20,10,25,.16),0 14px 26px -10px rgba(20,10,25,.32),inset 0 0 0 1px #ffffff1c!important}
.c2s .c2s-front img{object-fit:contain!important}
.c2s .c2s-cover-fallback{border-radius:3px 5px 5px 3px}
.c2s .c2s-book:is(:focus-visible,.is-preview) .c2s-volume{transform:none!important;-webkit-box-reflect:below 2px linear-gradient(transparent 58%,rgba(0,0,0,.02) 74%,rgba(0,0,0,.2))!important}
@media(hover:hover) and (pointer:fine){
  .c2s .c2s-row{overflow:visible!important}
  .c2s .c2s-book:hover .c2s-volume{transform:translateY(-8px)!important}
  .c2s .c2s-book:hover .c2s-front{box-shadow:0 8px 14px rgba(20,10,25,.2),0 26px 46px -12px rgba(20,10,25,.46),inset 0 0 0 1px #ffffff26!important}
}
@media(max-width:760px){.c2s .c2s-book{--book-width:118px!important}.c2s .c2s-book-slot{flex-basis:118px!important;width:118px!important}.c2s .c2s-row{min-height:192px!important}}
@media(max-width:480px){.c2s .c2s-book{--book-width:104px!important}.c2s .c2s-book-slot{flex-basis:104px!important;width:104px!important}.c2s .c2s-row{min-height:172px!important}}
html[data-bk-theme="dark"] .c2s #c2s-books{background:linear-gradient(180deg,#241c2e,#1b1524)!important;border-color:#3a2e43!important}
html[data-bk-theme="dark"] .c2s .c2s-plank{background:linear-gradient(90deg,transparent,rgba(211,174,137,.5),transparent)!important}
html[data-bk-theme="dark"] .c2s .c2s-front{background:#2b2430!important}

/* Smartphone : 3 livres par rangée, pleine largeur, sans défilement horizontal */
@media(max-width:600px){
  .c2s .c2s-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;padding:12px 12px 0!important;min-height:0!important;overflow:visible!important;align-items:end!important;justify-items:stretch;width:100%!important;max-width:none!important;box-sizing:border-box!important;margin:0!important}
  .c2s .c2s-shelf{width:100%!important;max-width:none!important;display:block!important}
  .c2s #c2s-books{padding:18px 10px 20px!important}
  .c2s .c2s-book .c2s-volume,.c2s .c2s-book .c2s-front{width:100%!important}
  .c2s .c2s-book-slot{width:auto!important;flex-basis:auto!important;min-width:0}
  .c2s .c2s-book{--book-width:100%!important;width:100%!important;height:auto!important;aspect-ratio:2/3!important;perspective:none!important}
  .c2s .c2s-shelf{margin-bottom:30px!important}
  .c2s .c2s-shelf-hint{margin-top:10px}
}
