/* Public views (profiles/collections)
   Separate file so core pages remain untouched.
*/

/* Series overview tiles */
.public-series-grid,
.series-overview{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:14px;
  margin-top:12px;
}

.public-series-card,
.series-tile{
  display:block;
  text-decoration:none;
  color:inherit;
  background:#fff;
  border:2px solid var(--line);
  border-radius:14px;
  padding:14px;
  box-shadow:0 1px 0 rgba(0,0,0,.02);
  transition:transform .10s ease, box-shadow .10s ease, border-color .10s ease, background-color .10s ease;
}

.series-title{
  font-weight:900;
  font-size:16px;
  margin:0 0 2px 0;
}

.series-sub{
  color:var(--muted);
  font-size:12px;
  margin:0 0 10px 0;
}

.pub-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:14px;
}

.pub-bar{
  height:10px;
  border-radius:999px;
  background:#eee9df;
  overflow:hidden;
  margin-top:8px;
}

.pub-bar > span{
  display:block;
  height:100%;
  width:0;
  background:#79a86b;
}

.pub-cta{
  display:inline-flex; align-items:center; gap:8px;
  margin-top:12px;
  padding:8px 10px;
  border-radius:10px;
  background:#f4f0e6;
  border:1px solid #e6e2d8;
  font-weight:800;
}

/* Public series top row */
.pub-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.pub-kpis{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

/* Owned/missing flag */
.pub-flag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  padding:2px 8px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  font-weight:900;
  font-size:12px;
  margin-bottom:8px;
}

.pub-card.owned .pub-flag{
  background:var(--own-bg);
  border-color:#bfe0bf;
}

.pub-card.missing .pub-flag{
  opacity:.75;
}

.public-series-card:hover,
.series-tile:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(0,0,0,.06);
  border-color:var(--line-strong);
  background:var(--hover);
}

.public-series-title,
.series-title{
  font-weight:900;
  font-size:17px;
  margin:0 0 2px 0;
}

.public-series-meta,
.series-sub{
  color:var(--muted);
  font-size:13px;
  margin:0 0 10px 0;
}

.public-series-stats{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:10px;
}

.public-stat-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:10px;
  font-size:14px;
}

.public-bar{
  height:10px;
  border-radius:999px;
  background:#eee9df;
  overflow:hidden;
}

.public-bar > span{
  display:block;
  height:100%;
  background:#79a86b;
}

.public-card-link{
  display:inline-flex; align-items:center; gap:8px;
  margin-top:12px;
  padding:8px 10px;
  border-radius:10px;
  background:#f4f0e6;
  border:1px solid #e6e2d8;
  font-weight:800;
  text-decoration:none;
  color:#3b362f;
}

.public-card-link:hover{background:#efe9dc}

/* Public series card grid (full set) */
.pub-grid{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:flex-start;
}


.pub-card{
  flex: 1 1 180px;
  max-width: 220px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  padding:8px;
  position:relative;
}

.pub-card.owned{
  background:var(--own-bg);
  border-color:#bfe7a6;
  box-shadow:inset 0 0 0 2px #d7f5c7;
}

.pub-card .thumb{
  width:100%;
  height:210px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:10px;
  background:transparent;
}

.pub-card .thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:#fff;
  border:1px solid #e3dac4;
  border-radius:10px;
}


.pub-meta{margin-top:8px}
.pub-title{font-weight:800}
.pub-sub{color:var(--muted);font-size:12px;margin-top:2px}

.pub-badge{
  position:absolute;
  top:10px;
  left:10px;
  padding:3px 8px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  background:#fff;
  border:1px solid #c9bea6;
}

.pub-card.owned .pub-badge{
  background:#fff;
  border-color:#9fcb85;
}

/* Missing cards */
.pub-card.missing{
  background:#fff;
}

/* Simple section header stats */
.pub-stats{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin:0 0 10px 0;
}

.pub-stats .badge{
  background:#fff;
}


/* Public series: series topper */
.pub-series-topper{display:flex;gap:14px;align-items:center;flex-wrap:wrap;}
.pub-series-img{width:120px;height:120px;flex:0 0 auto;border:2px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;}
.pub-series-img img{width:100%;height:100%;object-fit:cover;display:block;}
.pub-series-name{font-weight:900;font-size:18px;margin:0 0 2px 0;}

/* Public series: flag split */
.pub-no{font-weight:900;}
.pub-state{font-weight:900;}
.pub-state{padding-left:6px;border-left:1px solid rgba(0,0,0,.12);}


/* Variants grouped under base card */
.pub-variants{margin-top:10px;padding-top:10px;border-top:1px dashed #ddd0b8;}
.pub-variants-title{font-weight:900;font-size:12px;color:var(--muted);margin-bottom:8px;}
.pub-variants-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;}
.pub-variant{border:1px solid var(--line);border-radius:12px;padding:8px;background:#fff;display:flex;gap:8px;align-items:flex-start;}
.pub-variant.owned{background:var(--own-bg);border-color:#bfe7a6;}
.pub-variant.missing{opacity:.78;}
.pub-variant-thumb{width:34px;height:48px;border-radius:9px;overflow:hidden;display:block;flex:0 0 auto;background:#fff;border:1px solid #e3dac4;}
.pub-variant-thumb img{width:100%;height:100%;object-fit:contain;display:block;background:#fff;}
.pub-variant-meta{min-width:0;}
.pub-variant-label{font-weight:800;font-size:12px;line-height:1.2;}
.pub-variant-state{color:var(--muted);font-size:11px;margin-top:2px;font-weight:800;}


/* Lightbox (same behavior as gallery/collection) */
.lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:9999;padding:24px;}
.lightbox-overlay.open{display:flex;}
.lightbox-img{max-width:min(95vw,1100px);max-height:92vh;width:auto;height:auto;box-shadow:0 10px 30px rgba(0,0,0,.6);border-radius:10px;background:#fff;display:block;}
.lightbox-close{position:absolute;top:16px;right:16px;background:#ffffff;color:#222;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:6px 10px;font-weight:700;cursor:pointer;}
.lightbox-close:hover{background:#f2f2f2}

.pub-variant-flag{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:900;font-size:11px;margin-bottom:6px;}
.pub-variant.owned .pub-variant-flag{background:var(--own-bg);border-color:#bfe0bf;}
.pub-variant.missing .pub-variant-flag{opacity:.85;}
