@font-face{font-family:Geist;src:url('./assets/geist-latin.woff2') format('woff2');font-display:swap;font-weight:100 900}
@font-face{font-family:Geist;src:url('./assets/geist-latin-ext.woff2') format('woff2');font-display:swap;font-weight:100 900}
:root{--paper:#f6f4ef;--ink:#0a0a0a;--cyan:#08e6e5;--pink:#d89a90;--line:#111;--muted:#5d5b56}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Geist,Arial,Helvetica,sans-serif}button,a{font:inherit;color:inherit}button{cursor:pointer}img{display:block;max-width:100%}
.site-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);background-image:radial-gradient(rgba(0,0,0,.035) .55px,transparent .55px);background-size:4px 4px}
.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);padding:25px 20px 20px;overflow:auto;background:rgba(246,244,239,.96)}
.brand h1{font-size:30px;letter-spacing:-.045em;margin:0 0 3px;font-weight:820}.art-exposed{font-size:26px;margin:0 0 26px;display:flex;align-items:center;gap:4px}.art-exposed span{text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:#e13131;text-decoration-thickness:1.5px;text-underline-offset:5px}.art-exposed i{display:inline-block;height:1.1em;border-left:2px solid #111;animation:blink 1s steps(1,end) infinite}@keyframes blink{50%{opacity:0}}
.scribble-rule{height:14px;border-top:1px dashed #111;margin:0 0 18px;position:relative}.scribble-rule:after{content:'////////////////////////////';position:absolute;left:0;top:-10px;letter-spacing:-2px;font-size:10px;white-space:nowrap;overflow:hidden;width:100%}
.main-nav,.secondary-nav{display:flex;flex-direction:column}.main-nav{border-bottom:1px solid #aaa}.main-nav a,.secondary-nav a{display:flex;justify-content:space-between;text-decoration:none;padding:10px 4px;border-top:1px solid #bbb;font-size:14px}.main-nav a span{font-weight:650}.main-nav a.is-current span{background:var(--cyan);padding:1px 3px}.secondary-nav{margin:18px 0}.secondary-nav a{font-weight:430}
.sidebar-card{position:relative;padding-top:42px;margin-top:6px}.sidebar-card .media-button{border:1px solid #777;background:white;padding:0;width:100%;overflow:hidden}.sidebar-card img{width:100%;aspect-ratio:.82;object-fit:cover;object-position:center}
.manifest-card{position:relative;margin-top:18px;padding:52px 13px 14px;border:1px solid #888;background:#fbfaf6;min-height:180px}.manifest-card p{font-size:12px;line-height:1.55;margin:0 0 14px}.manifest-card strong{display:inline;font-size:9px;line-height:1.35;background:#1ee64b;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:1px 2px}.sidebar-footer{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;margin-top:18px;color:#333}
.content{display:grid;grid-template-columns:minmax(620px,1fr) 360px;min-width:0}.pieces{padding:26px 24px 36px;border-right:1px solid var(--line)}.section-heading h2{font-size:21px;text-decoration:underline;margin:0 0 8px;letter-spacing:-.03em}.section-heading p{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.45;margin:0 0 24px}
.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 16px}.work-card{min-width:0}.work-media,.media-button{border:0;background:none;padding:0;text-align:left;width:100%}.work-media{border:1px solid #888;background:#efebdc;overflow:hidden;transition:transform .15s ease}.work-media:hover,.work-media:focus-visible{transform:translateY(-2px)}.work-media img{width:100%;aspect-ratio:.83;object-fit:cover}.work-card:nth-child(1) .work-media img{object-fit:contain;background:#efe9c9}.work-card:nth-child(2) .work-media img{object-fit:cover}.work-card:nth-child(3) .work-media img{object-fit:cover}.work-card:nth-child(4) .work-media img{object-fit:cover}.work-meta{display:flex;flex-direction:column;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.45;padding-top:7px}.work-meta strong{font-size:12px}.placeholder-visual{aspect-ratio:.83;border:1px solid #aaa;background:linear-gradient(145deg,#ede9d5,#f8f6ec);display:grid;place-items:center;font-family:ui-monospace,monospace;color:#888}.placeholder-visual.bad-heidi{background:#f1ecd8}.placeholder-visual span{transform:rotate(-5deg);text-align:center}.all-link{display:inline-block;margin-top:42px;font-family:ui-monospace,monospace;font-size:12px;color:#135766;text-underline-offset:3px}
.right-rail{min-width:0}.poster-card{position:relative;padding:88px 22px 22px;border-bottom:1px solid var(--line)}.poster-button{border:1px solid #777;background:#fff}.poster-button img{width:100%;height:auto}.exhibition-story{border-bottom:1px solid var(--line)}.story-top{background:#d79a90;color:#fff;text-align:center;padding:28px 22px 26px}.story-top p,.story-top h3{margin:0}.story-top p{font-size:16px;line-height:1.35}.story-top h3{font-size:17px;color:#080808}.story-gap{height:32px}.story-bottom{text-align:center;padding:36px 24px 22px;min-height:520px;display:flex;flex-direction:column;align-items:center;gap:34px}.story-bottom p{font-size:15px;line-height:1.4;margin:0}.story-bottom .cast{background:#d79a90;color:#fff;padding:10px 16px;width:88%;transform:rotate(-3deg);font-size:12px}.rights{margin-top:auto!important;color:#b8b1aa;font-size:10px!important;align-self:flex-end;text-align:left}.ghost-sections{font-size:11px;color:#444}.ghost-sections>div{padding:18px 22px;border-bottom:1px solid #aaa}
/* BULLES : vrai texte + variables CSS. --bubble = couleur, --turn = rotation, --tail = position de la pointe. */
.bubble{--bubble:#d89a90;--turn:-3deg;--tail:78%;position:absolute;z-index:5;left:7px;top:8px;display:inline-block;background:var(--bubble);color:white;border:2px solid #111;border-radius:12px 12px 12px 4px;padding:11px 16px 12px;font-size:20px;font-weight:780;line-height:1;transform:rotate(var(--turn));box-shadow:-4px 7px 0 #111;white-space:nowrap}.bubble:before{content:'';position:absolute;left:var(--tail);bottom:-14px;width:22px;height:20px;background:var(--bubble);border-right:2px solid #111;border-bottom:2px solid #111;clip-path:polygon(0 0,100% 0,100% 100%);transform:skewX(15deg)}.bubble:after{content:'✱';position:absolute;right:-16px;top:-22px;color:#fff;font-size:40px;line-height:1;text-shadow:none;transform:rotate(10deg)}.bubble-small{font-size:16px;top:8px}.bubble-art{top:28px;left:15px;font-size:18px}
/* LIGHTBOX */
.lightbox{position:fixed;inset:0;display:none;place-items:center;z-index:999;background:rgba(8,8,8,.9);padding:36px}.lightbox.is-open{display:grid}.lightbox-backdrop{position:absolute;inset:0;border:0;background:transparent}.lightbox-figure{position:relative;z-index:2;margin:0;max-width:min(94vw,1200px);max-height:90vh;display:flex;flex-direction:column;align-items:center}.lightbox-figure img{max-width:100%;max-height:78vh;object-fit:contain;background:#fff;box-shadow:0 14px 60px rgba(0,0,0,.45)}.lightbox-figure figcaption{align-self:stretch;color:white;padding-top:12px;display:flex;justify-content:space-between;gap:20px;font-size:13px}.lightbox-figure figcaption span{color:#c8c8c8;text-align:right}.lightbox-close{position:absolute;right:18px;top:8px;z-index:3;border:0;background:transparent;color:white;font-size:46px;line-height:1}.lightbox-open{overflow:hidden}
@media(max-width:1200px){.content{grid-template-columns:minmax(0,1fr) 320px}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:920px){.site-shell{grid-template-columns:220px minmax(0,1fr)}.content{grid-template-columns:1fr}.pieces{border-right:0}.right-rail{border-top:1px solid #111}.poster-card{max-width:520px}.right-rail{display:grid;grid-template-columns:1fr 1fr}.poster-card{border-right:1px solid #111}.ghost-sections{grid-column:1/-1}}
@media(max-width:680px){.site-shell{display:block}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid #111}.content{display:block}.works-grid{grid-template-columns:1fr 1fr}.right-rail{display:block}.poster-card{max-width:none;border-right:0}.bubble{font-size:16px}.lightbox{padding:18px}.lightbox-figure figcaption{display:block}.lightbox-figure figcaption span{display:block;text-align:left;margin-top:4px}}
@media(max-width:460px){.works-grid{grid-template-columns:1fr}.pieces{padding:22px 14px}.sidebar{padding:22px 14px}.poster-card{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.art-exposed i{animation:none}.work-media{transition:none}}

/* === VERSION 2 COLONNES : galerie + contenu éditorial dans la colonne gauche === */
.site-shell{grid-template-columns:320px minmax(0,1fr)}
.content{display:block;min-width:0}
.pieces{border-right:0;min-height:100vh;padding:30px 34px 46px}
.sidebar{padding-bottom:34px}
.right-rail{display:none!important}
.sidebar-poster{margin-top:24px;padding:60px 0 0;border-top:1px solid #aaa;border-bottom:0}
.sidebar-poster .poster-button{border:1px solid #777}
.sidebar-story{margin-top:18px;border:1px solid #888}
.sidebar-story .story-top{padding:22px 14px 20px}
.sidebar-story .story-top p{font-size:13px}
.sidebar-story .story-top h3{font-size:14px}
.sidebar-story .story-gap{height:22px}
.sidebar-story .story-bottom{min-height:0;padding:26px 14px 18px;gap:24px}
.sidebar-story .story-bottom p{font-size:12px}
.sidebar-story .story-bottom .cast{font-size:10px;width:92%}
.sidebar-ghost{margin-top:18px;border:1px solid #aaa}
.sidebar-ghost>div{padding:14px 12px}

/* Filtres */
.gallery-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 22px;padding:10px 0;border-top:1px solid #aaa;border-bottom:1px solid #aaa;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}
.gallery-tools-label{font-weight:700}
.filter-list{display:flex;gap:7px;flex-wrap:wrap}
.filter-button{border:1px solid #111;background:transparent;padding:4px 8px;font-family:inherit;font-size:11px}
.filter-button:hover,.filter-button:focus-visible,.filter-button.is-active{background:var(--cyan)}

/* Tags visibles sur les images */
.work-media,.placeholder-visual{position:relative}
.work-tag{position:absolute;z-index:2;left:7px;top:7px;background:var(--cyan);color:#080808;border:1px solid #111;padding:3px 6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;font-weight:700;line-height:1;box-shadow:2px 2px 0 #111}
.placeholder-visual>.work-tag{transform:none;text-align:left;color:#080808}
.work-card[hidden]{display:none!important}

/* Pagination — affichée automatiquement seulement s'il y a plus de 12 résultats */
.pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:34px;padding-top:18px;border-top:1px solid #aaa}
.pagination[hidden]{display:none}
.page-button{min-width:34px;height:34px;border:1px solid #111;background:transparent;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}
.page-button:hover,.page-button:focus-visible,.page-button.is-active{background:var(--cyan)}
.page-button:disabled{opacity:.3;cursor:default;background:transparent}
.page-arrow{font-size:17px}

@media(min-width:1280px){.works-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 18px}}
@media(max-width:1000px){.site-shell{grid-template-columns:280px minmax(0,1fr)}.works-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.site-shell{grid-template-columns:230px minmax(0,1fr)}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pieces{padding:24px 18px}}
@media(max-width:680px){.site-shell{display:block}.sidebar{position:relative;height:auto}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.works-grid{grid-template-columns:1fr}.gallery-tools{align-items:flex-start;flex-direction:column}}

/* === FILTRES BOUTIQUE : 3 axes indépendants et couleurs paramétrables === */
.gallery-tools{display:grid;gap:9px;align-items:stretch}
.filter-group{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:start;gap:10px}
.filter-group+.filter-group{padding-top:8px;border-top:1px dashed #aaa}
.filter-button{--filter-color:var(--cyan)}
.filter-button:hover,.filter-button:focus-visible,.filter-button.is-active{background:var(--filter-color)}

/* Badges de fiche œuvre. La couleur se règle avec --tag-color en HTML. */
.work-badges{position:absolute;z-index:4;inset:7px 7px auto 7px;display:flex;flex-wrap:wrap;gap:5px;pointer-events:none}
.work-tag{position:static!important;display:inline-flex;align-items:center;background:var(--tag-color,var(--cyan));color:#080808;border:1px solid #111;padding:3px 6px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px;font-weight:700;line-height:1;box-shadow:2px 2px 0 #111}
.work-author-tag{font-weight:600}
.work-status-tag{text-transform:uppercase;letter-spacing:.02em}
.work-card[data-status="soldout"] .work-media img,.work-card[data-status="soldout"] .placeholder-visual{filter:grayscale(.65);opacity:.72}
.work-card[data-status="soldout"] .work-meta strong{text-decoration:line-through;text-decoration-thickness:1px}

@media(max-width:600px){.filter-group{grid-template-columns:1fr;gap:5px}}

/* === PANIER + STOCK ÉDITIONS LIMITÉES === */
.cart-toggle{margin-top:18px;width:100%;border:1px solid #111;background:#ffe45c;padding:10px 12px;text-align:left;font:700 12px ui-monospace,SFMono-Regular,Consolas,monospace;box-shadow:3px 3px 0 #111;cursor:pointer}.cart-toggle span{float:right;background:#111;color:#fff;min-width:22px;text-align:center;padding:1px 5px}.shop-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px}.stock-label{font:10px/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;color:#333}.stock-label.is-low{color:#a13b2c;font-weight:800}.add-to-cart{border:1px solid #111;background:#08e6e5;padding:6px 9px;font:800 10px ui-monospace,SFMono-Regular,Consolas,monospace;box-shadow:2px 2px 0 #111;cursor:pointer}.add-to-cart:hover,.add-to-cart:focus-visible{transform:translate(-1px,-1px);box-shadow:3px 3px 0 #111}.add-to-cart:disabled{background:#ddd;color:#777;box-shadow:none;cursor:not-allowed;transform:none}.cart-drawer{position:fixed;z-index:1200;right:0;top:0;width:min(430px,94vw);height:100dvh;background:#f7f4e9;border-left:2px solid #111;transform:translateX(105%);transition:transform .18s ease;display:flex;flex-direction:column;box-shadow:-10px 0 0 rgba(0,0,0,.08)}.cart-drawer.is-open{transform:translateX(0)}.cart-screen{position:fixed;z-index:1190;inset:0;border:0;background:rgba(0,0,0,.38)}.cart-head{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid #111;font:800 15px ui-monospace,monospace}.cart-head button{border:0;background:none;font-size:30px}.cart-lines{overflow:auto;padding:0 18px}.cart-line{display:grid;grid-template-columns:1fr auto;gap:8px;padding:15px 0;border-bottom:1px dashed #999;font:11px/1.4 ui-monospace,monospace}.cart-line strong{font-size:12px}.cart-line-actions{display:flex;align-items:center;gap:6px;grid-column:1/-1}.cart-line-actions button{border:1px solid #111;background:#fff;min-width:27px;height:25px;font:700 12px ui-monospace,monospace}.cart-remove{margin-left:auto!important;padding:0 7px}.cart-empty{padding:24px 18px;color:#777;font:11px ui-monospace,monospace}.cart-footer{margin-top:auto;border-top:1px solid #111;padding:18px}.cart-total{display:flex;justify-content:space-between;font:14px ui-monospace,monospace;margin-bottom:14px}.checkout-button{width:100%;border:2px solid #111;background:#f7a6ca;padding:12px;font:900 13px ui-monospace,monospace;box-shadow:4px 4px 0 #111}.checkout-button:disabled{opacity:.45;box-shadow:none}.checkout-note{font:9px/1.4 ui-monospace,monospace;color:#666;margin:14px 0 0}.checkout-note code{font:inherit}.cart-open{overflow:hidden}
@media(prefers-reduced-motion:reduce){.cart-drawer{transition:none}}

/* === DISPONIBILITÉ : vocabulaire boutique === */
.work-card[data-status="soldout"] .work-media img,
.work-card[data-status="soldout"] .placeholder-visual{filter:grayscale(.65);opacity:.72}
.work-card[data-status="soldout"] .work-meta strong{text-decoration:line-through;text-decoration-thickness:1px}

/* === LIGHTBOX PRODUIT MULTI-IMAGES === */
.lightbox-figure{width:min(94vw,1280px);max-width:none;max-height:92vh}
.lightbox-stage{position:relative;width:100%;min-height:0;display:grid;place-items:center}
.lightbox-stage>img{max-width:100%;max-height:70vh;object-fit:contain;background:#fff;box-shadow:0 14px 60px rgba(0,0,0,.45)}
.lightbox-nav{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid #fff;background:rgba(0,0,0,.7);color:#fff;font:700 22px/1 ui-monospace,SFMono-Regular,Consolas,monospace;cursor:pointer}
.lightbox-nav:hover,.lightbox-nav:focus-visible{background:#fff;color:#111}
.lightbox-prev{left:8px}.lightbox-next{right:8px}
.lightbox-nav[hidden]{display:none}
.lightbox-thumbs{position:relative;z-index:3;width:100%;display:flex;justify-content:center;gap:8px;margin-top:12px;overflow-x:auto;padding:2px 2px 8px}
.lightbox-thumbs[hidden]{display:none}
.lightbox-thumb{flex:0 0 auto;width:72px;height:72px;padding:0;border:1px solid #777;background:#111;opacity:.6;cursor:pointer}
.lightbox-thumb:hover,.lightbox-thumb:focus-visible,.lightbox-thumb.is-active{opacity:1;border-color:#fff;outline:2px solid #fff;outline-offset:2px}
.lightbox-thumb img{display:block;width:100%;height:100%;object-fit:cover;background:#fff}
.lightbox-figure figcaption{display:grid;grid-template-columns:1fr auto auto;align-items:start;gap:16px}
.lightbox-figure figcaption small{font:10px ui-monospace,SFMono-Regular,Consolas,monospace;color:#aaa;white-space:nowrap}
@media(max-width:680px){
  .lightbox-stage>img{max-height:62vh}
  .lightbox-nav{width:38px;height:38px}
  .lightbox-thumb{width:58px;height:58px}
  .lightbox-figure figcaption{grid-template-columns:1fr;gap:4px}
  .lightbox-figure figcaption span{text-align:left}
}

/* === SIDEBAR : panier puis services / engagements === */
.secondary-nav{margin-top:18px}
.services-nav{margin-top:12px;padding-top:14px;border-top:1px solid #999;display:grid;gap:7px}
.services-nav-title{font:800 10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase;letter-spacing:.06em;color:#555;margin-bottom:2px}
.services-nav a{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #111;background:#f7f4e9;padding:8px 9px;text-decoration:none;color:#111;font:700 10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;box-shadow:2px 2px 0 #111}
.services-nav a:hover,.services-nav a:focus-visible{background:var(--cyan);transform:translate(-1px,-1px);box-shadow:3px 3px 0 #111}
.services-nav b{font-size:13px}
.sidebar-services{margin-top:18px;display:grid;gap:10px}
.service-card{scroll-margin-top:16px;border:1px solid #888;padding:12px;background:rgba(255,255,255,.22)}
.service-card:target{outline:3px solid var(--cyan);outline-offset:2px}
.service-card h3{margin:0 0 6px;font:800 11px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase}
.service-card p{margin:0;font:10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:#333}

/* === LIGHTBOX : texte long / narration === */
.lightbox-figure{overflow:auto}
.lightbox-caption{display:block!important;width:min(100%,980px);margin:14px auto 0;color:#fff}
.lightbox-caption-head{display:grid;grid-template-columns:1fr auto auto;align-items:start;gap:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.28)}
.lightbox-caption-head strong{font-size:15px}
.lightbox-caption-head span{font:11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:#ddd;text-align:right}
.lightbox-caption-head small{font:10px ui-monospace,SFMono-Regular,Consolas,monospace;color:#aaa;white-space:nowrap}
.lightbox-description{max-width:760px;padding:16px 0 6px;font:13px/1.65 Arial,Helvetica,sans-serif;color:#f3f3f3;text-align:left}
.lightbox-description[hidden]{display:none}
.lightbox-description p{margin:0 0 1em}
.lightbox-description p:last-child{margin-bottom:0}
.lightbox-description strong{font-weight:700}
@media(max-width:680px){
  .lightbox-caption-head{grid-template-columns:1fr;gap:4px}
  .lightbox-caption-head span{text-align:left}
  .lightbox-description{font-size:12px;line-height:1.55}
}


/* === PRÉSENCE EN LIGNE / CHATWOOT === */
.live-presence{margin:2px 0 16px;padding:0 0 16px;border-bottom:1px solid #aaa}
.live-presence-button{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;text-align:left;border:1px solid #111;background:#f7f4e9;padding:10px 9px;box-shadow:2px 2px 0 #111}
.live-presence-button:hover,.live-presence-button:focus-visible{background:var(--cyan);transform:translate(-1px,-1px);box-shadow:3px 3px 0 #111}
.live-presence-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.live-presence-copy strong{font:800 11px/1.15 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase}
.live-presence-copy small{font:500 9px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;color:#555}
.live-presence-button b{font-size:15px}
.live-presence-dot{width:9px;height:9px;border:1px solid #111;border-radius:50%;background:#bbb;box-shadow:1px 1px 0 #111}
.live-presence.is-ready .live-presence-dot{background:#9be8a7}
.live-presence.is-error .live-presence-dot{background:#ff8b8b}
.live-presence-note{margin:6px 2px 0;font:500 9px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;color:#666}
.live-presence.is-ready .live-presence-note{display:none}

/* --- Page Infos pratiques --- */
.info-shell{display:grid;grid-template-columns:minmax(230px,290px) 1fr;min-height:100vh}
.info-sidebar{position:sticky;top:0;height:100vh;overflow:auto}
.info-content{padding:clamp(28px,5vw,72px);max-width:1100px}
.info-hero{padding:10px 0 54px;border-bottom:1px solid #999}
.info-hero h2{font-size:clamp(36px,6vw,86px);line-height:.94;max-width:850px;margin:28px 0 16px;letter-spacing:-.05em}
.info-hero>p{max-width:620px;font-size:16px;line-height:1.55}
.info-block{display:grid;grid-template-columns:80px minmax(0,760px);gap:28px;padding:48px 0;border-bottom:1px solid #aaa;scroll-margin-top:20px}
.info-number{font:700 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace;padding-top:8px}
.info-block h3{font-size:clamp(25px,3vw,42px);margin:0 0 18px;letter-spacing:-.03em}
.info-block p{font-size:15px;line-height:1.7;max-width:720px}
.info-note{font:11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace!important;color:#555;margin-top:18px}
.void-demo{display:flex;gap:18px;align-items:stretch;flex-wrap:wrap;margin:26px 0}
.void-label{min-width:210px;background:#d9d9d9;border:1px solid #111;padding:18px;display:flex;flex-direction:column;justify-content:space-between;min-height:105px;background-image:repeating-linear-gradient(135deg,transparent 0 12px,rgba(255,255,255,.35) 12px 14px)}
.void-label strong{font:900 30px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.15em}
.void-label span{font:10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}
.certificate-demo{border:1px solid #111;background:#fff;padding:16px;min-width:240px;display:grid;gap:5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.certificate-demo small{font-size:9px;letter-spacing:.2em}.certificate-demo strong{font-size:18px}.certificate-demo span,.certificate-demo code{font-size:10px}
.packing-demo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:24px 0;font:700 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace}
.packing-demo span{border:1px solid #111;padding:10px 12px;background:#fff}.packing-demo i{font-style:normal}
.info-action,.info-back a{display:inline-block;margin-top:18px;color:inherit;font-weight:700;text-decoration-thickness:1px;text-underline-offset:4px}
.margin-demo{display:grid;grid-template-columns:3fr 2fr;max-width:560px;margin:24px 0;border:1px solid #111}
.margin-demo div{padding:18px;display:flex;justify-content:space-between;gap:18px}.margin-demo div:first-child{background:var(--cyan)}.margin-demo div+div{border-left:1px solid #111}
.margin-demo span{font-size:11px}.margin-demo strong{font-size:20px}
.info-back{padding:40px 0 70px}
@media(max-width:800px){.info-shell{display:block}.info-sidebar{position:relative;height:auto}.info-content{padding:28px 20px}.info-block{grid-template-columns:36px 1fr;gap:14px}.margin-demo{grid-template-columns:1fr}.margin-demo div+div{border-left:0;border-top:1px solid #111}}

/* V11.1 — pages éditoriales des espaces */
.space-hero-tag{display:inline-block;background:var(--space-color,#08e6e5);padding:.35rem .55rem;font-weight:800;transform:rotate(-2deg)}
.space-intro-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:0;border-top:1px solid #111;border-left:1px solid #111;margin-top:18px}
.space-intro-grid>*{border-right:1px solid #111;border-bottom:1px solid #111}
.space-intro-copy{padding:clamp(24px,4vw,58px)}
.space-intro-copy h3{font-size:clamp(1.8rem,4vw,4rem);line-height:.95;margin:0 0 22px}
.space-intro-visual{min-height:360px;background:#f1f0ea;display:grid;place-items:center;overflow:hidden}
.space-intro-visual img{width:100%;height:100%;object-fit:cover}
.space-note{background:var(--space-color,#08e6e5);padding:18px 22px;font-weight:700;transform:rotate(-1deg);display:inline-block;margin:18px 0}
.info-block.compact{min-height:auto}
@media(max-width:820px){.space-intro-grid{grid-template-columns:1fr}.space-intro-visual{min-height:280px}}

/* Colonne commune V11.2 */
#site-sidebar .sidebar-inner{min-height:100%;display:flex;flex-direction:column}
#site-sidebar .sidebar-local-nav[hidden]{display:none}
#site-sidebar .shared-main-nav a.is-current{background:#08e6e5;font-weight:800}
#site-sidebar .sidebar-local-nav{margin-top:14px;padding-top:14px;border-top:1px solid #b9b9b9}
#site-sidebar .sidebar-local-nav::before{content:"DANS CETTE PAGE";display:block;font-size:.62rem;font-weight:800;letter-spacing:.08em;margin:0 4px 8px}

/* V11.3 — Agenda / réservation */
.agenda-page .info-content{padding-bottom:60px}
.agenda-alert{padding:12px 15px;border:1px solid #111;font-weight:700}.agenda-alert.success{background:#9be8a7}.agenda-alert.error{background:#ff8b8b}
.agenda-calendar-wrap{margin:24px 0 38px;border:1px solid #111}
.agenda-month-nav{display:grid;grid-template-columns:50px 1fr 50px;align-items:center;text-align:center;border-bottom:1px solid #111}.agenda-month-nav>*{padding:12px}.agenda-month-nav a{text-decoration:none;font-size:22px}
.agenda-weekdays,.agenda-calendar{display:grid;grid-template-columns:repeat(7,1fr)}.agenda-weekdays span{padding:7px;text-align:center;font-size:11px;font-weight:800;border-right:1px solid #aaa}.agenda-weekdays span:last-child{border-right:0}
.agenda-day{min-height:88px;padding:7px;border-top:1px solid #aaa;border-right:1px solid #aaa;overflow:hidden}.agenda-day:nth-child(7n){border-right:0}.agenda-day.empty{background:rgba(0,0,0,.025)}.agenda-day>b{font-size:12px}.agenda-day a{display:block;margin-top:5px;padding:4px 5px;background:var(--event-color,#08e6e5);font-size:10px;text-decoration:none;line-height:1.2}
.agenda-list{display:grid;gap:20px}.agenda-event{display:grid;grid-template-columns:110px 1fr;border:1px solid #111;background:#fbfaf6}.agenda-event-date{background:var(--event-color);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px}.agenda-event-date span{font-size:52px;font-weight:850;line-height:.9}.agenda-event-date small{font-weight:800}.agenda-event-main{padding:24px}.agenda-event-main h3{font-size:clamp(1.5rem,3vw,3rem);margin:5px 0 14px}.agenda-meta{font-size:11px;font-weight:700;text-transform:uppercase}.agenda-description{line-height:1.5}.agenda-mode{display:inline-block;background:var(--event-color);padding:6px 9px;font-weight:700}
.reservation-form{margin-top:22px;padding-top:18px;border-top:1px dashed #777}.reservation-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reservation-form label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;margin-bottom:10px}.reservation-form input,.reservation-form select,.reservation-form textarea{border:1px solid #777;background:white;padding:9px;font:inherit}.reservation-form button{border:1px solid #111;background:var(--event-color);padding:10px 15px;font-weight:850;box-shadow:3px 3px 0 #111}.reservation-form .hp{position:absolute!important;left:-9999px!important}
@media(max-width:680px){.agenda-day{min-height:62px;padding:4px}.agenda-day a{font-size:0;width:9px;height:9px;border-radius:50%;padding:0}.agenda-event{grid-template-columns:72px 1fr}.agenda-event-date span{font-size:36px}.agenda-event-main{padding:16px}.reservation-fields{grid-template-columns:1fr}}


/* === V11.4 — AGENDA BRUTALISTE / AFFICHE-COLLAGE === */
.agenda-collage-calendar{
  background:#f7f4e9;
  border:1px solid #111;
  box-shadow:7px 7px 0 #111;
  margin:28px 0 46px;
}
.agenda-collage-calendar .agenda-month-nav{
  min-height:92px;
  grid-template-columns:72px 1fr 72px;
  border-bottom:2px solid #111;
}
.agenda-collage-calendar .agenda-month-nav strong{
  font-size:clamp(2rem,5vw,4.8rem);
  letter-spacing:-.06em;
  line-height:.9;
  text-align:left;
  padding-left:18px;
}
.agenda-collage-calendar .agenda-month-nav a{
  font-size:34px;
  font-weight:900;
  display:grid;
  place-items:center;
}
.agenda-collage-calendar .agenda-weekdays{
  border-bottom:1px solid #111;
}
.agenda-collage-calendar .agenda-weekdays span{
  font-size:.68rem;
  letter-spacing:.07em;
  padding:10px 5px;
  border-right:1px solid #111;
}
.agenda-collage-calendar .agenda-calendar{
  background:#fbfaf6;
}
.agenda-collage-calendar .agenda-day{
  position:relative;
  min-height:112px;
  padding:7px;
  border-top:0;
  border-right:1px solid #111;
  border-bottom:1px solid #111;
  overflow:visible;
}
.agenda-collage-calendar .agenda-day:nth-child(7n){border-right:0}
.agenda-day-number{
  display:inline-grid;
  place-items:center;
  min-width:27px;
  height:27px;
  color:#111;
  text-decoration:none;
  font-size:.82rem;
  font-weight:850;
}
.agenda-day-number:hover,
.agenda-day-number:focus-visible{
  background:#111;
  color:#fff;
  outline:none;
}
.agenda-day.is-selected{
  background:#111;
}
.agenda-day.is-selected>.agenda-day-number{
  color:#fff;
  background:#111;
}
.agenda-calendar-event{
  position:relative;
  z-index:3;
  display:block!important;
  width:calc(100% + 10px);
  margin:7px -5px 0!important;
  padding:8px 8px 10px!important;
  color:#111;
  background:var(--event-color)!important;
  text-decoration:none;
  font-size:.72rem!important;
  line-height:1.05!important;
  font-weight:850;
  transform:rotate(-1.3deg);
  clip-path:polygon(1% 8%,98% 0,100% 88%,3% 100%);
  box-shadow:2px 3px 0 rgba(0,0,0,.16);
}
.agenda-day:nth-child(3n) .agenda-calendar-event{transform:rotate(1deg)}
.agenda-day:nth-child(5n) .agenda-calendar-event{transform:rotate(-2deg)}
.agenda-calendar-event strong,
.agenda-calendar-event small{display:block}
.agenda-calendar-event small{margin-top:3px;font-size:.62rem}

.agenda-events-section{margin-top:52px}
.agenda-list-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  margin-bottom:20px;
  padding-bottom:10px;
  border-bottom:2px solid #111;
}
.agenda-list-head small{
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.12em;
}
.agenda-list-head h3{
  margin:2px 0 0;
  font-size:clamp(1.8rem,4vw,4rem);
  letter-spacing:-.055em;
}
.agenda-reset{
  border:1px solid #111;
  background:#111;
  color:#fff;
  padding:9px 12px;
  font-size:.72rem;
  font-weight:850;
  text-decoration:none;
}
.agenda-empty{
  border:1px dashed #111;
  padding:22px;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
}
.agenda-list{gap:14px}

.agenda-collage-event{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  border:0;
  background:transparent;
  overflow:visible;
  filter:drop-shadow(4px 5px 0 rgba(0,0,0,.18));
  clip-path:polygon(0 3%,99.2% 0,100% 97%,.5% 100%);
}
.agenda-collage-event:nth-child(2n){
  transform:rotate(.25deg);
  clip-path:polygon(.5% 0,100% 2%,99% 100%,0 97%);
}
.agenda-collage-event:nth-child(3n){
  transform:rotate(-.2deg);
}
.agenda-collage-event .agenda-event-date{
  min-height:190px;
  background:var(--event-color);
  color:#111;
  border-right:5px solid #f7f4e9;
  padding:18px 8px;
}
.agenda-collage-event .agenda-event-date span{
  font-size:clamp(3.2rem,7vw,6rem);
  font-weight:900;
  letter-spacing:-.07em;
}
.agenda-collage-event .agenda-event-date small{
  font-size:.95rem;
  font-weight:900;
}
.agenda-collage-event .agenda-event-date em{
  font-style:normal;
  font-weight:850;
  margin-top:3px;
}
.agenda-collage-event .agenda-event-main{
  background:#111;
  color:#fff;
  padding:24px 28px;
}
.agenda-collage-event .agenda-meta{
  color:var(--event-color);
  font-weight:850;
}
.agenda-collage-event .agenda-event-main h3{
  font-size:clamp(1.8rem,4vw,3.8rem);
  letter-spacing:-.05em;
  margin:6px 0 12px;
  color:#fff;
}
.agenda-collage-event .agenda-description{
  max-width:68ch;
  color:#f7f4e9;
}
.agenda-collage-event .agenda-mode{
  background:var(--event-color);
  color:#111;
  margin-top:18px;
  transform:rotate(-1deg);
  clip-path:polygon(1% 5%,100% 0,98% 100%,0 92%);
}
.agenda-collage-event .reservation-form{
  background:var(--event-color);
  color:#111;
  border:0;
  margin:22px -8px -8px;
  padding:18px;
  clip-path:polygon(1% 2%,99% 0,100% 96%,0 100%);
  transform:rotate(.35deg);
}
.agenda-collage-event .reservation-form input,
.agenda-collage-event .reservation-form select,
.agenda-collage-event .reservation-form textarea{
  background:#fbfaf6;
  border:1px solid #111;
}
.agenda-collage-event .reservation-form button{
  background:#111;
  color:#fff;
  box-shadow:3px 3px 0 rgba(0,0,0,.22);
}
@media(max-width:760px){
  .agenda-collage-calendar{box-shadow:4px 4px 0 #111}
  .agenda-collage-calendar .agenda-month-nav{min-height:70px;grid-template-columns:50px 1fr 50px}
  .agenda-collage-calendar .agenda-month-nav strong{font-size:clamp(1.65rem,9vw,3rem)}
  .agenda-collage-calendar .agenda-day{min-height:68px;padding:3px}
  .agenda-day-number{min-width:22px;height:22px;font-size:.72rem}
  .agenda-calendar-event{
    width:12px!important;
    height:12px;
    min-height:12px;
    padding:0!important;
    margin:5px 0 0 4px!important;
    border-radius:0!important;
    font-size:0!important;
    clip-path:polygon(0 10%,100% 0,92% 100%,6% 90%);
  }
  .agenda-calendar-event>*{display:none!important}
  .agenda-list-head{align-items:flex-start;flex-direction:column}
  .agenda-collage-event{grid-template-columns:78px minmax(0,1fr)}
  .agenda-collage-event .agenda-event-date{min-height:155px;padding:12px 4px}
  .agenda-collage-event .agenda-event-date span{font-size:2.7rem}
  .agenda-collage-event .agenda-event-date small{font-size:.7rem}
  .agenda-collage-event .agenda-event-main{padding:18px}
  .agenda-collage-event .reservation-form{margin-left:-4px;margin-right:-4px}
  .reservation-fields{grid-template-columns:1fr}
}


/* === V11.5 — IMAGE ÉVÈNEMENT DANS LES FICHES COLLAGE === */
.agenda-collage-event.has-image{
  grid-template-columns:150px minmax(240px,.78fr) minmax(0,1.22fr);
}
.agenda-event-image{
  margin:0;
  min-height:190px;
  background:#f7f4e9;
  border-right:5px solid #f7f4e9;
  overflow:hidden;
  position:relative;
}
.agenda-event-image img{
  width:100%;
  height:100%;
  min-height:190px;
  object-fit:cover;
  object-position:center;
  filter:saturate(.92) contrast(1.03);
  transform:scale(1.015) rotate(-.25deg);
}
.agenda-collage-event:nth-child(2n) .agenda-event-image img{
  transform:scale(1.02) rotate(.35deg);
}
.agenda-event-image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(17,17,17,.35);
}
@media(max-width:980px){
  .agenda-collage-event.has-image{
    grid-template-columns:110px minmax(200px,.72fr) minmax(0,1.28fr);
  }
}
@media(max-width:760px){
  .agenda-collage-event.has-image{
    grid-template-columns:78px minmax(0,1fr);
  }
  .agenda-collage-event.has-image .agenda-event-image{
    grid-column:2;
    min-height:210px;
    border-right:0;
    border-bottom:5px solid #f7f4e9;
  }
  .agenda-collage-event.has-image .agenda-event-main{
    grid-column:1 / -1;
  }
  .agenda-collage-event.has-image .agenda-event-date{
    grid-row:1;
  }
}
