/* assets/style.css — Old Soul Exchange */
:root{
  --ink:#2b2622; --paper:#f3ece0; --card:#fbf7f0; --line:#d8cbb6;
  --brass:#9a6a3a; --brass-deep:#7a4f28; --muted:#8c7f6e; --rose:#a4444a;
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:'Inter',system-ui,sans-serif; line-height:1.5;
}
a{color:inherit}
img{display:block; max-width:100%}

/* nav */
.topbar{
  position:sticky; top:0; z-index:40; display:flex; justify-content:space-between;
  align-items:center; padding:12px 20px; background:rgba(243,236,224,.93);
  backdrop-filter:blur(6px); border-bottom:1px solid var(--line);
}
.brand{font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:600; text-decoration:none}
.navlinks a{margin-left:18px; font-size:14px; text-decoration:none; color:var(--brass-deep)}
.navlinks a:hover{text-decoration:underline}

/* hero */
.hero{text-align:center; padding:48px 20px 30px}
.hero .eyebrow{font-size:11px; letter-spacing:4px; text-transform:uppercase; color:var(--brass); margin-bottom:10px}
.hero h1{font-family:'Cormorant Garamond',serif; font-weight:600; font-size:clamp(36px,6vw,60px); margin:0; letter-spacing:-.5px}
.hero .rule{width:54px; height:2px; background:var(--brass); margin:18px auto 0}
.empty{text-align:center; color:var(--muted); padding:60px 20px}

/* grid */
.grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(248px,1fr)); gap:22px; max-width:1180px; margin:0 auto; padding:0 22px 64px}
.card{background:var(--card); border:1px solid var(--line); text-decoration:none; display:flex; flex-direction:column; transition:transform .15s, box-shadow .15s}
.card:hover{transform:translateY(-3px); box-shadow:0 10px 24px rgba(60,40,20,.10)}
.card-img{aspect-ratio:1; overflow:hidden; background:#eee4d3}
.card-img img{width:100%; height:100%; object-fit:cover}
.noimg{aspect-ratio:1; display:flex; align-items:center; justify-content:center; color:var(--muted); font-size:14px}
.noimg.big{aspect-ratio:4/3}
.card-body{padding:14px 16px 18px}
.card-body h3{margin:0; font-family:'Cormorant Garamond',serif; font-size:21px; font-weight:600}
.era{font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--brass); margin-top:5px}
.price{margin-top:10px; font-size:17px}
.price.big{font-size:24px; margin:12px 0}

/* detail */
.detail{display:grid; grid-template-columns:1fr 1fr; gap:34px; max-width:1040px; margin:0 auto; padding:24px 22px 70px}
.gallery #mainphoto, .gallery .noimg.big{width:100%; aspect-ratio:1; object-fit:cover; background:#000; border:1px solid var(--line)}
.thumbs{display:flex; gap:8px; margin-top:10px; flex-wrap:wrap}
.thumbs img{width:64px; height:64px; object-fit:cover; cursor:pointer; border:1px solid var(--line)}
.info .back{font-size:13px; color:var(--muted); text-decoration:none}
.info h2{font-family:'Cormorant Garamond',serif; font-weight:600; font-size:34px; margin:10px 0 0}
.desc{color:#5a5247; white-space:pre-wrap}
.specs{display:grid; grid-template-columns:auto 1fr; gap:6px 16px; font-size:14px; color:#5a5247; margin:18px 0}
.specs dt{color:var(--muted)} .specs dd{margin:0}
.ebay-btn{display:inline-block; margin-top:8px; background:var(--brass); color:#fff; padding:13px 24px; text-decoration:none; font-size:15px; letter-spacing:.3px}
.ebay-btn:hover{background:var(--brass-deep)}

/* admin */
.admin{max-width:760px; margin:0 auto; padding:24px 18px 70px}
.admin.narrow{max-width:600px}
.panel{background:var(--card); border:1px solid var(--line); padding:18px 20px; margin-bottom:22px}
.panel h2, .admin > h2{font-family:'Cormorant Garamond',serif; font-weight:600; margin:0 0 12px}
.panel-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:12px}
.panel-head h2{margin:0}
.prow{display:flex; align-items:center; gap:14px; border-top:1px solid var(--line); padding:12px 0}
.prow:first-of-type{border-top:none}
.prow-img{width:54px; height:54px; flex-shrink:0; background:#eee4d3}
.prow-img img{width:100%; height:100%; object-fit:cover}
.prow-main{flex:1; min-width:0}
.muted{color:var(--muted); font-size:13px}
.back{display:inline-block; margin-bottom:8px; font-size:13px; color:var(--muted); text-decoration:none}

/* forms */
.stack label, .lbl{display:block; font-size:12px; letter-spacing:.5px; text-transform:uppercase; color:var(--muted); font-weight:600; margin:14px 0 6px}
.stack input[type=text], .stack input:not([type]), .stack input[type=password], .stack input[type=file], .stack textarea,
input[name], textarea{width:100%; padding:10px 12px; border:1px solid var(--line); background:#fff; font-size:15px; font-family:inherit; color:var(--ink)}
textarea{resize:vertical}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.check{display:flex; align-items:center; gap:8px; text-transform:none; letter-spacing:0; font-size:14px; color:var(--ink); margin-top:14px}
.check input{width:auto}
.row-btns, .row-btns{display:flex; gap:10px; margin-top:18px}
.btn{display:inline-block; padding:10px 18px; font-size:14px; cursor:pointer; text-decoration:none; border:1px solid transparent}
.btn.primary{background:var(--brass); color:#fff; border:none}
.btn.primary:hover{background:var(--brass-deep)}
.btn.ghost{background:none; color:var(--ink); border:1px solid var(--line)}
.link-danger{background:none; border:none; color:var(--rose); cursor:pointer; padding:8px 0; font-size:14px}
.danger{margin-top:30px; border-top:1px solid var(--line); padding-top:16px}

.auth-wrap{max-width:360px; margin:50px auto; padding:0 18px}
.auth-wrap h2{font-family:'Cormorant Garamond',serif; font-weight:600}

.flash{padding:10px 14px; margin:10px 0; font-size:14px; border:1px solid}
.flash.ok{background:#eef5e9; border-color:#bcd6a8; color:#3c6b2f}
.flash.err{background:#fbeaea; border-color:#e6b9bb; color:#9a2f33}

/* photo strip in editor */
.photostrip{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:6px}
.pthumb{position:relative; width:84px; height:84px}
.pthumb img{width:100%; height:100%; object-fit:cover; border:1px solid var(--line)}
.pthumb form{position:absolute; top:-8px; right:-8px; margin:0}
.xbtn{width:22px; height:22px; border-radius:99px; border:none; background:var(--rose); color:#fff; cursor:pointer; font-size:14px; line-height:1}

.site-footer{text-align:center; padding:30px 20px; color:var(--muted); font-size:13px; border-top:1px solid var(--line)}

:focus-visible{outline:2px solid var(--brass); outline-offset:2px}

@media (max-width:680px){
  .detail{grid-template-columns:1fr}
  .row2{grid-template-columns:1fr}
}
