/*
 * Pair Choices — Dashboard stylesheet (frontend + admin).
 * Frontend rules scoped to .pc-dash; admin rules use .pc-admin-dash.
 * WCAG AA contrast throughout.
 */

/* ── Shared: Stat grid ───────────────────────────────────────────────────── */
.pc-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 1rem;
  margin: 1.25rem 0;
}

.pc-stat {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 1rem 1.25rem;
}
.pc-stat--blue  { border-left: 4px solid #1B6CA8; }
.pc-stat--green { border-left: 4px solid #276749; }
.pc-stat--orange{ border-left: 4px solid #E8623A; }

.pc-stat__label {
  font-size: .8rem;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: .25rem;
}
.pc-stat__value {
  font-size: 1.6rem;
  font-weight: 700;
  color: #1A202C;
}
.pc-stat__value--warn { color: #C05621; }
.pc-stat__note {
  font-size: .75rem;
  color: #718096;
  margin-top: .25rem;
  line-height: 1.4;
}

/* ── Shared: Chart wrap ──────────────────────────────────────────────────── */
.pc-chart-wrap {
  position: relative;
  width: 100%;
  max-width: 720px;
  height: 220px;
  margin: 1rem 0;
}
.pc-chart-wrap canvas {
  max-width: 100%;
}

/* ── Shared: Table ───────────────────────────────────────────────────────── */
.pc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .95rem;
  margin-bottom: 1rem;
}
.pc-table th,
.pc-table td {
  text-align: left;
  padding: .5rem .75rem;
  border-bottom: 1px solid #e2e8f0;
}
.pc-table thead th {
  background: #f7fafc;
  font-weight: 600;
  color: #4a5568;
}
.pc-table tbody tr:hover { background: #f7fafc; }

/* ── Shared: Period picker ───────────────────────────────────────────────── */
.pc-period-picker {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  margin: 1rem 0;
}

/* ── Shared: Pills ───────────────────────────────────────────────────────── */
.pc-pill {
  display: inline-block;
  padding: .3rem .9rem;
  border-radius: 100px;
  font-size: .85rem;
  background: #e2e8f0;
  color: #2d3748;
  text-decoration: none;
  transition: background .15s;
}
.pc-pill:hover         { background: #cbd5e0; }
.pc-pill--active       { background: #1B6CA8; color: #fff; }
.pc-pill--active:hover { background: #154E7A; }

/* ── Shared: Notice / save result ────────────────────────────────────────── */
.pc-dash__notice,
.pc-save-result {
  display: inline-block;
  padding: .25rem .75rem;
  border-radius: 4px;
  font-size: .85rem;
  margin-left: .5rem;
}
.pc-dash__notice--success,
.pc-save-result.success { background: #c6f6d5; color: #276749; }
.pc-dash__notice--error,
.pc-save-result.error   { background: #fed7d7; color: #9b2c2c; }
.pc-dash__success { color: #276749; }

/* ── Shared: Checkbox grid ───────────────────────────────────────────────── */
.pc-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: .4rem .75rem;
  margin: .5rem 0 1rem;
}
.pc-checkbox-grid label {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: .9rem;
  cursor: pointer;
}

/* ── Shared: Textarea ────────────────────────────────────────────────────── */
.pc-textarea {
  display: block;
  width: 100%;
  max-width: 480px;
  padding: .4rem .6rem;
  border: 1px solid #cbd5e0;
  border-radius: 4px;
  font-size: .95rem;
  resize: vertical;
  margin-top: .25rem;
}
.pc-textarea:focus {
  outline: 2px solid #1B6CA8;
  outline-offset: 1px;
  border-color: transparent;
}

/* ── Shared: Muted text ──────────────────────────────────────────────────── */
.pc-muted { color: #718096; font-size: .875rem; }

/* ── Shared: Login prompt ────────────────────────────────────────────────── */
.pc-dash__login-prompt {
  padding: 1.5rem;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  text-align: center;
  color: #4a5568;
}
.pc-dash__login-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .5rem 1rem;
  margin: 1rem 0 0;
}
.pc-dash__forgot {
  color: var(--pc-mkt-blue, #1F62C2);
  font-size: .9rem;
  text-decoration: none;
}
.pc-dash__forgot:hover { text-decoration: underline; }

/* ── Frontend: Dashboard wrapper ─────────────────────────────────────────── */
.pc-dash {
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
  font-size: 1rem;
  color: #1A202C;
  margin-top: 1rem;
}

.pc-dash__nav {
  display: flex;
  gap: .25rem;
  border-bottom: 2px solid #e2e8f0;
  margin-bottom: 1.25rem;
}
.pc-dash__tab-link {
  padding: .6rem 1rem;
  text-decoration: none;
  color: #4a5568;
  font-weight: 500;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color .15s;
}
.pc-dash__tab-link:hover { color: #1B6CA8; }
.pc-dash__tab-link--active {
  color: #1B6CA8;
  border-bottom-color: #1B6CA8;
}

/* ── Frontend: Item cards ────────────────────────────────────────────────── */
.pc-items-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.pc-item-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 1rem;
}
.pc-item-card__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .5rem;
}
.pc-item-card__meta {
  font-size: .85rem;
  color: #718096;
  margin-bottom: .75rem;
}
.pc-item-card__status {
  font-size: .75rem;
  padding: .2rem .5rem;
  border-radius: 100px;
  font-weight: 600;
}
.pc-item-card__status--publish { background: #c6f6d5; color: #276749; }
.pc-item-card__status--draft   { background: #e2e8f0; color: #4a5568; }
.pc-item-card__status--sold    { background: #fed7d7; color: #9b2c2c; }

.pc-item-card__inventory {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: .5rem .65rem;
  margin-bottom: .75rem;
  background: #f7fafc;
}
.pc-item-card__inv-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .5rem;
}
.pc-inv-label {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #718096;
  font-weight: 600;
}
.pc-inv-total {
  font-weight: 700;
  color: #276749;
}
.pc-inv-total--low { color: #b7791f; }
.pc-inv-variants {
  list-style: none;
  margin: .5rem 0 0;
  padding: 0;
  display: grid;
  gap: .2rem;
}
.pc-inv-variant {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
  font-size: .85rem;
  padding: .15rem 0;
  border-top: 1px dashed #e2e8f0;
}
.pc-inv-variant__name { color: #4a5568; }
.pc-inv-variant__qty  { font-variant-numeric: tabular-nums; font-weight: 600; }
.pc-inv-variant--out .pc-inv-variant__name { color: #a0aec0; text-decoration: line-through; }
.pc-inv-variant--out .pc-inv-variant__qty  { color: #9b2c2c; font-weight: 600; }

/* Editable inventory (seller replenish / reduce) */
.pc-inv-variant__edit,
.pc-inv-simple-edit {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.pc-inv-simple-edit {
  margin-top: .5rem;
  font-size: .85rem;
  color: #4a5568;
}
.pc-inv-qty-input {
  width: 5rem;
  padding: .25rem .4rem;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.pc-inv-unit {
  font-size: .78rem;
  color: #718096;
}
.pc-inv-actions {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-top: .6rem;
}
.pc-inv-actions .pc-save-result.success { color: #276749; }
.pc-inv-actions .pc-save-result.error   { color: #9b2c2c; }

.pc-item-card__section {
  border-top: 1px solid #e2e8f0;
  padding-top: .75rem;
  margin-top: .75rem;
}
.pc-item-card__section > summary {
  cursor: pointer;
  font-weight: 500;
  color: #1B6CA8;
  font-size: .9rem;
  padding: .25rem 0;
}
.pc-item-card__actions { margin-top: .75rem; }

.pc-items-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: .5rem;
}

/* ── Frontend: Chapters form ─────────────────────────────────────────────── */
.pc-chapters-form__note {
  font-size: .85rem;
  color: #718096;
  margin-bottom: .5rem;
}

/* ── Frontend: Purchase cards ────────────────────────────────────────────── */
.pc-purchases-list {
  display: grid;
  gap: .75rem;
  margin-top: 1rem;
}
.pc-purchase-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 1rem;
}
.pc-purchase-card__header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: .5rem;
  margin-bottom: .25rem;
}
.pc-purchase-card__meta {
  font-size: .85rem;
  color: #718096;
  margin-bottom: .5rem;
}
.pc-purchase-card__section {
  border-top: 1px solid #e2e8f0;
  padding-top: .75rem;
  margin-top: .75rem;
}
.pc-purchase-card__section > summary {
  cursor: pointer;
  font-weight: 500;
  color: #E8623A;
  font-size: .9rem;
}

.pc-status-badge {
  font-size: .72rem;
  font-weight: 600;
  padding: .15rem .5rem;
  border-radius: 100px;
  background: #e2e8f0;
  color: #4a5568;
  text-transform: capitalize;
  white-space: nowrap;
}

/* ── Frontend: Returns cards ─────────────────────────────────────────────── */
.pc-returns-list {
  display: grid;
  gap: .75rem;
  margin-top: 1rem;
}
.pc-return-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-left: 4px solid #E8623A;
  border-radius: 8px;
  padding: 1rem;
}
.pc-return-card__action { margin-top: .75rem; }

/* ── Frontend: Star ratings ──────────────────────────────────────────────── */
.pc-stars {
  display: flex;
  gap: .2rem;
  margin: .4rem 0;
}
.pc-star {
  background: none;
  border: none;
  font-size: 1.6rem;
  color: #cbd5e0;
  cursor: pointer;
  padding: 0;
  transition: color .1s;
  line-height: 1;
}
.pc-star:hover,
.pc-star--hover,
.pc-star--active { color: #E8623A; }
.pc-star:focus-visible {
  outline: 2px solid #1B6CA8;
  border-radius: 2px;
}

.pc-ratings-list     { display: grid; gap: 1rem; margin-top: 1rem; }
.pc-rating-card      { background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 1rem; }
.pc-rating-card__seller {
  margin-top: .75rem;
  padding-top: .75rem;
  border-top: 1px solid #e2e8f0;
}

/* ── Frontend: Promo opt-in ──────────────────────────────────────────────── */
.pc-promo-optin {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 1rem 1.25rem;
  margin-top: 1.25rem;
  display: inline-block;
}
.pc-promo-optin__label {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .95rem;
  cursor: pointer;
}

/* ── Admin: Dashboard wrappers ───────────────────────────────────────────── */
.pc-admin-dash h2 { margin-top: 1.5rem; }
.pc-admin-dash h3 { margin-top: 1rem; }
.pc-admin-dash__body { margin-top: 1rem; }

/* Chapter settings accordion */
.pc-chapter-settings {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  margin-bottom: .75rem;
  padding: .75rem 1rem;
}
.pc-chapter-settings > summary {
  cursor: pointer;
  padding: .25rem 0;
}
.pc-chapter-settings__form {
  margin-top: .75rem;
  padding-top: .75rem;
  border-top: 1px solid #e2e8f0;
}
.pc-chapter-settings__form label { display: block; margin-bottom: .25rem; font-weight: 500; }
.pc-chapter-settings__form input[type="number"] { margin-top: .25rem; }

/* Sale price form */
.pc-sale-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .5rem; margin-top: .5rem; }
.pc-sale-form label { font-size: .85rem; }
.pc-sale-form input { display: block; margin-top: .2rem; }

@media (max-width: 600px) {
  .pc-stat-grid { grid-template-columns: 1fr 1fr; }
  .pc-items-list { grid-template-columns: 1fr; }
  .pc-dash__nav { flex-wrap: wrap; }
}

/* ═══════════════════════════════════════════════════════════════════════════
 * Seller Dashboard redesign (.pc-sdash) — sidebar layout, stat cards,
 * inline-SVG charts, My Stores. Data-driven; no external chart libs.
 * ═══════════════════════════════════════════════════════════════════════════ */
.pc-sdash { --pc-navy:#0B3C6E; --pc-blue:#1B6CA8; --pc-green:#276749; --pc-ink:#1A202C; --pc-muted:#718096; --pc-line:#e2e8f0; --pc-bg:#f7fafc;
  max-width:1180px; margin:0 auto; color:var(--pc-ink); }

/* Top bar */
.pc-sdash__topbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem;
  background:var(--pc-navy); color:#fff; padding:.9rem 1.25rem; border-radius:10px 10px 0 0; }
.pc-sdash__brand { display:flex; flex-direction:column; line-height:1.2; }
.pc-sdash__org { font-weight:800; font-size:1.15rem; }
.pc-sdash__title { font-size:.8rem; opacity:.85; text-transform:uppercase; letter-spacing:.05em; }
.pc-sdash__topactions { display:flex; gap:.5rem; flex-wrap:wrap; }
.pc-sdash__btn { display:inline-block; padding:.5rem .9rem; border-radius:6px; font-weight:600; font-size:.85rem; text-decoration:none; }
.pc-sdash__btn--ghost { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.55); }
.pc-sdash__btn--ghost:hover { background:rgba(255,255,255,.12); }
.pc-sdash__btn--primary { background:#fff; color:var(--pc-navy); }
.pc-sdash__btn--primary:hover { background:#e6eef7; }

/* Body split */
.pc-sdash__body { display:flex; align-items:flex-start; gap:0; border:1px solid var(--pc-line); border-top:0; border-radius:0 0 10px 10px; background:#fff; }
.pc-sdash__sidebar { flex:0 0 210px; background:var(--pc-bg); border-right:1px solid var(--pc-line); padding:.75rem 0; border-radius:0 0 0 10px; }
.pc-sdash__navlink { display:block; padding:.6rem 1.1rem; color:#2d3748; text-decoration:none; font-size:.92rem; border-left:3px solid transparent; }
.pc-sdash__navlink:hover { background:#edf2f7; }
.pc-sdash__navlink.is-active { background:#fff; border-left-color:var(--pc-blue); color:var(--pc-navy); font-weight:700; }
.pc-sdash__main { flex:1 1 auto; min-width:0; padding:1.25rem 1.5rem; }

/* Stat cards */
.pc-sdash__stats { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:1rem; margin:.5rem 0 1.25rem; }
.pc-sdash__stat { background:#fff; border:1px solid var(--pc-line); border-radius:10px; padding:1rem 1.2rem; border-top:4px solid var(--pc-blue); }
.pc-sdash__stat--sales { border-top-color:var(--pc-blue); }
.pc-sdash__stat--donations { border-top-color:var(--pc-green); }
.pc-sdash__stat--pending { border-top-color:#B7791F; }
.pc-sdash__stat--returns { border-top-color:#E8623A; }
.pc-sdash__stat-label { font-size:.78rem; color:var(--pc-muted); text-transform:uppercase; letter-spacing:.04em; margin-bottom:.35rem; }
.pc-sdash__stat-value { font-size:1.7rem; font-weight:800; color:var(--pc-ink); }

/* Panels + rows */
.pc-sdash__row { display:grid; grid-template-columns:2fr 1fr; gap:1rem; margin-bottom:1.25rem; }
.pc-sdash__panel { background:#fff; border:1px solid var(--pc-line); border-radius:10px; padding:1.1rem 1.2rem; margin-bottom:1.25rem; }
.pc-sdash__panel--wide { margin-bottom:0; }
.pc-sdash__panel--empty { color:var(--pc-muted); }
.pc-sdash__h3 { margin:0 0 .6rem; font-size:1.05rem; color:var(--pc-navy); }
.pc-sdash__h4 { margin:1.25rem 0 .25rem; font-size:.95rem; font-weight:700; color:var(--pc-navy); }
.pc-sdash__hint { font-size:.82rem; color:var(--pc-muted); margin:0 0 .75rem; }
.pc-sdash__scroll { overflow-x:auto; }

/* Charts */
.pc-svg-chart { width:100%; height:auto; max-height:240px; }
.pc-svg-axis { stroke:#cbd5e0; stroke-width:1; }
.pc-svg-bar--blue { fill:var(--pc-blue); }
.pc-svg-bar--green { fill:var(--pc-green); }
.pc-svg-xlabel { fill:var(--pc-muted); font-size:11px; }
.pc-sdash__legend { display:flex; gap:1.25rem; font-size:.82rem; color:#4a5568; margin-top:.4rem; }
.pc-swatch { display:inline-block; width:11px; height:11px; border-radius:2px; margin-right:.35rem; vertical-align:middle; }
.pc-swatch--blue { background:var(--pc-blue); }
.pc-swatch--green { background:var(--pc-green); }

/* Donut */
.pc-sdash__donut { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.pc-svg-donut { width:150px; height:150px; flex:0 0 auto; }
.pc-sdash__donut-legend { list-style:none; margin:0; padding:0; font-size:.82rem; }
.pc-sdash__donut-legend li { margin:.2rem 0; color:#4a5568; }
.pc-sdash__donut-legend li span { color:var(--pc-ink); font-weight:600; }

/* Store link */
.pc-sdash__storelink { color:var(--pc-blue); font-weight:600; text-decoration:none; }
.pc-sdash__storelink:hover { text-decoration:underline; }
.pc-sdash__table { width:100%; border-collapse:collapse; font-size:.88rem; }
.pc-sdash__table th, .pc-sdash__table td { text-align:left; padding:.5rem .6rem; border-bottom:1px solid var(--pc-line); white-space:nowrap; }
.pc-sdash__table th { color:var(--pc-muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.03em; }

/* Mobile nav toggle (hamburger) + drawer backdrop — injected by the dashboard JS. */
.pc-sdash__nav-toggle { display:none; }
.pc-sdash__backdrop   { display:none; }

@media (max-width:820px) {
  /* Hamburger button in the top bar. */
  .pc-sdash__nav-toggle {
    display:inline-flex; align-items:center; gap:.4rem;
    min-height:40px; padding:.4rem .85rem; margin-right:.6rem;
    font:inherit; font-size:.95rem; font-weight:700; color:#fff;
    background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.4);
    border-radius:8px; cursor:pointer;
  }
  /* Sidebar becomes an off-canvas drawer. */
  .pc-sdash__body { display:block; }
  .pc-sdash__sidebar {
    position:fixed; top:0; left:0; bottom:0; z-index:1001;
    width:min(82vw, 300px); display:block; flex-wrap:nowrap;
    background:var(--pc-bg); border:0; border-radius:0;
    padding:3rem 0 1.5rem; overflow-y:auto; -webkit-overflow-scrolling:touch;
    transform:translateX(-100%); transition:transform .25s ease;
    box-shadow:0 0 40px rgba(0,0,0,.25);
  }
  .pc-sdash__sidebar.is-open { transform:translateX(0); }
  .pc-sdash__backdrop.is-open { display:block; position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:1000; }
  body.pc-sdash-nav-open { overflow:hidden; }

  .pc-sdash__row { grid-template-columns:1fr; }
  /* Let wide tables scroll instead of overflowing the panel. */
  .pc-sdash__panel { overflow-x:auto; }
}

/* Buyer dashboard: favorite stores */
.pc-fav-add-form { display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; }
.pc-fav-select { padding:.4rem .5rem; border:1px solid var(--pc-line, #e2e8f0); border-radius:6px; min-width:200px; }
.pc-fav-list { list-style:none; margin:.25rem 0 0; padding:0; }
.pc-fav-item { display:flex; align-items:center; gap:.6rem; padding:.5rem .1rem; border-bottom:1px solid var(--pc-line, #e2e8f0); }
.pc-fav-item .pc-sdash__storelink { font-size:.95rem; }
.pc-fav-remove { font-size:.78rem; padding:.15rem .5rem; }

/* ═══ Store Dashboard extras ═══════════════════════════════════════════════ */
.pc-sdash__stats--3 { grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); }
.pc-sdash__stat-change { font-size:.82rem; font-weight:700; margin-top:.35rem; }
.pc-sdash__stat-change.is-up { color:#276749; }
.pc-sdash__stat-change.is-down { color:#C05621; }
.pc-sdash__stat-change-note { color:var(--pc-muted,#718096); font-weight:400; margin-left:.25rem; }
.pc-sdash__sub { color:var(--pc-muted,#718096); font-size:.82rem; font-weight:400; }
.pc-sdash__panel-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.pc-sdash__count { font-size:.82rem; color:var(--pc-muted,#718096); margin:.25rem 0 .75rem; }
.pc-sdash__table-total td { font-weight:700; border-top:2px solid var(--pc-line,#e2e8f0); }
.pc-store-switch { padding:.4rem .5rem; border:1px solid rgba(255,255,255,.5); border-radius:6px; background:#fff; color:#0B3C6E; }
.pc-chg-up { color:#276749; font-weight:600; }
.pc-chg-down { color:#C05621; font-weight:600; }

/* SVG bar chart (store) */
.pc-svg-bar--light { fill:#c9d9ea; }
.pc-svg-vlabel { fill:#0B3C6E; font-size:11px; font-weight:700; }

/* Hero Shots library (store dashboard) */
.pc-banner-upload-form { display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; }
/* Upload row: label on its own line, then Choose Photo · file name · Upload. */
.pc-hero-upload { gap:.6rem; margin:.75rem 0 1.25rem; padding:1rem; border:1px dashed var(--pc-border,#E2E8F0); border-radius:10px; background:var(--pc-bg-soft,#F7FAFC); }
.pc-hero-upload .pc-banner-label { flex:1 1 100%; min-width:0; max-width:440px; }
.pc-hero-upload .pc-hero-break { flex-basis:100%; height:0; }
.pc-hero-upload .pc-hero-size-note { flex-basis:100%; margin:.15rem 0 0; font-size:.85rem; line-height:1.45; color:var(--pc-muted,#5B6B80); }
.pc-hero-pick { position:relative; gap:.45rem; color:var(--pc-primary,#1B6CA8); border-color:var(--pc-primary,#1B6CA8); background:#fff; }
.pc-hero-pick:hover { background:var(--pc-primary,#1B6CA8); color:#fff; }
.pc-hero-pick:focus-within { outline:3px solid var(--pc-accent,#E8623A); outline-offset:3px; }
.pc-hero-pick input[type=file] { position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; clip:rect(0 0 0 0); }
.pc-hero-pick svg { width:18px; height:18px; flex:none; }
.pc-hero-filename { flex:1 1 120px; min-width:0; color:var(--pc-text-muted,#718096); font-size:.9rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pc-hero-filename.has-file { color:var(--pc-text,#1A202C); font-weight:600; }
.pc-banner-card__actions .pc-btn { font-size:.82rem; padding:.35em .9em; }
/* Hero shots manager: display mode, captions, labelled cards (Store Dashboard + My Nonprofit). */
.pc-hero-opts { display:flex; flex-wrap:wrap; gap:.75rem 2rem; margin:.25rem 0 .5rem; }
.pc-hero-seg { border:0; margin:0; padding:0; display:grid; gap:.3rem; min-width:0; }
.pc-hero-seg legend { font-weight:700; font-size:.9rem; margin-bottom:.25rem; padding:0; }
.pc-hero-seg label { display:flex; gap:.45rem; align-items:center; font-size:.9rem; cursor:pointer; }
.pc-hero-settings[data-mode="still"] .pc-hero-only-rotate,
.pc-hero-settings[data-mode="rotate"] .pc-hero-only-still { display:none; }
.pc-hero-card img { height:auto; aspect-ratio:12/7; }
/* "Original banner photo" card: a crop of the banner's own centre photo. */
.pc-hero-thumb { width:100%; aspect-ratio:12/7; background-color:#14357e; background-repeat:no-repeat; background-size:auto 100%; background-position:50.2% 50%; }
.pc-hero-thumb--none { display:flex; align-items:center; justify-content:center; color:#fff; font-weight:600; font-size:.9rem; }
.pc-hero-builtin { color:#64748b; font-size:.78rem; font-style:italic; }
.pc-hero-share { margin-top:1.5rem; padding-top:1rem; border-top:1px solid var(--pc-line,#e2e8f0); }
.pc-hero-share h4 { margin:0 0 .25rem; font-size:1rem; }
.pc-hero-share .pc-save-result { margin-left:.6rem; font-weight:600; }
.pc-hero-card.is-active .pc-hero-main-pick { color:#1B6CA8; font-weight:700; }
.pc-hero-card__body { padding:.55rem .6rem .65rem; display:grid; gap:.45rem; }
.pc-hero-card__label { width:100%; min-width:0; font-size:.9rem !important; padding:.35rem .55rem !important; }
.pc-hero-card__row { display:flex; flex-wrap:wrap; gap:.4rem .8rem; align-items:center; justify-content:space-between; font-size:.85rem; }
.pc-hero-card__row label { display:flex; gap:.35rem; align-items:center; cursor:pointer; }
.pc-hero-card__row .pc-btn, .pc-hero-card__row .button { font-size:.8rem; padding:.25em .8em; min-height:0; line-height:1.6; }
.pc-hero-save { display:flex; gap:.75rem; align-items:center; flex-wrap:wrap; margin:1rem 0 0; }
/* wp-admin (My Nonprofit) frame */
.pc-hero-admin { background:#fff; border:1px solid #dcdcde; border-radius:8px; padding:20px 22px; margin-top:16px; max-width:1180px; }
.pc-hero-admin .pc-sdash__h3 { margin-top:0; font-size:1.2rem; }
.pc-hero-admin .pc-sdash__hint { color:#50575e; max-width:80ch; }
.pc-hero-admin .pc-hero-pick { display:inline-flex; align-items:center; gap:.4rem; position:relative; color:#2271b1; border-color:#2271b1; background:#fff; }
.pc-hero-admin .pc-hero-pick:hover { background:#2271b1; color:#fff; }
.pc-hero-admin .pc-hero-pick svg { width:16px; height:16px; }
.pc-banner-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:1rem; }
.pc-banner-card { border:1px solid var(--pc-line,#e2e8f0); border-radius:10px; overflow:hidden; background:#fff; }
.pc-banner-card.is-active { border-color:#1B6CA8; box-shadow:0 0 0 2px rgba(27,108,168,.25); }
.pc-banner-card img { width:100%; height:110px; object-fit:cover; display:block; background:#f0f4f8; }
.pc-banner-card__label { padding:.5rem .6rem; font-weight:600; font-size:.9rem; }
.pc-banner-card__actions { display:flex; gap:.4rem; padding:0 .6rem .6rem; flex-wrap:wrap; align-items:center; }
.pc-banner-active-tag { color:#1B6CA8; font-weight:700; font-size:.8rem; }
.pc-sdash__reportlinks { margin-top:1rem; display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; }

/* Store promotional banner on the storefront (under the black bar) */
.pc-chapter-banner-img { width:100%; height:auto; display:block; }

/* Finder-fee donation stat card */
.pc-sdash__stat--finder { border-top-color:#6B46C1; }

/* Open-a-Store manager fieldsets */
.pc-intake-mgr { border:1px solid var(--pc-line,#e2e8f0); border-radius:8px; padding:.75rem 1rem 1rem; margin:0 0 1rem; }
.pc-intake-mgr legend { font-weight:700; color:#0B3C6E; padding:0 .4rem; }

/* ─── Blended (buyer + seller) dashboard ─────────────────────────────── */
.pc-cdash__hero { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem;
  background:linear-gradient(90deg,#0B3C6E 0%,#1B6CA8 60%,#276749 100%); color:#fff;
  padding:.8rem 1.25rem; margin:0 0 1px; }
.pc-cdash__hero-text { display:flex; flex-direction:column; gap:.15rem; }
.pc-cdash__hero-text strong { font-size:1.05rem; font-weight:800; letter-spacing:.01em; }
.pc-cdash__hero-text span { font-size:.85rem; color:#dbe7f4; }
.pc-cdash__hero-tags { display:flex; gap:.4rem; flex-wrap:wrap; }
.pc-cdash__tag { background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.25);
  border-radius:999px; padding:.25rem .7rem; font-size:.82rem; font-weight:700; white-space:nowrap; }

.pc-sdash__navgroup { font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em;
  color:var(--pc-muted); padding:.85rem 1.1rem .3rem; }
.pc-sdash__navgroup:first-child { padding-top:.35rem; }
.pc-sdash__navlink--cta { color:var(--pc-green); font-weight:800; }
.pc-sdash__navlink--cta:hover { background:#e9f5ee; }

.pc-cdash__section-title { margin:.25rem 0 .8rem; font-size:1.15rem; color:var(--pc-navy);
  padding-bottom:.35rem; border-bottom:2px solid var(--pc-line); }
.pc-cdash__section-title--sell { margin-top:1.75rem; border-bottom-color:var(--pc-green); }

.pc-cdash__sellcta { border-top:4px solid var(--pc-green); background:#f3faf5; }
.pc-cdash__sellcta-list { margin:.5rem 0 1rem; padding-left:1.1rem; }
.pc-cdash__sellcta-list li { margin:.25rem 0; font-size:.9rem; color:#2d3748; }

/* ── Pre-fill (new-store seeding) panel on seller item cards ──────────────── */
.pc-prefill .pc-prefill-optout-label { display:flex; align-items:center; gap:.5rem; font-size:.9rem; margin:.4rem 0 .6rem; cursor:pointer; }
.pc-prefill-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.4rem; }
.pc-prefill-row { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; padding:.45rem .6rem; border:1px solid var(--pc-border,#E2E8F0); border-radius:8px; background:#fff; }
.pc-prefill-row.is-soon { border-color:#E8623A; background:#fff6f2; }
.pc-prefill-store { font-weight:600; }
.pc-prefill-exp { font-size:.82rem; color:var(--pc-text-muted,#718096); margin-right:auto; }
.pc-prefill-row.is-soon .pc-prefill-exp { color:#b3401f; font-weight:600; }
.pc-prefill-renew-btn { font-size:.8rem; padding:.2rem .7rem; }

/* ── Close account / store (danger zone, collapsible dropdown) ───────────── */
.pc-close-panel { border:1px solid #f0c2b8; border-left:4px solid #c0392b; background:#fff8f6; }
.pc-close-dd > .pc-close-summary {
  cursor:pointer; list-style:none; font-weight:700; color:#a5281b; font-size:1.02rem;
  display:flex; align-items:center; gap:.5rem;
}
.pc-close-dd > .pc-close-summary::-webkit-details-marker { display:none; }
.pc-close-dd > .pc-close-summary::before { content:'\25B8'; font-size:.8em; transition:transform .15s; }
.pc-close-dd[open] > .pc-close-summary::before { transform:rotate(90deg); }
.pc-close-dd__body { margin-top:.85rem; }
.pc-close-blocked { margin:.5rem 0 1rem; padding:.7rem .9rem; border-radius:8px; background:#fdecea; border:1px solid #f5c6cb; color:#8a1f16; font-size:.92rem; }
.pc-close-scheduled p { margin:.25rem 0; }
.pc-close-offer { margin:.4rem 0 0; padding:.5rem .7rem; border-radius:8px; background:#eef6ff; border:1px solid #cfe3fb; color:#1b4f8a; }
.pc-close-submit { background:#c0392b; border-color:#c0392b; color:#fff; }
.pc-close-submit:hover { background:#a5281b; border-color:#a5281b; }
.pc-close-submit:disabled { opacity:.55; cursor:not-allowed; }

/* ── Repost notice (a store you sell on is closing) ──────────────────────── */
.pc-repost-notice { margin:1rem clamp(1rem,3vw,2rem) 0; padding:1rem 1.15rem; border-radius:10px;
  background:#fff8e6; border:1px solid #f4d58a; border-left:4px solid #e0a416; }
.pc-repost-notice__title { margin:0 0 .25rem; color:#8a5a00; font-size:1.05rem; }
.pc-repost-notice__lead { margin:0 0 .75rem; font-size:.9rem; color:#6b5320; }
.pc-repost-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; }
.pc-repost-row { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap;
  padding:.55rem .7rem; background:#fff; border:1px solid #f0e2b8; border-radius:8px; }
.pc-repost-row__item { margin-right:auto; }
.pc-repost-row__from { display:block; font-size:.8rem; color:#8a7a4a; }
.pc-repost-store { max-width:240px; }
.pc-repost-btn { font-size:.85rem; padding:.3rem .9rem; }
.pc-repost-none { color:#8a7a4a; font-size:.85rem; }
