/**
 * tools-extra.css - Styles for the six new tools: option buttons,
 * position grid, crop stage, metadata grid. Depends on imganva-tools.css.
 */
.imganva-option-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--imganva-space-2);
  margin-bottom: var(--imganva-space-4);
}

.imganva-option-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--imganva-space-2);
  background: var(--imganva-surface-raised);
  border: 1px solid var(--imganva-border);
  color: var(--imganva-text);
  border-radius: var(--imganva-radius-sm);
  padding: var(--imganva-space-3) var(--imganva-space-4);
  font-size: var(--imganva-text-sm);
  font-weight: 600;
  cursor: pointer;
  transition: border-color var(--imganva-transition-fast),
    background var(--imganva-transition-fast);
  min-height: 44px;
}
.imganva-option-btn:hover {
  border-color: var(--imganva-purple);
  background: var(--imganva-surface-hover);
}
.imganva-option-btn:focus-visible { outline: none; box-shadow: var(--imganva-focus-ring); }
.imganva-option-btn.imganva-option-active {
  border-color: var(--imganva-purple);
  background: var(--imganva-purple);
  color: #ffffff;
}
.imganva-option-btn-icon {
  font-size: var(--imganva-text-base);
  line-height: 1;
}

/* Watermark position grid (3x3) */
.imganva-position-grid {
  display: grid;
  grid-template-columns: repeat(3, 32px);
  grid-template-rows: repeat(3, 32px);
  gap: var(--imganva-space-1);
  margin-bottom: var(--imganva-space-4);
  width: fit-content;
}
.imganva-position-cell {
  background: var(--imganva-surface-raised);
  border: 1px solid var(--imganva-border);
  border-radius: var(--imganva-radius-sm);
  cursor: pointer;
  transition: background var(--imganva-transition-fast),
    border-color var(--imganva-transition-fast);
}
.imganva-position-cell:hover { border-color: var(--imganva-purple); }
.imganva-position-cell.imganva-position-active {
  background: var(--imganva-purple);
  border-color: var(--imganva-purple);
}
.imganva-position-cell:focus-visible { outline: none; box-shadow: var(--imganva-focus-ring); }

/* Crop stage */
.imganva-crop-stage { position: relative; margin-bottom: var(--imganva-space-4); }
.imganva-crop-stage-inner {
  position: relative;
  display: inline-block;
  max-width: 100%;
  border: 1px dashed var(--imganva-border-strong);
  border-radius: var(--imganva-radius-md);
  overflow: hidden;
  line-height: 0;
  touch-action: none;
}
.imganva-crop-image {
  max-width: 100%;
  height: auto;
  display: block;
  user-select: none;
  -webkit-user-drag: none;
  transition: transform 150ms ease;
}
.imganva-crop-rect {
  position: absolute;
  border: 2px solid var(--imganva-cyan);
  background: rgba(80, 254, 254, 0.12);
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.45);
  cursor: crosshair;
  pointer-events: none;
}
.imganva-crop-hint {
  padding: var(--imganva-space-5);
  text-align: center;
  border: 1px dashed var(--imganva-border-strong);
  border-radius: var(--imganva-radius-md);
}

/* Metadata category grid */
.imganva-meta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--imganva-space-2) var(--imganva-space-4);
  margin-bottom: var(--imganva-space-4);
}

/* Canvas stage template */
.imganva-canvas-stage { position: relative; margin-bottom: var(--imganva-space-4); }
.imganva-canvas-placeholder {
  padding: var(--imganva-space-6);
  text-align: center;
  border: 1px dashed var(--imganva-border-strong);
  border-radius: var(--imganva-radius-md);
  color: var(--imganva-text-muted);
}
.imganva-canvas-placeholder-icon {
  font-size: var(--imganva-text-2xl);
  display: block;
  margin-bottom: var(--imganva-space-2);
}
.imganva-canvas {
  max-width: 100%;
  border-radius: var(--imganva-radius-md);
  display: block;
}

@media (max-width: 640px) {
  .imganva-meta-grid { grid-template-columns: 1fr; }
  .imganva-option-btn { flex: 1 1 100%; }
}
