/* Book photo v72 */
.book-live-status{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);z-index:10050;background:#26201a;color:#fff;border:1px solid #b99c73;border-radius:8px;padding:12px 18px;max-width:90vw;box-shadow:0 6px 22px #0008}.book-live-status:empty{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.book-panel[open]{display:block!important;width:min(1050px,94vw);height:min(90dvh,1000px);max-height:90dvh;inset:5dvh auto auto 50%;transform:translateX(-50%);padding:0;border:1px solid #b29b7d;border-radius:10px;background:#1b1918;color:#eee;overflow:auto}.book-panel::backdrop{background:#000c}.book-panel>header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 20px;background:#211e1a;z-index:2;border-bottom:1px solid #8c775e}.book-panel h2{font:normal clamp(23px,4vw,34px) Georgia,serif;margin:0}.book-panel-body{padding:20px}.book-panel button,.book-panel select,.book-panel textarea,.book-refine-fields button,.book-refine-fields select,.book-refine-fields input{font:inherit;color:inherit;background:#292520;border:1px solid #a68d6d;border-radius:5px;padding:10px 12px;min-height:44px}.book-panel textarea{width:100%;min-height:180px}.book-panel-actions{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.book-panel button:focus-visible,.viewer-more summary:focus-visible{outline:3px solid #f2cc95;outline-offset:3px}.book-favorite-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:15px}.book-favorite-grid article{display:flex;flex-direction:column;gap:8px;border:1px solid #675847;padding:10px}.book-favorite-grid img{width:100%;height:180px;object-fit:contain}.session-presentation{display:grid;grid-template-columns:150px minmax(0,1fr);gap:6px 16px;border-bottom:1px solid #675847;padding:18px 0}.session-presentation img{width:150px;height:190px;object-fit:cover;grid-row:1 / span 5}.session-presentation h3,.session-presentation p{margin:0;white-space:pre-wrap}.session-presentation a,.photo-information a{color:#ead1ab;text-decoration:underline;overflow-wrap:anywhere}
.book-more-options{flex-basis:100%;min-width:0}.book-more-options>summary{cursor:pointer;padding:12px 0;font-weight:bold}.book-refine-fields{display:flex;gap:10px;flex-wrap:wrap}.book-refine-fields label{display:flex;align-items:center}.book-refine-fields input[type=checkbox]{width:auto}.book-refine-fields select,.book-refine-fields input{max-width:100%;min-width:0}.release-badge{font:11px Arial,sans-serif;opacity:.8;overflow-wrap:anywhere}.release-notice{position:sticky;top:0;z-index:10000;padding:12px;background:#e2c49c;color:#251e16;display:flex;justify-content:center;align-items:center;gap:15px}.release-notice button{padding:8px 12px;cursor:pointer}
.viewer-more{order:4;position:relative;margin:0!important;flex-shrink:0}.viewer-more>summary{display:grid;place-items:center;list-style:none;width:40px;min-height:44px;padding:6px;background:#242020;color:#eee;border:1px solid #a58e71;border-radius:5px;cursor:pointer}.viewer-more>summary::-webkit-details-marker{display:none}.viewer-more-actions{position:absolute;bottom:calc(100% + 8px);right:0;z-index:60;display:flex;flex-direction:column;gap:7px;min-width:220px;max-width:85vw;padding:12px;background:#211d19;border:1px solid #a58e71;border-radius:8px;box-shadow:0 5px 25px #000b}.viewer-more-actions button,.viewer-more-actions select{font:13px Arial,sans-serif;min-height:44px;padding:8px;background:#302920;color:#eee;border:1px solid #a58e71;border-radius:4px;cursor:pointer}.photo-zoom-controls{display:none;position:absolute;bottom:calc(65px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);gap:6px;align-items:center;padding:6px;background:#151515e8;border:1px solid #a58e71;border-radius:5px;z-index:30;font:12px Arial;color:#eee}.viewer-zoomed .photo-zoom-controls{display:flex}.photo-zoom-controls button{margin:0;padding:5px 8px;min-height:38px;min-width:38px;border:1px solid #a58e71;background:#29231e;color:#fff;cursor:pointer}.photo-controls-hidden .photo-zoom-controls{opacity:0;pointer-events:none}#large,#privateImage,.lightbox-body figure>img{touch-action:none;transform-origin:center}.photo-zoomed{cursor:grab}.viewer-zoomed .photo-swap{animation:none!important}.viewer-zoomed .nav,.viewer-zoomed .lightbox-arrow{opacity:.4}.image-retry{position:absolute;z-index:45;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;gap:10px;align-items:center;background:#251e18;color:#fff;padding:12px;border:1px solid #a58e71;border-radius:8px;max-width:90%}.image-retry button{min-height:44px;padding:8px;color:inherit;background:#49392a;border:1px solid #a58e71;cursor:pointer}
@media(max-width:680px){.book-panel>header{padding:10px}.book-panel-body{padding:12px}.session-presentation{grid-template-columns:90px minmax(0,1fr);gap:6px 10px}.session-presentation img{width:90px;height:125px}.viewer-more>summary{width:34px;min-height:44px;padding:4px}.viewer-tools{gap:4px;padding-inline:0}.viewer-more-actions{right:-2px}.book-refine-fields select,.book-refine-fields input[type=search]{width:100%}}
@media(max-height:480px){.viewer-more>summary{min-height:36px}.viewer-more-actions{max-height:70dvh;overflow:auto}.photo-zoom-controls{bottom:8px}}
@media(prefers-reduced-motion:reduce){.book-panel,.photo-zoomed{transition:none!important;animation:none!important}}

/* v74 : séances, navigation de fin et légendes mobiles */
#seances[hidden],#sessionNav[hidden],#backToSessions[hidden]{display:none!important}
.session-section{padding-top:clamp(2rem,6vw,5rem)}
.session-section h2{font:500 clamp(2rem,5vw,3.4rem)/1.1 Georgia,serif;margin:0 0 1rem}
.session-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1.25rem}
.session-card{overflow:hidden;min-width:0;border:1px solid currentColor;border-radius:8px}
.session-card img{display:block;width:100%;height:clamp(11rem,25vw,19rem);object-fit:cover}
.session-card-body{padding:1rem;overflow-wrap:anywhere}
.session-card h3{margin:0 0 .6rem}.session-card p{margin:.5rem 0}
.session-notes{white-space:pre-line}
.session-card-actions,.gallery-end{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}
.session-card-actions{margin-top:1rem}.session-card-actions a,.session-card-actions button,.gallery-end a{background:transparent;color:inherit;font:inherit;min-height:44px;display:inline-flex;align-items:center;padding:.55rem .7rem;border:1px solid currentColor;border-radius:4px;text-decoration:none;cursor:pointer;max-width:100%;overflow-wrap:anywhere}
.gallery-end{justify-content:center;padding:0 1rem 2rem}
@media(max-width:680px){
 #grid .card .overlay small{display:none}
 #grid .card .overlay{font-size:.78rem;padding:.45rem .55rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}
 #album-grid figcaption{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:0;padding:.45rem .55rem}
 #album-grid figcaption strong{font-size:.78rem}
 #album-grid figcaption .enlarge-cue,#album-grid figcaption .photo-stamp{display:none}
 #contact.contact{padding-block:clamp(2rem,8vw,3.25rem)}
}
.photo-captions-hidden #album-grid figcaption,.photo-captions-hidden #grid .card .overlay{display:none!important}

@media(max-width:680px){#album-grid figcaption strong{display:block;overflow:hidden;text-overflow:ellipsis}}

/* v76 : séances et barre de consultation */
.session-card{display:flex;flex-direction:column;border:1px solid color-mix(in srgb,currentColor 23%,transparent);border-radius:14px;background:color-mix(in srgb,currentColor 4%,transparent)}
.session-cover76{display:block;position:relative;overflow:hidden;background:#211e1d}
.session-card .session-cover76 img{height:clamp(13rem,30vw,22rem);transition:transform .35s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.session-cover76:hover img{transform:scale(1.04)}}
.session-count76{position:absolute;inset:auto .7rem .7rem auto;padding:.4rem .65rem;border-radius:999px;background:#171419e8;color:#fff;font-size:.8rem}
.session-card-body{padding:1.15rem 1rem .75rem}
.session-date76{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem}
.session-card h3{font-family:Georgia,serif;font-size:clamp(1.25rem,2.5vw,1.65rem);line-height:1.15;font-weight:500}
.session-card .session-notes{font-size:.92rem;line-height:1.55}
.session-card-actions{display:grid;gap:.45rem;margin-top:auto;padding:.25rem 1rem 1rem}
.session-card-actions>a:first-child{justify-content:center;background:var(--accent,#c6a778);color:#171719;border-color:transparent;font-weight:650;border-radius:7px}
.session-links76{display:flex;flex-wrap:wrap;gap:.2rem .6rem}
.session-card .session-links76 :is(a,button){display:inline-flex;align-items:center;gap:.35rem;border:0;padding:.3rem .15rem;font-size:.86rem;min-width:0;text-align:start}
.session-links76 :is(a,button):hover{text-decoration:underline}
.session-links76 svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sticky-filters76{position:sticky;top:var(--filter-header-offset,0px);z-index:12;margin:.75rem 0;border:1px solid color-mix(in srgb,currentColor 32%,transparent);border-radius:9px;background:var(--bg,#171617);box-shadow:0 5px 16px #0003;min-width:0}
.filter-row76{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .6rem;padding:.3rem .5rem}
.filter-row76 label{display:flex;align-items:center;gap:.35rem;min-width:0;font-size:.85rem}
.filter-row76 select,.filter-toggle76{min-height:44px;max-width:100%;background:transparent;color:inherit;font:inherit;border:1px solid currentColor;border-radius:5px;padding:.25rem .45rem}
.filter-row76 select{min-width:0;background:var(--bg,#171617)}
.filter-toggle76{cursor:pointer;white-space:nowrap;font-size:.9rem}
.filter-count76{margin-inline-start:auto;font-size:.82rem;white-space:nowrap}
.sticky-filters76 .book-selection-tools{margin:0;border:0;border-top:1px solid color-mix(in srgb,currentColor 30%,transparent);max-height:38vh;max-height:38dvh;overflow:auto;overscroll-behavior:contain}
.sticky-filters76 .book-selection-tools[hidden],.advanced-tools[hidden],.active-filters75[hidden]{display:none!important}
.active-filters75:not([hidden]){display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;margin:.6rem 0 1rem}
.active-filters75 button{min-height:44px;border:1px solid currentColor;border-radius:999px;padding:.35rem .7rem;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left;overflow-wrap:anywhere;max-width:100%}
.active-filters75 .filter-clear76{border-color:transparent;text-decoration:underline}
@media(max-width:420px){.filter-row76 label>span{display:none}.filter-row76 label{max-width:56%}.filter-row76 select{font-size:.8rem}}
.collaboration-card75{max-width:34rem;margin:1rem 0;padding:.8rem 1rem;border-inline-start:2px solid currentColor;text-align:left}
.collaboration-card75 h3,.collaboration-card75 p{margin:.3rem 0}

.toolbar[hidden]{display:none!important}
html[data-theme="clair"] .sticky-filters76,html[data-theme="atelier"] .sticky-filters76{--bg:#f5efe5;color:#282220}
html[data-theme="contact"] .sticky-filters76{--bg:#1d1c20}

/* Photo display preferences share the sticky gallery toolbar. */
.filter-row76 .photo-display-tools{margin:0;border-radius:5px;min-width:0;flex:none}
.filter-row76 .photo-display-tools summary{display:flex;align-items:center;gap:.3rem;min-height:42px;padding:.25rem .45rem;list-style:none;font:inherit;font-size:.9rem}
.filter-row76 .photo-display-tools summary::-webkit-details-marker{display:none}
.filter-row76 .photo-display-tools summary::after{content:"▾"}
.filter-row76 .photo-display-tools[open] summary::after{content:"▴"}
.filter-row76 .photo-display-options{position:absolute;inset:100% 0 auto;z-index:1;background:var(--bg,#171617);padding:.8rem;border:1px solid currentColor;border-radius:0 0 9px 9px;box-shadow:0 5px 16px #0004;max-height:38vh;max-height:38dvh;overflow:auto;overscroll-behavior:contain}

/* Réserver la vignette pendant le chargement, sans écraser la mosaïque. */
.book-image-shell{position:relative}
#grid .card:has(.book-image-pending),#grid .card:has(.book-image-failed),#album-grid figure:has(.book-image-pending),#album-grid figure:has(.book-image-failed){background:linear-gradient(120deg,#252526,#343437);min-height:180px}
#grid .card img.book-image-pending,#grid .card img.book-image-failed,#album-grid img.book-image-pending,#album-grid img.book-image-failed{opacity:0}
#grid .card .image-retry,#album-grid figure .image-retry{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:22px;max-width:100%;text-align:center;font:14px/1.5 system-ui;background:#252528e8;transform:none;overflow-wrap:anywhere;color:#eee}
.image-retry button{font:inherit;min-height:44px}

#large.book-image-pending,#large.book-image-failed,.lightbox-body figure>img.book-image-pending,.lightbox-body figure>img.book-image-failed{opacity:0}
.photo-fullscreen-surface:has(#large.book-image-pending)::after,.lightbox-body figure:has(>img.book-image-pending)::after{content:"Chargement de la photo…";position:absolute;inset:45% 10% auto;text-align:center;color:#ddd;font:14px/1.6 system-ui;pointer-events:none}
html[lang=en] .photo-fullscreen-surface:has(#large.book-image-pending)::after,html[lang=en] .lightbox-body figure:has(>img.book-image-pending)::after{content:"Loading photograph…"}
.lightbox-body figure .image-retry{max-width:min(320px,90vw);font:14px/1.6 system-ui;justify-content:center;flex-wrap:wrap;text-align:center}
/* Contraste cohérent : fond et premier plan changent ensemble, pour tous les thèmes. */
html{--book-panel:#1d1c20;--book-ink:#f4f0e9;--book-muted:#d0c7bc;--book-border:#a08e79;--book-accent:#e2c293;--book-accent-ink:#201a13;--book-scheme:dark}
html[data-theme=editorial]{--book-panel:#17263a;--book-ink:#f6f0e8;--book-muted:#c9d3de;--book-border:#91a1b6;--book-accent:#efb98b;--book-accent-ink:#1c2531}
html[data-theme=magazine]{--book-panel:#342330;--book-ink:#fff0e9;--book-muted:#e2c8d7;--book-border:#b391a7;--book-accent:#ffc09c;--book-accent-ink:#321c26}
html[data-theme=cinema]{--book-panel:#172629;--book-ink:#eef8f5;--book-muted:#c1dcd5;--book-border:#8aafa6;--book-accent:#ace1d4;--book-accent-ink:#142b25}
html:is([data-theme=clair],[data-theme=atelier],[data-theme=contact],[data-theme=galerie],[data-theme=polaroid]){--book-panel:#f7f1e7;--book-ink:#302820;--book-muted:#62574c;--book-border:#8c7763;--book-accent:#70472b;--book-accent-ink:#fffaf2;--book-scheme:light}
html[data-theme=galerie]{--book-panel:#f7f7f7;--book-ink:#1c1c1c;--book-muted:#535353;--book-border:#777;--book-accent:#242424;--book-accent-ink:#fff}
html[data-theme=atelier]{--book-panel:#f1f0e3;--book-ink:#2e3629;--book-muted:#53604b;--book-border:#7b886c;--book-accent:#3e5635;--book-accent-ink:#fff}
html[data-theme] :is(.sticky-filters76,.book-selection-tools,.photo-display-tools,.photo-display-options,.active-filters75,.book-panel){--bg:var(--book-panel);background:var(--book-panel);color:var(--book-ink);border-color:var(--book-border);color-scheme:var(--book-scheme)}
html[data-theme] :is(.sticky-filters76,.book-selection-tools,.photo-display-tools,.photo-display-options,.active-filters75,.book-panel) :is(p,label,legend,summary,small,h2,h3){color:inherit!important}
html[data-theme] :is(.sticky-filters76,.book-selection-tools,.photo-display-tools,.photo-display-options,.active-filters75,.book-panel) :is(button,select,input,textarea){background:var(--book-panel)!important;color:var(--book-ink)!important;border-color:var(--book-border)!important}
html[data-theme] :is(.sticky-filters76,.book-selection-tools,.photo-display-tools,.photo-display-options,.active-filters75,.book-panel) :is(input,textarea)::placeholder{color:var(--book-muted);opacity:1}
html[data-theme] :is(.sticky-filters76,.book-selection-tools,.photo-display-tools,.photo-display-options,.active-filters75,.book-panel) :is(button[aria-pressed=true],button[aria-checked=true],button:hover){background:var(--book-accent)!important;color:var(--book-accent-ink)!important}
html[data-theme] :is(.sticky-filters76,.book-selection-tools,.photo-display-tools,.photo-display-options,.active-filters75,.book-panel) option{background:var(--book-panel);color:var(--book-ink)}
html[data-theme] :is(.sticky-filters76,.book-selection-tools,.photo-display-tools,.book-panel) :focus-visible{outline:3px solid var(--book-accent)!important;outline-offset:3px}
html[data-theme] .sticky-filters76 .filter-row76,html[data-theme] .sticky-filters76 .photo-display-options{background:var(--book-panel);color:var(--book-ink)}
html:is([data-theme=galerie],[data-theme=polaroid]) .session-card,html:is([data-theme=galerie],[data-theme=polaroid]) .collaboration-card75{background:var(--book-panel);color:var(--book-ink);border-color:var(--book-border)}
html[data-theme] :is(.visitor-guide,.advanced-tools,.active-series){background:var(--book-panel);color:var(--book-ink);border-color:var(--book-border)}html[data-theme] :is(.visitor-guide,.advanced-tools,.active-series) :is(summary,label,p,small,button,input,select){color:var(--book-ink)!important}html[data-theme] :is(.visitor-guide,.advanced-tools) :is(input,select,button){background:var(--book-panel)!important;border-color:var(--book-border)!important}
html[data-theme] .lang{color:inherit;border-color:currentColor}html[data-theme] .top :is(.lang,#selectionReview,#publicMenuToggle){color:inherit;border-color:currentColor}
html:is([data-theme=galerie],[data-theme=polaroid]) .series-caption small{color:var(--book-muted)}html:is([data-theme=clair],[data-theme=atelier],[data-theme=contact],[data-theme=galerie],[data-theme=polaroid]) .album-grid figcaption{color:var(--book-ink);background:var(--book-panel)}
/* Les anciennes règles :has et le menu fixe ne doivent pas réintroduire un fond sombre sous un texte clair. */
html[data-theme=clair] .intro,html[data-theme=clair] .intro:has(.hero-photo:not([hidden])){background:#f6f2eb!important;color:#312720}html[data-theme=atelier] .intro,html[data-theme=atelier] .intro:has(.hero-photo:not([hidden])){background:#e6ded0!important;color:#283029}html[data-theme=contact] .intro,html[data-theme=contact] .intro:has(.hero-photo:not([hidden])){background:#ddd3bf!important;color:#2f2c26}html[data-theme=galerie] .intro,html[data-theme=galerie] .intro:has(.hero-photo:not([hidden])){background:#fff!important;color:#191919}html[data-theme=polaroid] .intro,html[data-theme=polaroid] .intro:has(.hero-photo:not([hidden])){background:#e9dfcd!important;color:#3d2c23}
html[data-theme=clair] .intro-content{background:#f6f2ebf5;padding:20px;border-radius:8px}html[data-theme=atelier] .intro-content{background:#e6ded0f5;padding:20px;border-radius:8px}html[data-theme=clair] .intro:has(.hero-photo:not([hidden]))::before{background:linear-gradient(90deg,#f6f2eb 0%,#f6f2ebdd 40%,transparent 75%)}
html:is([data-theme=clair],[data-theme=atelier],[data-theme=contact],[data-theme=galerie],[data-theme=polaroid]) header.top:not(.admin-top){background:var(--book-panel)!important;color:var(--book-ink)}html:is([data-theme=clair],[data-theme=atelier],[data-theme=contact],[data-theme=galerie],[data-theme=polaroid]) header.top:not(.admin-top) nav{background:var(--book-panel)!important;color:var(--book-ink)}
html:is([data-theme=clair],[data-theme=atelier],[data-theme=contact],[data-theme=galerie],[data-theme=polaroid]) :is(.explore,.mail,.explore span,.mail span){color:var(--book-accent)!important;border-color:var(--book-border);text-shadow:none}html:is([data-theme=clair],[data-theme=atelier],[data-theme=contact],[data-theme=galerie],[data-theme=polaroid]) .intro :is(p,h1,em){text-shadow:none}
html:is([data-theme=clair],[data-theme=atelier],[data-theme=contact],[data-theme=galerie],[data-theme=polaroid]) :is(footer,.section-header p,.album-intro p){color:var(--book-muted)!important}html[data-theme] .empty{background:var(--book-panel);color:var(--book-ink);border-color:var(--book-border)}html[data-theme] .empty :is(h2,h3,p){color:inherit!important}
/* v81 : la carte suit la hauteur réelle de sa couverture, sans réserve vide. */
html[data-theme]{--series-cover-height:340px}html[data-theme=magazine]{--series-cover-height:400px}html[data-theme=atelier]{--series-cover-height:410px}html[data-theme=cinema]{--series-cover-height:480px}html[data-theme=contact]{--series-cover-height:254px}
html[data-theme] .series-grid{align-items:start}html[data-theme] .series-card:has(>.series-album-link){height:auto;min-height:0;align-self:start}
html:not([data-theme=galerie]):not([data-theme=polaroid]) .series-card>.series-album-link{display:flex;align-items:flex-end;height:auto;min-height:var(--series-cover-height);isolation:isolate}
html:not([data-theme=galerie]):not([data-theme=polaroid]) .series-card>.series-album-link>img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;z-index:0}
html:not([data-theme=galerie]):not([data-theme=polaroid]) .series-card>.series-album-link>.series-caption{position:relative;inset:auto;width:100%;z-index:1;overflow-wrap:anywhere}
@media(max-width:680px){html[data-theme]{--series-cover-height:290px}html[data-theme=contact]{--series-cover-height:224px}}
