/* Public share pages */
.public-page { background: var(--bg, #0f1419); min-height: 100vh; }
.public-header { padding: 1rem 1.25rem; border-bottom: 1px solid var(--border, #2a3441); }
.public-header__brand { font-weight: 700; text-decoration: none; color: inherit; }
.public-main { max-width: 1100px; margin: 0 auto; padding: 1rem; }

.public-deck__hero-top { display: flex; gap: 1rem; justify-content: space-between; flex-wrap: wrap; align-items: flex-start; }
.public-deck__title { margin: 0 0 .35rem; font-size: 1.6rem; }
.public-deck__cover { width: 72px; border-radius: 6px; }
.public-deck__actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.public-deck__validation { margin-top: .75rem; padding: .65rem .85rem; border-radius: 6px; background: rgba(255,255,255,.04); }
.public-deck__validation--ok { color: var(--success, #3dd68c); }
.public-deck__validation--bad { color: var(--warning, #ffb020); }
.public-deck__section { margin-top: 1rem; }
.public-deck__section h2 { font-size: 1rem; margin: 0 0 .75rem; }

.public-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
  gap: .5rem;
}
@media (min-width: 480px) {
  .public-card-grid { grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); }
}

.public-card-tile {
  position: relative;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  border-radius: 4px;
  overflow: hidden;
}
.public-card-tile img { width: 100%; display: block; border-radius: 4px; }
.public-card-tile__qty {
  position: absolute; top: 4px; right: 4px;
  background: rgba(0,0,0,.75); color: #fff;
  font-size: .72rem; padding: .1rem .35rem; border-radius: 999px;
}
.public-card-tile__meta { display: block; padding: .2rem .1rem 0; font-size: .65rem; line-height: 1.2; }

.public-pagination { display: flex; align-items: center; justify-content: center; gap: .75rem; margin: 1rem 0; }
.public-profile__cards { display: grid; gap: .75rem; }
.public-profile__card {
  display: block; padding: .85rem 1rem; border-radius: 8px;
  background: rgba(255,255,255,.04); text-decoration: none; color: inherit;
}
.public-profile__card:hover { background: rgba(255,255,255,.07); }

.share-panel__title { margin: 0 0 .65rem; font-size: .95rem; }
.share-panel__radio { display: block; margin: .35rem 0; cursor: pointer; }
.share-panel__link-row { display: flex; gap: .5rem; margin: .35rem 0 .65rem; }
.share-panel__link-row .form-control { flex: 1; font-size: .82rem; }
.share-panel__actions { display: flex; flex-wrap: wrap; gap: .5rem; }

.qr-code-target canvas, .qr-code-target img { max-width: 220px; margin: 0 auto; }

.profile-page .input-prefix { display: flex; align-items: center; gap: .35rem; }
.sharing-summary { list-style: none; padding: 0; margin: 0; }
.sharing-summary li { padding: .35rem 0; }

[hidden] { display: none !important; }
