@font-face{font-family:Crusoe;src:local("Crusoe"),url("/crusoe.woff2") format("woff2");font-display:swap}
:root{--rose:#ffe7e7;--rouge:#e05350;--ink:#231a1a;--paper:#fffaf5}
*{box-sizing:border-box}body{margin:0;background:var(--rose);color:var(--ink);font-family:Crusoe,Georgia,serif}
button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.64}a{color:inherit}
main{padding:clamp(18px,3.3vw,68px)}h1,h2,p{overflow-wrap:anywhere}h1,h2{margin:0 0 1rem}h3{font-size:1.1rem;margin:.6em 0 .2em}button,.button{border:1px solid #774c47;background:var(--paper);color:var(--ink);border-radius:8px;padding:.55em .9em}.primary{background:#8b3736;color:white;border-color:#8b3736}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(155px,21vw,265px)),1fr));gap:clamp(12px,2.5vw,42px);align-items:start}
.card{min-width:0}.photo,.add{aspect-ratio:1;width:100%;position:relative}.photo{background:white;overflow:hidden}.photo img{width:100%;height:100%;object-fit:contain;display:block}.photo>a{position:absolute;inset:0}.photo .alternate{position:absolute;inset:0;opacity:0;transition:opacity .16s}
.quick{position:absolute;inset:auto 0 0;border:0;border-radius:0;width:100%;background:#fff4eef2;padding:.7em;opacity:0;transition:opacity .16s}
@media(hover:hover){.photo:hover .alternate,.photo:hover .quick{opacity:1}}.photo:focus-within .alternate,.photo:focus-within .quick{opacity:1}
@media(hover:none){.quick{opacity:1}}a:focus-visible,button:focus-visible,input:focus-visible,[contenteditable]:focus-visible{outline:3px solid #773436;outline-offset:2px}
.badge{position:absolute;right:2%;top:2%;border-radius:99px;background:#fff5eb;border:1px solid #201919;padding:.25em .44em;line-height:1;font:700 clamp(11px,1.1vw,20px)/1 system-ui;pointer-events:none}.badge[hidden]{display:none}
dialog{background:var(--paper);border:1px solid #593a37;border-radius:12px;padding:clamp(22px,3vw,42px);width:min(850px,94vw);max-height:90dvh;overflow:auto;color:inherit}dialog::backdrop{background:#35262575}.close{position:absolute;right:8px;top:6px;border:0;background:transparent;font-size:1.5rem}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,3vw,42px);padding-top:10px}.gallery>img{display:block;aspect-ratio:1;width:100%;object-fit:contain;background:white}.thumbs,.actions,.filters,.toolbar{display:flex;gap:.55em;flex-wrap:wrap;align-items:center;margin:.8em 0}.thumbs button{padding:2px}.thumbs img{width:48px;height:48px;object-fit:contain}.price{margin:.35em 0 1em}.back{display:inline-block;margin-bottom:1rem}
.adminbar{padding:16px clamp(18px,3vw,60px);background:var(--rouge);border-bottom:2px solid;display:flex;gap:1em;align-items:center;flex-wrap:wrap}.adminbar a{margin-left:auto}
.add{border:2px dashed #9e6766;background:transparent;font:3rem Georgia;color:#915758;border-radius:0}.filters button[aria-pressed=true]{background:#672b2b;color:white}.state{display:inline-block;font-size:.85em}.card p{margin:.3em 0}.editor{max-width:920px}.fields label{display:block;margin:.75em 0 .25em}.fields input:not([type=file]),.rich{width:100%;border:1px solid #b78e88;background:#fff;padding:.65em;border-radius:5px}.rich{min-height:110px}.slot{margin:.65em 0;padding:.65em;border:1px dashed #a47770}.slot img{width:58px;height:58px;object-fit:contain;vertical-align:middle;margin-right:.5em}.slot input{max-width:100%}.small{font-size:.88em}.error{color:#8a191b}.cartrow{display:flex;align-items:center;gap:1em;padding:1em 0;border-bottom:1px solid #c49c98}.cartrow img{width:64px;height:64px;object-fit:contain}.cartrow button{margin-left:auto}.login{max-width:380px}
@media(max-width:560px){.split{grid-template-columns:1fr}.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,138px),1fr))}.cartrow{flex-wrap:wrap}}

/* Formulaire client : une colonne, champs soulignés et profil privé. */
main:has(.account-panel)>h1{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.account-panel{background:#fffcfa;color:#261c1a;max-width:780px;margin:0 auto;padding:clamp(30px,5vw,68px) clamp(18px,4vw,48px);text-align:center}
.account-wrap{max-width:480px;margin:auto}
.account-body h2{font:normal clamp(38px,5.2vw,57px)/1.08 Crusoe,Georgia,serif;letter-spacing:-.03em;margin:0 0 12px}
.account-intro,.account-hint,.account-privacy,.account-notice,.account-divider,.account-link{font-family:system-ui,sans-serif}
.account-intro{font-size:1rem;margin:0 auto 32px}.account-body .account-link{color:#653737;text-decoration:underline;text-underline-offset:.2em;background:none;border:0;padding:4px 2px;font-size:inherit}
.account-form,.account-google,.account-divider,.account-primary,.account-address{width:min(100%,326px);margin-inline:auto}
.account-form{text-align:left}.account-form label{display:block;font:500 .875rem system-ui}
.account-form input{display:block;width:100%;font:1.05rem system-ui;padding:8px 0;border:0;border-bottom:1px solid #766460;border-radius:0;background:transparent;color:inherit}
.account-hint,.account-notice,.account-privacy{font-size:.84rem;line-height:1.6}.account-hint{color:#625451;margin:10px auto 19px}
.account-primary,.account-google{display:block;min-height:46px;border-radius:2px;font:600 .96rem system-ui}
.account-primary{background:#593231;color:white;border:1px solid #593231}
.account-divider{display:flex;align-items:center;gap:12px;margin:28px auto 15px;font-size:.9rem}
.account-divider::before,.account-divider::after{content:"";flex:1;border-top:1px solid #bba8a4}
.account-google{background:white;color:#332726;border:1px solid #ada09c}
.account-privacy{margin:30px auto 0;color:#655956}.account-notice{color:#843a35}.account-notice:empty{display:none}
.account-address{overflow-wrap:anywhere;margin-bottom:18px}
@media(max-width:480px){.account-panel{padding-inline:14px}.account-intro{margin-bottom:24px}}


.legal-footer{text-align:center;padding:2rem 1rem}.legal-page{max-width:46rem;margin:2rem auto;padding:1rem 1.5rem;background:white;line-height:1.6}.order-row{display:block;width:100%;text-align:left;padding:.8rem;margin:.5rem 0}.order-row small{display:block}.account-body section a{display:inline-block;margin-bottom:.7rem}
