/**
 * Phase 11 — shared components (used across theme).
 */
.pc-section{ padding-top: var(--pc-section-y); padding-bottom: var(--pc-section-y); }
.pc-section--tight{ padding-top: var(--pc-s-8); padding-bottom: var(--pc-s-8); }

.pc-section__head{
  display: grid;
  gap: var(--pc-s-2);
  margin-bottom: var(--pc-s-8);
  max-width: 42rem;
}
.pc-section__title{
  margin: 0;
  font-size: var(--pc-text-2xl);
  line-height: var(--pc-leading-tight);
  letter-spacing: var(--pc-tracking-tight);
  font-weight: var(--pc-font-weight-heavy);
}
.pc-section__sub{
  margin: 0;
  color: var(--pc-muted);
  font-size: var(--pc-text-md);
  line-height: 1.6;
}
.pc-section__eyebrow{
  margin: 0;
  font-size: var(--pc-text-xs);
  font-weight: var(--pc-font-weight-heavy);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pc-text-tertiary);
}

.pc-panel{
  background: var(--pc-surface);
  border: 1px solid var(--pc-border);
  border-radius: var(--pc-radius-md);
  box-shadow: var(--pc-shadow-1);
}

.pc-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--pc-s-3);
  padding: 14px 22px;
  border-radius: var(--pc-radius-pill);
  text-decoration: none;
  font-weight: var(--pc-font-weight-heavy);
  letter-spacing: var(--pc-tracking-label);
  border: 1px solid var(--pc-border);
  background: var(--pc-surface);
  color: var(--pc-fg);
  cursor: pointer;
  font-family: inherit;
  font-size: var(--pc-text-sm);
  transition: filter 0.15s ease, background 0.15s ease;
}
.pc-btn:hover{ filter: brightness(0.99); }
.pc-btn:focus-visible{ outline: none; box-shadow: var(--pc-focus-ring); }
.pc-btn--primary{
  background: var(--pc-fg);
  border-color: var(--pc-fg);
  color: #fff;
}
.pc-btn--secondary{
  background: transparent;
  border-color: var(--pc-fg);
  color: var(--pc-fg);
}
.pc-btn--ghost{
  background: transparent;
  border-color: var(--pc-border);
  color: var(--pc-fg);
}

.pc-input, .pc-select{
  width: 100%;
  border: 1px solid var(--pc-border);
  border-radius: var(--pc-radius-lg);
  padding: 12px 14px;
  background: var(--pc-surface-2);
  font-family: inherit;
  font-size: var(--pc-text-md);
}
.pc-input:focus, .pc-select:focus{
  outline: none;
  border-color: var(--pc-accent-focus);
  box-shadow: var(--pc-focus-ring);
}

.pc-badge{
  display: inline-flex;
  padding: 4px 10px;
  border-radius: var(--pc-radius-pill);
  font-size: var(--pc-text-xs);
  font-weight: var(--pc-font-weight-heavy);
  border: 1px solid var(--pc-border);
  background: var(--pc-surface-2);
}

.pc-chip{
  display: inline-flex;
  padding: 8px 12px;
  border-radius: var(--pc-radius-pill);
  border: 1px solid var(--pc-border);
  font-size: var(--pc-text-sm);
  font-weight: var(--pc-font-weight-semibold);
}

.pc-text-lead{
  font-size: var(--pc-text-lg);
  color: var(--pc-text-secondary);
  line-height: 1.65;
  margin: 0;
}
