:root { --ink:#20383b; --muted:#6f7c7e; --paper:#f8f6f1; --line:#dbe1dc; --accent:#1d6c67; --accent-deep:#15534f; --danger:#a93c3c; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans",sans-serif; }
button,input { font:inherit; }
.site-header { min-height:180px; padding:42px max(5vw,28px); background:var(--ink); color:white; display:flex; justify-content:space-between; gap:32px; align-items:flex-end; }
.eyebrow { font-size:.74rem; letter-spacing:.16em; font-weight:700; color:#9dd2ca; margin:0 0 9px; }.site-header h1 { font:600 clamp(1.9rem,4vw,3.3rem)/1.08 "Playfair Display",serif; margin:0; }.summary { color:#c9d7d5; margin:12px 0 0; }.header-actions { display:flex; gap:10px; flex-wrap:wrap; }
.button { border:0; cursor:pointer; padding:12px 17px; border-radius:5px; background:#62b6ac; color:#123936; font-weight:700; }.button:hover { background:#87d3ca; }.button-secondary { background:#f2f2ed; color:var(--ink); }.button-secondary:hover { background:white; }.button-danger { background:#f9e4e2; color:var(--danger); }.button-danger:hover { background:#f1c9c5; }
main { max-width:1280px; margin:0 auto; padding:25px max(4vw,22px) 60px; }.toolbar { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-bottom:13px; }.search { flex:1; min-width:210px; }.search input { width:100%; padding:11px 13px; border:1px solid var(--line); border-radius:5px; background:white; }.sold-toggle { color:var(--muted); font-size:.9rem; }.text-button { border:0; background:none; color:var(--accent-deep); padding:4px; cursor:pointer; text-decoration:underline; font-weight:600; }.import-label { cursor:pointer; }.storage-note { margin:0 0 23px; color:var(--muted); font-size:.82rem; }
.catalogue { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.item-card { position:relative; overflow:hidden; background:white; border:1px solid var(--line); min-width:0; box-shadow:0 2px 12px rgba(28,52,52,.04); }.photo-button { display:block; border:0; padding:0; width:100%; aspect-ratio:1.55/1; background:#edf1ef; cursor:pointer; position:relative; }.item-photo { display:block; width:100%; height:100%; object-fit:cover; }.placeholder { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; color:#91a09d; text-transform:uppercase; letter-spacing:.1em; font-size:.67rem; gap:8px; }.camera { font-size:1.75rem; }.item-details { min-height:92px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:12px 14px; }.item-details h2 { font:600 1.05rem/1.2 "Playfair Display",serif; margin:0 0 7px; }.price { font-size:1.04rem; color:var(--accent-deep); font-weight:700; margin:0; }.sold-badge { position:absolute; top:12px; right:12px; border-radius:999px; background:var(--ink); color:white; padding:5px 9px; font-size:.67rem; letter-spacing:.08em; font-weight:700; }.item-card.is-sold { opacity:.56; }.empty { grid-column:1/-1; color:var(--muted); text-align:center; padding:55px; background:white; border:1px dashed var(--line); }
.contact-footer { max-width:1280px; margin:0 auto 64px; padding:32px max(4vw,22px); border-top:1px solid var(--line); text-align:center; }.contact-footer .eyebrow { color:var(--accent-deep); margin-bottom:7px; }.contact-footer h2 { font:600 clamp(1.45rem,3vw,2.1rem) "Playfair Display",serif; margin:0; }.contact-footer > p:not(.eyebrow) { color:var(--muted); margin:10px 0 18px; }.contact-links { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }.contact-links a { border:1px solid var(--line); background:white; color:var(--accent-deep); padding:11px 14px; border-radius:5px; font-weight:700; text-decoration:none; }.contact-links a:hover { border-color:var(--accent); background:#eff8f6; }
dialog { width:min(480px,calc(100vw - 30px)); padding:0; border:0; border-radius:8px; box-shadow:0 20px 80px rgba(0,0,0,.25); }dialog::backdrop { background:rgba(15,34,35,.58); }dialog form { padding:24px; }.dialog-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }.dialog-header h2 { font:600 1.55rem "Playfair Display",serif; margin:0; }.icon-button { border:0; background:none; font-size:2rem; line-height:1; cursor:pointer; color:var(--muted); }dialog label:not(.checkbox-row) { display:block; font-size:.85rem; font-weight:700; margin:14px 0; }dialog input:not([type=checkbox]):not([type=file]) { display:block; margin-top:6px; width:100%; border:1px solid var(--line); border-radius:4px; padding:10px; }.checkbox-row { display:flex; gap:8px; align-items:center; margin:18px 0; font-size:.9rem; }.photo-preview { display:block; width:100%; max-height:220px; object-fit:cover; border-radius:4px; margin:12px 0; }.dialog-actions { display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:9px; margin-top:23px; }.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
@media(max-width:760px) { .site-header { align-items:flex-start; flex-direction:column; }.catalogue { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.item-details { min-height:79px; }.item-details h2 { font-size:.95rem; } } @media(max-width:420px) { .catalogue { grid-template-columns:1fr; } }
