/* Styles for the per-painting pages (public/oeuvre/*.html), generated by
   admin-scripts/build-pages.mjs. Same visual language as index.html. */
:root{
  --night:#0F1016;--text:#16161C;--paper:#FAF9F6;--stone:#F1EFE9;--mat:#E6E3DB;
  --muted:#5C5C66;--body:#33333D;--line:#D9D6CE;--accent:#1636E8;
  --available:#2E6E62;--reserved:#9A6B1F;--on-dark:#F4F3EF;
  --pad:clamp(20px,5vw,80px);
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:72px;}
body{margin:0;font-family:var(--sans);background:var(--paper);color:var(--text);}
a{color:inherit;}
button{font-family:inherit;}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px;}
.container{max-width:1280px;margin:0 auto;padding:0 var(--pad);}
h1,h2,h3,.brand{font-family:var(--serif);}
.kicker{display:block;font-size:13px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;}
.link{background-image:linear-gradient(currentColor,currentColor);background-size:100% 1px;background-position:0 100%;background-repeat:no-repeat;padding-bottom:4px;text-decoration:none;transition:background-size .2s ease;}
.link:hover{background-size:100% 3px;}

/* NAV */
nav{position:sticky;top:0;z-index:40;background:rgba(15,16,22,0.94);backdrop-filter:blur(10px);color:var(--on-dark);border-bottom:1px solid rgba(244,243,239,0.16);}
nav .container{display:flex;align-items:center;justify-content:space-between;height:68px;}
nav .brand{font-weight:400;letter-spacing:0.14em;color:var(--on-dark);text-decoration:none;font-size:30px;}
nav ul{list-style:none;display:flex;gap:36px;margin:0;padding:0;}
nav ul a{text-decoration:none;font-size:14px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;padding:14px 0;display:inline-block;transition:opacity .15s ease;}
nav ul a:hover{opacity:.65;}
.nav-actions{display:flex;align-items:center;gap:12px;}
.lang-toggle{min-height:44px;min-width:56px;background:transparent;color:var(--on-dark);border:1px solid rgba(244,243,239,0.45);font-size:13px;font-weight:600;letter-spacing:0.1em;cursor:pointer;transition:background .15s ease,color .15s ease;}
.lang-toggle:hover{background:var(--on-dark);color:var(--night);}
.nav-toggle{display:none;background:none;border:none;padding:10px;cursor:pointer;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--on-dark);margin:5px 0;}
@media (max-width:820px){
  .nav-toggle{display:block;}
  nav ul{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;gap:0;background:var(--night);border-bottom:1px solid rgba(244,243,239,0.16);}
  nav ul.open{display:flex;}
  nav ul a{display:block;padding:16px var(--pad);border-top:1px solid rgba(244,243,239,0.12);}
}

/* PAINTING */
main{padding-top:clamp(28px,4vw,56px);padding-bottom:clamp(64px,9vw,128px);}
.back{display:inline-block;font-size:14px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:clamp(28px,4vw,48px);}
.piece{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px clamp(40px,6vw,96px);align-items:start;}
.piece-art{margin:0;}
.zoom-btn{display:block;width:100%;padding:clamp(20px,3.5vw,48px);background:var(--mat);border:none;cursor:zoom-in;}
.zoom-btn img{display:block;margin:0 auto;max-width:100%;max-height:78vh;width:auto;height:auto;box-shadow:0 1px 2px rgba(0,0,0,0.18),0 18px 36px -16px rgba(0,0,0,0.4);}
.piece-art figcaption{margin-top:12px;font-size:13px;color:var(--muted);}
.piece-info h1{margin:0 0 20px;font-weight:300;font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-0.025em;}
.piece-price{font-family:var(--serif);font-size:clamp(28px,3vw,40px);font-weight:400;margin-bottom:28px;}
.piece-buy{display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px;}
.gal-status{font-size:13px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;}
.s-available{color:var(--available);}
.s-reserved{color:var(--reserved);}
.s-sold{color:var(--muted);}
.card-buy{display:inline-flex;align-items:center;min-height:52px;padding:0 40px;background:var(--text);color:var(--paper);border:1px solid var(--text);font-size:14px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;transition:background .15s ease,color .15s ease;}
.card-buy:hover{background:transparent;color:var(--text);}
.card-buy[hidden],.ship[hidden]{display:none;}
.ship{margin:18px 0 0;font-size:15px;font-weight:600;line-height:1.5;}
.piece-desc{margin:32px 0 0;font-size:18px;line-height:1.7;color:var(--body);}
.specs{margin:36px 0 0;border-top:1px solid var(--line);}
.specs div{display:flex;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px;}
.specs dt{color:var(--muted);}
.specs dd{margin:0;font-weight:500;text-align:right;}

.more{margin-top:clamp(64px,9vw,128px);}
.more h2{font-weight:300;font-size:clamp(32px,3.6vw,48px);letter-spacing:-0.02em;margin:0 0 32px;}
.more-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:32px 24px;}
.more-card{display:block;text-decoration:none;}
.more-mat{display:flex;align-items:center;justify-content:center;aspect-ratio:5/4;background:var(--mat);padding:clamp(14px,2vw,22px);}
.more-mat img{max-width:100%;max-height:100%;width:auto;height:auto;display:block;box-shadow:0 1px 2px rgba(0,0,0,0.18),0 10px 20px -10px rgba(0,0,0,0.3);}
.more-t{display:block;margin-top:14px;font-family:var(--serif);font-size:21px;line-height:1.2;}
.more-p{display:block;margin-top:2px;font-size:15px;font-weight:600;color:var(--muted);}
.more-card:hover .more-t{text-decoration:underline;text-underline-offset:4px;}

footer{background:var(--night);border-top:1px solid rgba(244,243,239,0.14);padding:28px var(--pad) 36px;text-align:center;font-size:14px;line-height:1.7;color:#A9AAB5;}
footer a{color:inherit;}
footer .sep{margin:0 8px;}

.lightbox{position:fixed;inset:0;background:rgba(15,16,22,0.96);display:none;align-items:center;justify-content:center;padding:56px 20px;z-index:1000;cursor:zoom-out;}
.lightbox.open{display:flex;}
.lightbox img{max-width:100%;max-height:100%;box-shadow:0 20px 60px rgba(0,0,0,0.5);}
.lightbox-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;background:var(--on-dark);color:var(--night);border:none;font-size:24px;line-height:1;cursor:pointer;}
