/* Pierre Gassin 2.9.6: shared cart, no external assets or runtime libraries. */
.pc-cart-link{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 46px;width:46px;height:46px;color:var(--gold);border:1px solid transparent;border-radius:50%;}
.pc-cart-link:hover{border-color:var(--gold);background:var(--bg-soft)}
.pc-cart-badge{position:absolute;inset-block-start:-1px;inset-inline-end:-3px;min-width:19px;padding:1px 4px;border-radius:12px;background:var(--gold);color:var(--bg);text-align:center;font:700 11px/17px var(--body-font);font-variant-numeric:tabular-nums}
.pc-cart-badge[hidden],.pc-drawer [hidden],.pc-page [hidden]{display:none!important}
.pc-cart-open{overflow:hidden}
.pc-drawer{position:fixed;inset-block:80px auto;inset-inline:auto 1rem;margin:0;width:min(440px,calc(100% - 2rem));max-height:calc(100dvh - 104px);overflow:hidden;padding:1.4rem;background:var(--bg-soft);color:var(--text);border:1px solid var(--line);box-shadow:0 22px 80px #0009;}
.pc-drawer[open]{display:flex;flex-direction:column}
.pc-drawer-head,.pc-drawer-count,.pc-drawer-foot{flex-shrink:0}
.pc-drawer::backdrop{background:#0009}
.pc-drawer-head{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}
.pc-kicker{margin:0 0 .5rem;color:var(--gold);font-size:.68rem;line-height:1.5;letter-spacing:.16em;text-transform:uppercase}
.pc-drawer h2{margin:0;font:400 1.85rem/1.2 var(--title-font)}
.pc-icon-button{width:44px;min-width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--line);background:transparent;font-size:1.6rem;cursor:pointer}
.pc-icon-button:hover{border-color:var(--gold);color:var(--gold)}
.pc-drawer-count{margin:.65rem 0 1rem;color:var(--muted);font-size:.82rem}
.pc-preview-list{display:grid;gap:1rem;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.pc-preview-item>.pc-media{width:100%;min-height:0;aspect-ratio:4/3}
.pc-preview-item{display:grid;grid-template-columns:90px minmax(0,1fr);gap:1rem;padding-block:1rem;border-top:1px solid var(--line)}
.pc-preview-copy{min-width:0}
.pc-preview-copy h3{margin:0;font:400 1.12rem/1.4 var(--title-font);overflow-wrap:anywhere}
.pc-preview-copy p{margin:.35rem 0;font-size:.8rem;color:var(--muted)}
.pc-preview-copy .pc-text-button{display:block}
.pc-media{position:relative;min-width:0;min-height:80px;display:grid;place-items:center;background:var(--bg);aspect-ratio:4/3;align-self:start;overflow:hidden}
.pc-media img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}
.pc-media-fallback{padding:.65rem;color:var(--muted);font-size:.72rem;text-align:center;overflow-wrap:anywhere}
.pc-text-button{padding:.4rem 0;min-height:44px;border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;color:var(--muted);font-size:.82rem;cursor:pointer;text-align:start}
.pc-text-button:hover{color:var(--gold)}
.pc-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.85rem 1.15rem;border:1px solid var(--line);background:transparent;color:var(--text);font-size:.86rem;font-weight:600;text-align:center;line-height:1.5;cursor:pointer;white-space:normal;overflow-wrap:anywhere}
.pc-button--primary{background:var(--gold);border-color:var(--gold);color:var(--bg)}
.pc-button--primary:hover{background:var(--focus);color:var(--bg)}
.pc-button:disabled{cursor:not-allowed;opacity:.5}
.pc-drawer-foot{display:grid;gap:.3rem;margin-block-start:1rem;padding-block-start:1rem;border-top:1px solid var(--line)}
.pc-drawer-foot .pc-text-button{text-align:center}
.pc-muted,.pc-status{color:var(--muted);font-size:.82rem;line-height:1.6}
.pc-status{margin:.5rem 0;overflow-wrap:anywhere}
.pc-empty-small{padding:1rem 0}
.pc-empty-small h3{font:400 1.3rem/1.4 var(--title-font)}
.pc-empty-small p{color:var(--muted);font-size:.9rem}
.pc-page :is(input,select,textarea){color:var(--text);background:var(--bg);border:1px solid #484848;border-radius:0;max-width:100%;min-height:48px;padding:.65rem .75rem;font-size:16px;line-height:1.5}
.pc-page label{display:grid;gap:.4rem;min-width:0;font-size:.85rem;color:var(--muted)}
.pc-page a:not(.pc-button){text-decoration:underline;text-underline-offset:4px}
@media(max-width:979px){.header-container>.brand{order:1;margin-inline-end:auto;min-width:0}.pc-cart-link{order:2}.header-container>.menu-toggle{order:3;flex:0 0 44px}.header-container{gap:.45rem}.pc-cart-link{flex-basis:44px;width:44px}}
@media(max-width:480px){.pc-drawer{inset-block:auto 0;inset-inline:0;width:100%;max-width:100%;max-height:90dvh;padding:1.2rem 1rem max(1rem,env(safe-area-inset-bottom));border-inline:0}.pc-preview-item{grid-template-columns:82px minmax(0,1fr)}.header-container .brand-title{font-size:1.05rem}.header-container .brand-subtitle{font-size:.56rem}}
@media(prefers-reduced-motion:reduce){.pc-drawer,.pc-page{scroll-behavior:auto}}
/* 2.9.7: gallery context, optional saving, recovery; no hidden checkout barriers. */
.pc-gallery-name{display:block;color:var(--color-gold,#d2ad35);font-size:.85rem;text-decoration:none;overflow-wrap:anywhere;margin:.35rem 0 .65rem}
.pc-gallery-group{display:grid;gap:1rem;min-width:0;margin-bottom:2rem}
.pc-gallery-group-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.8rem 0;border-bottom:1px solid #665827}
.pc-gallery-group-head h2{font-size:1.5rem;margin:0;overflow-wrap:anywhere}
.pc-save-selection{display:grid;gap:1.5rem;padding:clamp(1.1rem,3vw,2rem);margin:2.5rem 0;border:1px solid #665827;background:#12120e;border-radius:.25rem}
.pc-save-selection h2,.pc-restore h2{font-size:clamp(1.4rem,2.8vw,2rem);margin:0 0 1rem}
.pc-save-form{display:grid;gap:.8rem;min-width:0}.pc-save-form label{display:grid;gap:.5rem}.pc-save-form input{width:100%;min-height:48px;padding:.85rem;background:#0a0a08;border:1px solid #777;color:#f5f2e9;font:inherit;box-sizing:border-box}.pc-save-form p{margin:0;overflow-wrap:anywhere}.pc-save-form .pc-muted{font-size:.85rem}
.pc-save-hint{font-size:.85rem;padding:.6rem 0;margin:0;border-top:1px solid #333}
.pc-save-nudge{position:relative;display:grid;gap:.5rem;margin:2rem auto;padding:1.2rem 4rem 1.2rem 1.2rem;max-width:70rem;border:1px solid #665827;background:#15140e}.pc-save-nudge p{margin:0}.pc-save-nudge button{position:absolute;inset-inline-end:.6rem;top:.6rem}
.pc-restore{margin:2rem 0;scroll-margin-top:6rem}.pc-restore-item{display:grid;grid-template-columns:70px minmax(0,1fr);gap:1rem;align-items:center;margin:.8rem 0}.pc-restore-item .pc-media{min-height:0;height:65px}.pc-restore-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}
@media(min-width:800px){.pc-save-selection{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem}}
@media(max-width:480px){.pc-gallery-group-head{display:block}.pc-gallery-group-head a{display:inline-block;margin-top:.5rem}.pc-restore-actions>*{width:100%}}
