:root{--v:#007782;--ink:#2b2b2b;--muted:#757575;--line:#e6e6e6}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff}
button,input{font:inherit}.topbar{display:flex;align-items:center;gap:18px;padding:10px 4vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:20}
.brand{font-size:32px;font-weight:700;color:var(--v);text-decoration:none;letter-spacing:-2px}
.search-wrap{flex:1;max-width:720px;background:#f2f5f5;border-radius:6px;display:flex;align-items:center;padding:10px 12px}.search-wrap input{border:0;outline:0;background:transparent;width:100%}
.actions{display:flex;gap:8px}.login,.sell{border-radius:6px;padding:9px 12px}.login{border:1px solid var(--v);background:#fff;color:var(--v)}.sell{border:1px solid var(--v);background:var(--v);color:#fff;font-weight:600}
main{max-width:1180px;margin:auto;padding:34px 4vw 70px}.profile{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:14px 0 28px}
.avatar{width:118px;height:118px;border-radius:50%;object-fit:cover;background:#eee}.profile h1{margin:0 0 5px;font-size:25px}.username{color:#777;margin-bottom:12px}.bio{max-width:650px;line-height:1.55;margin:0 0 12px}
.stats{display:flex;gap:18px;color:#666;font-size:14px}.profile-actions{display:flex;gap:8px;align-self:start}.outline{border:1px solid var(--v);background:#fff;color:var(--v);padding:10px 16px;border-radius:6px;font-weight:600}
.tabs{border-bottom:1px solid var(--line);display:flex;gap:26px}.tab{border:0;background:#fff;padding:14px 0;color:#666}.tab.active{color:var(--v);font-weight:600;border-bottom:2px solid var(--v)}
.section-head{display:flex;justify-content:space-between;align-items:end;margin:30px 0 16px}.section-head h2{font-size:20px;margin:0 0 4px}.section-head p{margin:0;color:#777;font-size:13px}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 14px}.card{min-width:0}.photo{position:relative;aspect-ratio:3/4;border-radius:7px;overflow:hidden;background:#f2f2f2}
.photo img{width:100%;height:100%;object-fit:cover;display:block}.heart{position:absolute;right:8px;top:8px;width:37px;height:37px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:20px}
.heart.on{color:#d63d5b}.card-body{padding-top:9px}.brand-name{font-size:13px;font-weight:500}.title{font-size:13px;color:#555;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.meta{font-size:12px;color:#7d7d7d;margin-top:3px}.price{font-size:14px;font-weight:600;margin-top:7px}.buyer{font-size:11px;color:#777;margin-top:2px}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,100px);opacity:0;background:#333;color:#fff;padding:10px 14px;border-radius:6px;transition:.2s}.toast.show{transform:translate(-50%,0);opacity:1}
@media(max-width:850px){.grid{grid-template-columns:repeat(3,1fr)}.profile{grid-template-columns:auto 1fr}.profile-actions{grid-column:1/-1}}
@media(max-width:650px){.topbar{flex-wrap:wrap;padding:10px 16px}.search-wrap{order:3;flex-basis:100%;max-width:none}.actions .login{display:none}main{padding:24px 16px 60px}.profile{grid-template-columns:1fr;text-align:center}.avatar{margin:auto}.stats{justify-content:center;flex-wrap:wrap}.profile-actions{justify-content:center}.grid{grid-template-columns:repeat(2,1fr);gap:22px 10px}}
.register{border:1px solid var(--v);background:#fff;color:var(--v);border-radius:6px;padding:9px 12px}
.hidden{display:none!important}
.reviews-panel{padding-top:28px}.reviews-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
.reviews-summary{font-size:32px;font-weight:700}.stars{color:#f5a623;letter-spacing:1px}.review-list{display:grid;gap:12px}
.review{border:1px solid var(--line);border-radius:8px;padding:16px;background:#fff}.review-top{display:flex;justify-content:space-between;gap:16px}.review-name{font-weight:600}.review-date{color:#888;font-size:12px}.review p{margin:8px 0 0;color:#555;line-height:1.5}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:grid;place-items:center;padding:20px;z-index:100}
.modal-card{position:relative;width:min(430px,100%);background:#fff;border-radius:10px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.close{position:absolute;right:12px;top:10px;border:0;background:#fff;font-size:28px;line-height:1;color:#666}
.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin:-4px 0 22px}.auth-tab{flex:1;border:0;background:#fff;padding:12px;color:#777}.auth-tab.active{color:var(--v);font-weight:600;border-bottom:2px solid var(--v)}
.auth-form{display:grid;gap:14px}.auth-form h3{margin:0 0 4px}.auth-form label{display:grid;gap:6px;font-size:13px;color:#555}.auth-form input,.modal-card textarea{width:100%;border:1px solid #ccc;border-radius:6px;padding:11px;outline:none}.auth-form input:focus,.modal-card textarea:focus{border-color:var(--v)}
.primary{border:0;background:var(--v);color:#fff;border-radius:6px;padding:11px 16px;font-weight:600}
.following{background:#e7f5f6!important}
@media(max-width:650px){.actions .register{display:none}.reviews-head{align-items:start;flex-direction:column}}.linkish{border:0;background:transparent;padding:0;color:#666;cursor:pointer;font:inherit}.linkish:hover{color:var(--v);text-decoration:underline}button,.brand,.tab,.linkish{transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease,color .12s ease,border-color .12s ease}
button{cursor:pointer}
.login:hover,.register:hover,.outline:hover{background:#eef9fa;box-shadow:0 2px 7px rgba(0,119,130,.15)}
.sell:hover,.primary:hover{background:#00646d;box-shadow:0 3px 9px rgba(0,119,130,.22)}
.tab:hover,.auth-tab:hover,.linkish:hover{color:var(--v)}
.heart:hover{transform:scale(1.08);box-shadow:0 3px 10px rgba(0,0,0,.12)}
.close:hover{background:#f4f4f4;border-radius:50%}
button:active,.brand:active{transform:translateY(1px) scale(.98)}
button:focus-visible,.brand:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(0,119,130,.2);outline-offset:2px}
/* Centered responsive header */
.topbar{padding:0 16px}
.header-shell{width:100%;max-width:1180px;margin:0 auto;min-height:64px;display:flex;align-items:center;gap:18px}
.header-shell .search-wrap{min-width:180px}
.header-shell .actions{margin-left:auto;flex:0 0 auto}

@media(max-width:900px){
  .header-shell{gap:12px}
  .brand{font-size:28px}
  .header-shell .actions{gap:6px}
  .login,.register,.sell{padding:8px 10px}
  main{padding-left:24px;padding-right:24px}
}
@media(max-width:700px){
  .topbar{padding:10px 16px}
  .header-shell{min-height:0;display:grid;grid-template-columns:auto 1fr;gap:10px 12px}
  .header-shell .brand{align-self:center}
  .header-shell .actions{margin:0;justify-self:end}
  .header-shell .search-wrap{grid-column:1/-1;grid-row:2;width:100%;max-width:none;order:initial}
  main{padding-left:16px;padding-right:16px}
  .profile{grid-template-columns:1fr;text-align:center}
  .profile-actions,.stats{justify-content:center}
}
@media(max-width:520px){
  .actions .register{display:none}
  .actions{gap:5px}
  .login,.sell{font-size:13px;padding:8px 9px}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 8px}
}
@media(max-width:380px){
  .brand{font-size:25px}
  .grid{grid-template-columns:1fr}
  .photo{aspect-ratio:4/5}
}
.card{position:relative}.product-link{display:block;color:inherit;text-decoration:none}.product-link:hover .photo img{transform:scale(1.02)}.product-link .photo img{transition:transform .16s ease}.product-link:hover .title{text-decoration:underline}.card>.heart{position:absolute;right:8px;top:8px;z-index:3}.location-consent{position:fixed;inset:auto 16px 16px 16px;z-index:1000;display:flex;justify-content:center}
.location-card{width:min(680px,100%);display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:0 10px 35px rgba(0,0,0,.18)}
.location-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#eef9fa;color:var(--v);font-size:22px;font-weight:700}
.location-card strong{display:block;margin-bottom:4px}.location-card p{margin:0;color:#666;font-size:14px;line-height:1.4}
.location-allow{border:1px solid var(--v);background:var(--v);color:#fff;border-radius:7px;padding:10px 14px;font-weight:600;white-space:nowrap}
.location-close{border:0;background:#fff;font-size:24px;line-height:1;color:#777;padding:4px;border-radius:50%}
.location-allow:disabled{opacity:.65;cursor:wait}
@media(max-width:650px){.location-card{grid-template-columns:auto 1fr auto}.location-allow{grid-column:1/-1;width:100%}.location-close{grid-column:3;grid-row:1}.location-icon{grid-column:1;grid-row:1/3}.location-card>div:nth-child(3){grid-column:2/4}}