:root{--accent:#9a7440;--accent2:#2a211a;--bg:#f5efe4;--surface:#ece2d0;--card:#fffcf6;--text:#241c15;--muted:#7d6f60;--price:#7a4a1d;--radius:6px;--gap:16px;--fontHead:"Cormorant Garamond",serif;--fontBody:"Inter",system-ui,sans-serif;--colsM:2;--colsT:3;--colsD:4;--ratio:4 / 5;--heroM:280px;--heroD:460px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--fontBody);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--fontHead);font-weight:600;line-height:1.15;margin:0}
.boot{min-height:100vh}
.wrap{max-width:1240px;margin:0 auto;padding:0 18px}

/* bars */
.previewbar{background:#e8b84a;color:#2a1d05;text-align:center;font-size:13px;font-weight:600;padding:6px 10px}
.announce{background:var(--accent2);color:#f6f0e6;text-align:center;font-size:13px;padding:9px 16px;letter-spacing:.01em}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;max-width:1240px;margin:0 auto;border-bottom:1px solid color-mix(in srgb,var(--text) 10%,transparent)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.brand img{width:auto;max-width:180px;object-fit:contain}
.brand .mono{width:44px;height:44px;border:1px solid var(--accent);color:var(--accent);border-radius:50%;display:grid;place-items:center;flex:none}
.bt{display:flex;flex-direction:column;min-width:0}
.bt b{font-family:var(--fontHead);font-size:22px;font-weight:600;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt small{color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.langsw{display:flex;border:1px solid color-mix(in srgb,var(--text) 18%,transparent);border-radius:999px;padding:3px;flex:none}
.langsw button{border:0;background:none;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:600;color:var(--muted)}
.langsw button.on{background:var(--text);color:var(--bg)}

/* hero */
.hero{position:relative;min-height:var(--heroM);display:flex;align-items:flex-end;background:var(--accent2) center/cover no-repeat;color:#fff;overflow:hidden}
.hero:not([style]){background:radial-gradient(120% 90% at 80% 0%,color-mix(in srgb,var(--accent) 45%,var(--accent2)) 0%,var(--accent2) 60%)}
.hero:not([style])::before{content:"";position:absolute;inset:0;opacity:.09;background-image:repeating-linear-gradient(45deg,#fff 0 1px,transparent 1px 22px),repeating-linear-gradient(-45deg,#fff 0 1px,transparent 1px 22px)}
.hero .shade{position:absolute;inset:0;background:linear-gradient(to top,#000 0%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.25))}
.hin{position:relative;width:100%;max-width:1240px;margin:0 auto;padding:34px 18px}
.hero h1{font-size:clamp(34px,7vw,64px);font-weight:500;letter-spacing:-.01em;max-width:16ch}
.hero p{margin:10px 0 0;max-width:52ch;font-size:15.5px;opacity:.9}
.hero.al-center{text-align:center}.hero.al-center h1,.hero.al-center p{margin-inline:auto}
.hero.al-end{text-align:end}.hero.al-end h1,.hero.al-end p{margin-inline-start:auto}

/* sections */
.sec{font-size:30px;margin:38px 0 16px;display:flex;align-items:center;gap:14px}
.sec::after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--text) 14%,transparent)}
.colhead{padding-top:26px}
.colhead h1{font-size:clamp(34px,6vw,52px);font-weight:500}
.colhead p{color:var(--muted);margin:6px 0 0;max-width:60ch}
.back{display:inline-block;font-size:13px;color:var(--muted);text-decoration:none;margin-bottom:10px}
.search{display:flex;align-items:center;gap:10px;margin:22px 0 4px;background:var(--card);border:1px solid color-mix(in srgb,var(--text) 12%,transparent);border-radius:calc(var(--radius) + 4px);padding:0 14px;color:var(--muted)}
.search input{flex:1;border:0;background:none;font:inherit;color:var(--text);padding:13px 0;outline:none;min-width:0}
.search:focus-within{border-color:var(--accent)}
.count{color:var(--muted);font-size:13px;margin:14px 0 10px}
.empty{color:var(--muted);text-align:center;padding:40px 0}
.empty.big{font-size:18px;padding-top:80px}
.center{text-align:center}

/* collections */
.cols{display:grid;gap:var(--gap);grid-template-columns:1fr}
.colcard{display:grid;grid-template-columns:1fr;text-decoration:none;background:var(--card);border-radius:var(--radius);overflow:hidden;border:1px solid color-mix(in srgb,var(--text) 8%,transparent)}
.cimg{aspect-ratio:16/9;background:var(--surface);overflow:hidden}
.cimg img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.colcard:hover .cimg img{transform:scale(1.04)}
.cb{padding:18px 20px 20px}
.cb h3{font-size:28px;font-weight:500}
.cb p{color:var(--muted);margin:6px 0 12px;font-size:14px}
.go{font-size:13px;font-weight:600;color:var(--accent);letter-spacing:.02em}
.go i{font-style:normal;display:inline-block;transition:transform .2s}
.colcard:hover .go i{transform:translateX(4px)}
[dir=rtl] .colcard:hover .go i{transform:translateX(-4px)}

/* tabs */
.tabs{background:var(--bg);border-bottom:1px solid color-mix(in srgb,var(--text) 10%,transparent);z-index:20;margin-top:18px}
.sticky-nav .tabs{position:sticky;top:0}
.tabin{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;max-width:1240px;margin:0 auto;padding:0 12px}
.tabin::-webkit-scrollbar{display:none}
.tabs button{display:flex;align-items:center;gap:7px;border:0;background:none;white-space:nowrap;padding:14px 12px;font-size:14px;color:var(--muted);flex:none}
.tabs-underline .tabs button{border-bottom:2px solid transparent}
.tabs-underline .tabs button.on{color:var(--text);border-bottom-color:var(--accent);font-weight:600}
.tabs-pills .tabs{border:0}
.tabs-pills .tabin{padding-block:10px}
.tabs-pills .tabs button{padding:8px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--text) 14%,transparent)}
.tabs-pills .tabs button.on{background:var(--text);color:var(--bg);border-color:var(--text)}
.catsec{margin-top:30px}
.cath{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}
.cath h2{font-size:28px;font-weight:500}
.cath span{color:var(--muted);font-size:13px}
.catdesc{color:var(--muted);margin:0 0 14px;font-size:14px;max-width:70ch}

/* grid + cards */
.grid{display:grid;gap:var(--gap);grid-template-columns:repeat(var(--colsM),minmax(0,1fr));margin-top:12px}
.card{text-decoration:none;display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;transition:transform .25s,box-shadow .25s}
.cards-elevated .card{background:var(--card);box-shadow:0 1px 0 color-mix(in srgb,var(--text) 6%,transparent),0 6px 20px -12px color-mix(in srgb,var(--accent2) 40%,transparent)}
.cards-elevated .card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -14px color-mix(in srgb,var(--accent2) 45%,transparent)}
.card .img{position:relative;aspect-ratio:var(--ratio);background:var(--surface);overflow:hidden}
.cards-minimal .card .img{border-radius:var(--radius)}
.card .img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card:hover .img img{transform:scale(1.035)}
.ph{width:100%;height:100%;display:grid;place-items:center;color:color-mix(in srgb,var(--accent) 70%,var(--surface));background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--card) 70%,var(--surface)),var(--surface))}
.card .body{padding:12px 13px 14px;display:flex;flex-direction:column;flex:1}
.cards-minimal .card .body{padding:10px 2px 6px}
.card h3{font-size:18.5px;font-weight:600;line-height:1.2}
.meta{color:var(--muted);font-size:12.5px;margin:4px 0 0}
.desc{color:var(--muted);font-size:13px;margin:6px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.foot{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;flex-wrap:wrap}
.card .foot{border-top:1px dashed color-mix(in srgb,var(--text) 12%,transparent);margin-top:10px}
.price{color:var(--price);font-weight:600;font-size:14.5px;letter-spacing:.01em}
.price.big{font-size:24px;font-family:var(--fontHead)}
.price.por{color:var(--accent);font-style:italic;font-weight:500}
.old{color:var(--muted);font-size:12.5px;margin-inline-start:6px}
.ref{font-size:11px;color:var(--muted);letter-spacing:.06em}
.sold-txt{color:var(--muted)}
.card.sold .img img,.card.sold .ph{filter:grayscale(.75);opacity:.75}
.status{position:absolute;top:10px;inset-inline-start:10px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:var(--card);color:var(--text)}
.st-sold{background:var(--text);color:var(--bg)}
.st-reserved{background:#e8b84a;color:#2a1d05}
.labels{position:absolute;bottom:8px;inset-inline-start:8px;display:flex;gap:5px;flex-wrap:wrap}
.labels span{font-size:10.5px;font-weight:600;background:color-mix(in srgb,var(--card) 92%,transparent);color:var(--accent);padding:3px 8px;border-radius:999px;backdrop-filter:blur(4px)}
.labels.inline{position:static;margin-bottom:10px}
.labels.inline span{border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);font-size:12px}
.cards-list .grid{grid-template-columns:1fr!important}
.cards-list .card{flex-direction:row;background:var(--card);align-items:stretch}
.cards-list .card .img{width:120px;flex:none;aspect-ratio:1}
.cards-list .labels{display:none}
.anim .card,.anim .colcard{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease,box-shadow .25s}
.anim .card.in,.anim .colcard.in{opacity:1;transform:none}

/* piece page */
.crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--muted);padding:18px 0 14px}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--accent)}
.pgrid{display:grid;gap:26px}
.gallery{min-width:0}
.gallery .main{position:relative;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--radius);background:var(--surface);aspect-ratio:1}
.gallery .main::-webkit-scrollbar{display:none}
.gallery .main img{flex:0 0 100%;width:100%;height:100%;object-fit:contain;scroll-snap-align:center;cursor:zoom-in;background:var(--surface)}
.gallery .main .ph{flex:0 0 100%}
.thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto}
.thumbs button{flex:none;width:64px;height:64px;padding:0;border:1px solid transparent;border-radius:calc(var(--radius) - 2px);overflow:hidden;opacity:.6;background:var(--surface)}
.thumbs button.on{border-color:var(--accent);opacity:1}
.thumbs img{width:100%;height:100%;object-fit:cover}
.info h1{font-size:clamp(30px,5vw,44px);font-weight:500}
.pricebox{margin:12px 0 16px}
.pdesc{margin:0 0 20px;color:color-mix(in srgb,var(--text) 85%,var(--muted));font-size:15.5px;max-width:62ch}
.specs{margin:0 0 22px;border-top:1px solid color-mix(in srgb,var(--text) 12%,transparent)}
.specs div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--text) 8%,transparent)}
.specs dt{color:var(--muted);font-size:13px}
.specs dd{margin:0;font-size:14.5px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--text);background:var(--text);color:var(--bg);text-decoration:none;padding:13px 20px;border-radius:calc(var(--radius) + 2px);font-weight:600;font-size:14.5px}
.btn.wa{background:#1f7a4d;border-color:#1f7a4d;color:#fff;flex:1;min-width:240px}
.btn.ghost{background:none;color:var(--text);border-color:color-mix(in srgb,var(--text) 22%,transparent)}
.lightbox{position:fixed;inset:0;background:rgba(10,8,6,.94);z-index:100;display:grid;place-items:center;padding:20px;cursor:zoom-out}
.lightbox img{max-height:92vh;object-fit:contain}
.lightbox button{position:absolute;top:12px;inset-inline-end:16px;background:none;border:0;color:#fff;font-size:34px}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:10px 18px;border-radius:999px;font-size:14px;z-index:101}

/* footer */
footer.foot{display:block;margin-top:60px;background:var(--accent2);color:rgba(246,240,230,.82);padding:40px 0 20px}
footer .wrap{display:grid;gap:26px}
footer b{font-family:var(--fontHead);font-size:26px;color:#f6f0e6;font-weight:500}
footer h4{font-family:var(--fontBody);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-weight:600}
footer p{margin:6px 0;font-size:14px}
footer a{color:#f6f0e6}
footer .links{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.copy{text-align:center;font-size:12px!important;opacity:.6;margin-top:30px!important}

@media (min-width:700px){
  .grid{grid-template-columns:repeat(var(--colsT),minmax(0,1fr))}
  .cols{grid-template-columns:repeat(2,1fr)}
  .hero{min-height:var(--heroD)}
  .hin{padding:56px 24px}
  .wrap,.top{padding-inline:24px}
  .cards-list .card .img{width:160px}
  footer .wrap{grid-template-columns:1.4fr 1fr 1fr 1fr}
}
@media (min-width:1024px){
  .grid{grid-template-columns:repeat(var(--colsD),minmax(0,1fr))}
  .pgrid{grid-template-columns:1.15fr 1fr;gap:48px;align-items:start}
  .info{position:sticky;top:20px}
  .cards-list .grid{grid-template-columns:1fr 1fr!important}
}
@media (prefers-reduced-motion:reduce){.anim .card,.anim .colcard{opacity:1;transform:none;transition:none}}

/* sold archive */
.soldlink{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:44px 0 0;padding:22px 24px;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:var(--radius);text-decoration:none;background:color-mix(in srgb,var(--surface) 55%,transparent)}
.soldlink span{font-family:var(--fontHead);font-size:24px}
.soldlink small{color:var(--accent);font-weight:600;font-size:13px;letter-spacing:.02em}
.archive .card .img img,.archive .card .ph{filter:grayscale(.35);opacity:.9}
