/**
 * BannerCast - Shape Picker
 */

/* ================================
   SHAPE PICKER GRID
   ================================ */

.shape-picker {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-sm);
}

/* ================================
   SHAPE BUTTON
   ================================ */

.shape-btn {
  width: 56px;
  height: 40px;
  padding: 6px;
  background: var(--color-bg-secondary);
  border: var(--border-width-thick) solid var(--color-border);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all var(--transition-fast);
  display: flex;
  align-items: center;
  justify-content: center;
}

.shape-btn:hover {
  border-color: var(--color-primary);
  background: var(--color-bg-tertiary);
}

.shape-btn.active {
  border-color: var(--color-primary);
  background: var(--color-primary);
  box-shadow: var(--glow-primary);
}

.shape-btn svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
  color: var(--color-text-muted);
  transition: color var(--transition-fast);
}

.shape-btn:hover svg {
  color: var(--color-text);
}

.shape-btn.active svg {
  color: var(--color-text-inverse);
}

/* Focus visible state */
.shape-btn:focus {
  outline: none;
}

.shape-btn:focus-visible {
  outline: var(--focus-ring-width, 3px) solid var(--color-focus-ring, var(--color-primary));
  outline-offset: var(--focus-ring-offset, 2px);
}

/* ================================
   THEME PREVIEW DOT
   ================================ */

.theme-preview-dot {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  flex-shrink: 0;
}
