/* ================================================================
   PUBLIC PROFILE — profile-public.css
   ================================================================ */

.public-wrap {
  padding: 1.5rem 2rem 3rem;
  display: flex; flex-direction: column; gap: 1.25rem;
  margin-top: -120px; position: relative; z-index: 1;
}

/* Top row — dossier card + middle column */
.public-top-row {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 1.25rem;
  align-items: start;
}

.dossier-left { display: flex; }

.public-middle {
  display: flex; flex-direction: column; gap: 1rem;
  min-width: 0; max-width: 380px;
}

/* Action buttons */
.public-actions { display: flex; gap: .6rem; flex-wrap: wrap; }

.pub-action-btn {
  display: flex; align-items: center; gap: .45rem;
  font-family: var(--font-display); font-size: .52rem; letter-spacing: .18em;
  border: 1px solid rgba(181,139,74,.3); background: rgba(255,255,255,.04);
  color: var(--ivory-dark); padding: .5rem .85rem;
  cursor: pointer; transition: border-color .15s, background .15s;
}
.pub-action-btn:hover { border-color: var(--brass); color: var(--brass-light); background: rgba(181,139,74,.08); }
.pub-btn-icon { font-size: .9rem; width: 18px; text-align: center; font-style: normal; }
.pub-btn-follow.followed { border-color: var(--moss); color: #8fb279; }
.pub-btn-friend.requested { border-color: var(--brass); color: var(--brass-light); opacity: .6; cursor: default; }
.pub-btn-report:hover { border-color: #c0a020; color: #c0a020; }
.pub-btn-block:hover { border-color: #a04040; color: #c06060; }

/* Public section framing */
.public-stats-panel,
.public-herbarium,
.public-distinctions {
  background: linear-gradient(148deg, rgba(18,35,27,.92), rgba(11,25,19,.96));
  border: 1px solid rgba(181,139,74,.18);
  padding: 1.15rem;
  box-sizing: border-box;
}

.public-herbarium, .public-distinctions { margin-top: .5rem; }
.public-section-head { margin-bottom: 1rem; }
.public-section-head .herb-kicker { color: var(--brass-light); opacity: .72; }
.public-section-head .herb-title { color: var(--cream); }
.public-section-head .herb-sub { color: var(--ivory-dark); opacity: .72; }

.public-empty-state {
  grid-column: 1 / -1;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 1rem 1.1rem;
  border: 1px dashed rgba(181,139,74,.34);
  background: rgba(237,228,206,.06);
  color: var(--ivory-dark);
  font-family: var(--font-ink);
  font-size: 1rem;
  line-height: 1.45;
  opacity: .9;
}

.public-specimen-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem;
  min-height: 58px;
}
.pub-specimen-card {
  display: flex; align-items: center; gap: .75rem;
  background: linear-gradient(148deg, #ede4ce, #ddd0b0);
  border: 1px solid rgba(181,139,74,.2); padding: .85rem 1rem;
}
.pub-spec-icon { font-size: 1.8rem; flex-shrink: 0; }
.pub-spec-accession { font-family: var(--font-display); font-size: .44rem; letter-spacing: .16em; color: var(--ink-light); opacity: .5; margin-bottom: .15rem; }
.pub-spec-name { font-family: var(--font-display); font-size: .65rem; font-weight: 700; letter-spacing: .1em; color: var(--ink); margin-bottom: .15rem; }
.pub-spec-stars { font-size: .75rem; color: var(--brass); margin-bottom: .1rem; letter-spacing: .1em; }
.pub-spec-date { font-family: var(--font-display); font-size: .42rem; letter-spacing: .1em; color: var(--ink-light); opacity: .5; }

/* Distinctions */
.distinctions-grid {
  display: flex; gap: .75rem; flex-wrap: wrap;
  min-height: 58px;
}
.distinctions-grid .public-empty-state { flex: 1 1 100%; }
.distinction-badge {
  display: flex; flex-direction: column; align-items: center; gap: .35rem;
  background: linear-gradient(148deg, var(--greenhouse-2), var(--greenhouse-3));
  border: 1px solid rgba(181,139,74,.2); padding: .85rem 1.1rem; min-width: 100px;
}
.distinction-icon { font-size: 1.6rem; }
.distinction-name { font-family: var(--font-display); font-size: .44rem; letter-spacing: .14em; color: var(--brass-light); text-align: center; }

/* Report form */
.report-options { display: flex; flex-direction: column; gap: .5rem; margin: .85rem 0; }
.report-option {
  display: flex; align-items: center; gap: .5rem;
  font-family: var(--font-display); font-size: .55rem; letter-spacing: .1em;
  color: var(--ink); cursor: pointer; padding: .35rem 0;
  border-bottom: 1px solid rgba(61,51,38,.08);
}
.report-option input { accent-color: var(--brass); }
.report-textarea {
  width: 100%; min-height: 80px; margin-top: .5rem;
  font-family: var(--font-ink); font-size: .9rem; color: var(--ink);
  background: rgba(61,51,38,.05); border: 1px solid rgba(61,51,38,.2);
  padding: .6rem; resize: vertical; box-sizing: border-box;
}

/* Mobile */
@media (max-width: 900px) {
  .public-top-row { grid-template-columns: 1fr; }
  .public-specimen-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .public-wrap { padding: 1rem; }
  .public-specimen-grid { grid-template-columns: 1fr; }
  .pub-btn-label { display: none; }
  .pub-action-btn { padding: .5rem .65rem; }
}

/* ── Warden Stats Panel ── */
.pub-stats-tabs {
  display: flex; gap: .4rem; flex-wrap: wrap; margin-bottom: 1rem;
}
.pub-stats-tab {
  font-family: var(--font-display); font-size: .48rem; letter-spacing: .18em;
  color: var(--ivory-dark); opacity: .5; background: none;
  border: 1px solid rgba(181,139,74,.15); padding: .35rem .75rem;
  cursor: pointer; transition: opacity .15s, border-color .15s;
}
.pub-stats-tab.active, .pub-stats-tab:hover { opacity: 1; border-color: var(--brass); color: var(--brass-light); }

.pub-stats-content { display: none; }
.pub-stats-content.active { display: block; }

.pub-stats-grid {
  display: grid; grid-template-columns: repeat(5, 1fr);
  gap: .75rem; margin-bottom: 1rem;
}
.pub-stat-card {
  background: linear-gradient(148deg, var(--greenhouse-2), var(--greenhouse-3));
  border: 1px solid rgba(95,118,84,.18);
  padding: 1rem .75rem; text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: .3rem;
}
.pub-stat-card.highlight { border-color: rgba(181,139,74,.35); background: rgba(181,139,74,.06); }
.pub-stat-icon { font-size: 1.2rem; }
.pub-stat-num {
  font-family: var(--font-display); font-size: 1.3rem; font-weight: 700;
  color: var(--brass-light); letter-spacing: .05em;
}
.pub-stat-label {
  font-family: var(--font-display); font-size: .42rem; letter-spacing: .14em;
  color: var(--ivory-dark); opacity: .55;
}

.pub-fav-species {
  display: flex; align-items: center; gap: .85rem;
  background: linear-gradient(148deg, var(--greenhouse-2), var(--greenhouse-3));
  border: 1px solid rgba(95,118,84,.18); padding: .85rem 1rem;
}
.pub-fav-label {
  font-family: var(--font-display); font-size: .46rem; letter-spacing: .2em;
  color: var(--brass-light); opacity: .7;
}
.pub-fav-icon { font-size: 1.6rem; }
.pub-fav-name {
  font-family: var(--font-display); font-size: .85rem; font-weight: 700;
  letter-spacing: .1em; color: var(--cream);
}

.profile-footer {
  color: var(--ivory-dark);
  opacity: .8;
}

@media (max-width: 900px) { .pub-stats-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .pub-stats-grid { grid-template-columns: repeat(2, 1fr); } }
